using PP_Ven_MosS.Classes;
using PP_Ven_MosS.ModelBase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
namespace PP_Ven_MosS.Pages
{
///
/// Логика взаимодействия для MenuAdmin.xaml
///
public partial class MenuAdmin
{
User user = new User();
private string evtype;
public string EventType
{
get { return evtype; }
set { evtype = value; }
}
private string apptype;
public string ApplicType
{
get { return apptype; }
set { apptype = value; }
}
private string employee;
public string Employee
{
get { return employee; }
set { employee = value; }
}
private void CBEmpl_Loaded(object sender, RoutedEventArgs e)
{
ComboBox cb = (ComboBox)sender;
cb.ItemsSource = DB.User.ToList().Where(x => x.Id_role == 2);
cb.DisplayMemberPath = "Surname";
cb.SelectedValuePath = "Id_user";
int appId = int.Parse(cb.Uid);
Applications ap = DB.Applications.FirstOrDefault(x => x.Id_application == appId);
if (ap.Id_employee != null)
{
cb.SelectedValue = Convert.ToInt32(ap.Id_employee);
EmployeeID.employeeid = Convert.ToInt32(cb.SelectedValue);
}
}
private void Report_Click(object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
Event evn = DB.Event.FirstOrDefault(x => x.Id_event.ToString() == btn.Uid);
if (evn != null)
FrameClass.MainFrame.Navigate(new ReportForEvent(evn));
}
private void CBEmpl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
PP_MininEntities DB = new PP_MininEntities();
ComboBox cb = (ComboBox)sender;
cb.DisplayMemberPath = "Surname";
cb.SelectedValuePath = "Id_user";
if (cb.Uid != null)
{
int appId = int.Parse(cb.Uid);
Applications ap = DB.Applications.FirstOrDefault(x => x.Id_application == appId);
if (cb.SelectedItem != null)
{
if (ap != null)
{
ap.Id_employee = Convert.ToInt32(cb.SelectedValue);
DB.SaveChanges();
}
}
}
}
private void Users_Click(object sender, RoutedEventArgs e)
{
FrameClass.MainFrame.Navigate(new Acount());
}
private void Otchet_Click(object sender, RoutedEventArgs e)
{
FrameClass.MainFrame.Navigate(new Diagram());
}
private void DeleteBtn_Click(object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
Event evn = Database.entities.Event.FirstOrDefault(x => x.Id_event.ToString() == btn.Uid);
MessageBoxResult mr = MessageBox.Show("Точно ли вы хотите удалить эту запись?", "Удаление", MessageBoxButton.YesNo, MessageBoxImage.Question);
switch (mr)
{
case MessageBoxResult.Yes:
Database.entities.Event.Remove(evn);
Database.entities.SaveChanges(); break;
case MessageBoxResult.No:
break;
}
EventList.ItemsSource = Database.entities.Event.ToList();
}
private void rep_Click(object sender, RoutedEventArgs e)
{
FrameClass.MainFrame.Navigate(new CheckReport());
}
}
public partial class MenuAdmin : Page
{
PP_MininEntities DB = new PP_MininEntities();
int id;
public MenuAdmin()
{
InitializeComponent();
ApplicationList.ItemsSource = DB.Applications.ToList();
Applications appl = DB.Applications.Where(x => x.Id_status_app == id).FirstOrDefault();
CB_Filter_app.ItemsSource = new List { "Фильтр по статусу", "Выполнен", "Не выполнен" };
CB_Sort_app.ItemsSource = new List() { "Фильтр по дате", "Не сегодня", "Сегодня" };
CB_Sort_app.SelectedIndex = 0;
CB_Filter_app.SelectedIndex = 0;
EventList.ItemsSource = DB.Event.ToList();
Event evnt = DB.Event.Where(x => x.Id_event == id).FirstOrDefault();
CB_Filter_event.ItemsSource = new List() { "Фильтр по статусу", "Проведено", "Не проведено" };
CB_Sort_event.ItemsSource = new List() { "Фильтр по дате", "Не сегодня", "Сегодня" };
CB_Sort_event.SelectedIndex = 0;
CB_Filter_event.SelectedIndex = 0;
}
public MenuAdmin(int id)
{
InitializeComponent();
ApplicationList.ItemsSource = DB.Applications.ToList();
Applications appl = DB.Applications.Where(x => x.Id_application == id).FirstOrDefault();
CB_Filter_app.ItemsSource = DB.Applications.ToList();
CB_Sort_app.ItemsSource = DB.Applications.ToList();
CB_Sort_app.SelectedIndex = 0;
CB_Filter_app.SelectedIndex = 0;
this.id = id;
EventList.ItemsSource = DB.Event.ToList();
Event evnt = DB.Event.Where(x => x.Id_event == id).FirstOrDefault();
CB_Filter_event.ItemsSource = new List();
CB_Sort_event.ItemsSource = new List();
CB_Sort_event.SelectedIndex = 0;
CB_Filter_event.SelectedIndex = 0;
this.id = id;
}
private void Filter()
{
List applications = DB.Applications.ToList();
if (CB_Sort_app.SelectedIndex != 0)
{
switch (CB_Sort_app.SelectedIndex)
{
case 1:
applications = applications.Where(x => x.Date_app < DateTime.Today).OrderBy(x => x.Date_app).ToList();
break;
case 2:
applications = applications.Where(x => x.Date_app == DateTime.Today).OrderBy(x => x.Date_app).ToList();
break;
}
}
if (CB_Filter_app.SelectedIndex != 0)
{
switch (CB_Filter_app.SelectedIndex)
{
case 1:
applications = applications.Where(x => x.Id_status_app == 1).ToList();
break;
case 2:
applications = applications.Where(x => x.Id_status_app == 2).ToList();
break;
}
}
if (!string.IsNullOrEmpty(TB_Search_app.Text))
{
applications = applications.Where(x => x.Description.ToUpper().Contains(TB_Search_app.Text.ToUpper())).ToList();
}
ApplicationList.ItemsSource = applications;
//Мероприятия
List events = DB.Event.ToList();
if (CB_Sort_event.SelectedIndex != 0)
{
switch (CB_Sort_event.SelectedIndex)
{
case 1:
events = events.Where(x => x.Date_event < DateTime.Today).OrderBy(x => x.Date_event).ToList();
break;
case 2:
events = events.Where(x => x.Date_event == DateTime.Today).OrderBy(x => x.Date_event).ToList();
break;
}
}
if (CB_Filter_event.SelectedIndex != 0)
{
switch (CB_Filter_event.SelectedIndex)
{
case 1:
events = events.Where(x => x.Id_status_event == 1).ToList();
break;
case 2:
events = events.Where(x => x.Id_status_event == 2).ToList();
break;
}
}
if (!string.IsNullOrEmpty(TB_Search_event.Text))
{
events = events.Where(x => x.Title_event.ToUpper().Contains(TB_Search_event.Text.ToUpper())).ToList();
}
EventList.ItemsSource = events;
}
private void SortFilterChanged(object sender, SelectionChangedEventArgs e)
{
Filter();
}
private void SearchChanged(object sender, TextChangedEventArgs e)
{
Filter();
}
private void TB_Search_event_TextChanged(object sender, TextChangedEventArgs e)
{
Filter();
}
private void CB_Sort_event_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Filter();
}
private void CB_Filter_event_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Filter();
}
private void Exit_Click(object sender, RoutedEventArgs e)
{
FrameClass.MainFrame.Navigate(new Avtorization());
}
private void Profile_Click(object sender, RoutedEventArgs e)
{
FrameClass.MainFrame.Navigate(new Profile(user));
}
}
}