using AutoServiceVika.Entites; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace AutoServiceVika.Pages { /// /// Логика взаимодействия для ServicePage.xaml /// public partial class ServicePage : Page { public ServicePage() { InitializeComponent(); if(App.CurrentUser.Role_ID == 1) { btnAddNewService.Visibility = Visibility.Visible; } else { btnAddNewService.Visibility = Visibility.Collapsed; } ComboDiscount.SelectedIndex = 0; ComboSortBy.SelectedIndex = 0; UpdateService(); } private void UpdateService() { var services = App.context.Service.ToList(); if (ComboSortBy.SelectedIndex == 0) { services = services.OrderBy(i => i.CostWithDiscount).ToList(); } else { services = services.OrderByDescending(i => i.CostWithDiscount).ToList(); } //По скидке switch (ComboDiscount.SelectedIndex) { case 1: services = services.Where(i => i.Discount >= 0 && i.Discount < 0.05).ToList(); break; case 2: services = services.Where(i => i.Discount >= 0.05 && i.Discount < 0.15).ToList(); break; case 3: services = services.Where(i => i.Discount >= 0.15 && i.Discount < 0.30).ToList(); break; case 4: services = services.Where(i => i.Discount >= 0.30 && i.Discount < 0.70).ToList(); break; case 5: services = services.Where(i => i.Discount >= 0.70 && i.Discount <= 1).ToList(); break; } //По тексту services = services.Where(i => i.Title.ToLower().Contains(tbSearch.Text.ToLower())).ToList(); lvSevice.ItemsSource = services; } private void ComboSortBy_SelectionChanged(object sender, SelectionChangedEventArgs e) { UpdateService(); } private void ComboDiscount_SelectionChanged(object sender, SelectionChangedEventArgs e) { UpdateService(); } private void tbSearch_TextChanged(object sender, TextChangedEventArgs e) { UpdateService(); } private void Page_Loaded(object sender, RoutedEventArgs e) { UpdateService(); } private void btnAddNewService_Click(object sender, RoutedEventArgs e) { App.MainFrame.Navigate(new AddEditPage()); } private void btnEdit_Click(object sender, RoutedEventArgs e) { var currentSerivce = (sender as Button).DataContext as Service; App.MainFrame.Navigate(new AddEditPage(currentSerivce)); } private void btnRemove_Click(object sender, RoutedEventArgs e) { var currentService = (sender as Button).DataContext as Service; if (MessageBox.Show($"Вы уверены, что хотите удалить услугу {currentService.Title}?", "Внимание", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { App.context.Service.Remove(currentService); App.context.SaveChanges(); UpdateService(); } } } }