//проверка введенных данных и переход на главную страницу private void loginButton_Click(object sender, RoutedEventArgs e) { if (logins.Count == 0) { MessageBox.Show("Данные о пользователях отсутствуют, возможен только гостевой вход", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } else { foreach (var item in logins) { if ((item.LoginName == loginTextBox.Text) && HashFunction(passwordBox.Password) == item.LoginPassword) { c++; userName = item.LoginName; } } if (c > 0) { c = 0; NavigationService.Navigate(Pages.MainPage); Pages.MainPage.DoorPageButton.Visibility = Visibility.Visible; Pages.MainPage.ShopPageButton.Visibility = Visibility.Visible; Pages.MainPage.loginAccount.Text = userName; Pages.DoorPage.loginAccount.Text = userName; Pages.ShopPage.loginAccount.Text = userName; Pages.DoorAssortment.loginAccount.Text = userName; Pages.ShopCatalog.loginAccount.Text = userName; Pages.DoorPage.AddNewDoor.IsEnabled = true; Pages.DoorPage.EditOrDeleteFromCatalog.IsEnabled = true; Pages.ShopPage.AddNewShop.IsEnabled = true; Pages.ShopPage.EditOrDeleteShops.IsEnabled = true; Pages.DoorAssortment.PurchasePrice.Visibility = Visibility.Visible; Pages.DoorAssortment.PurchasePriceBox.Visibility = Visibility.Visible; Pages.MainPage.loginToolboxButton.Visibility = Visibility.Hidden; Pages.DoorPage.loginToolboxButton.Visibility = Visibility.Hidden; Pages.ShopPage.loginToolboxButton.Visibility = Visibility.Hidden; Pages.DoorAssortment.loginToolboxButton.Visibility = Visibility.Hidden; Pages.ShopCatalog.loginToolboxButton.Visibility = Visibility.Hidden; Pages.DoorPage.AddToolTip.Visibility = Visibility.Hidden; Pages.DoorPage.EditToolTip.Visibility = Visibility.Hidden; Pages.ShopPage.AddToolTip.Visibility = Visibility.Hidden; Pages.ShopPage.EditToolTip.Visibility = Visibility.Hidden; changes.SaveHistory($"Выполнен вход, пользователь: {userName}"); } else { MessageBox.Show("Данные некорректны", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); passwordBox.Clear(); passwordBox.Focus(); } } }
//удаление выбранной двери private void ContainedVandors_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (ContainedVandors.SelectedIndex != -1) { string removedVandor = chosenShop.VandorCodeList[ContainedVandors.SelectedIndex]; chosenShop.VandorCodeList.Remove(removedVandor); otherVandors.Add(removedVandor); ContainedVandors.ItemsSource = null; ContainedVandors.ItemsSource = chosenShop.VandorCodeList; NewVandors.ItemsSource = null; NewVandors.ItemsSource = otherVandors; changes.SaveHistory($"Из магазина по адресу {chosenShop.Address} удалена дверь {removedVandor}"); } }
//удаление экземпляра двери private void DeleteDoor_Click(object sender, RoutedEventArgs e) { MessageBoxResult mbResult = MessageBox.Show("Удалить дверь?", "Подтверждение", MessageBoxButton.OKCancel, MessageBoxImage.Question); if (mbResult == MessageBoxResult.OK) { List <Door> tempList = doorList; foreach (var shop in shopList) { if (shop.VandorCodeList.Contains(tempList[DoorListView.SelectedIndex].VandorCode)) { shop.VandorCodeList.Remove(tempList[DoorListView.SelectedIndex].VandorCode); } } changes.SaveHistory($"Удалена дверь: {tempList[DoorListView.SelectedIndex].VandorCode}"); tempList.Remove(tempList[DoorListView.SelectedIndex]); SaveData(tempList); SaveShopData(shopList); doorList = LoadData(); DoorListView.ItemsSource = null; DoorListView.ItemsSource = doorList; } }
public MainWindow() { InitializeComponent(); MainFrame.Navigate(Pages.LogIn); var changes = new ChangesHistory(); changes.SaveHistory($"Приложение запущено"); }
//добавление нового магазина private void NewShopConfirm_Click(object sender, RoutedEventArgs e) { shopList = LoadData(); List <string> vandorCode = new List <string>(); double newTradeArea; double newStorageArea; if (string.IsNullOrWhiteSpace(NewAddressBox.Text)) { Pages.AddNewShop.NewAddressBox.Text = ""; MessageBox.Show("Введите адрес", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewAddressBox.Focus(); return; } if (!double.TryParse(NewTradeAreaBox.Text, out newTradeArea) || string.IsNullOrWhiteSpace(NewTradeAreaBox.Text)) { Pages.AddNewShop.NewTradeAreaBox.Text = ""; MessageBox.Show("Некорретное значение площади", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewTradeAreaBox.Focus(); return; } if (!double.TryParse(NewStorageAreaBox.Text, out newStorageArea) || string.IsNullOrWhiteSpace(NewStorageAreaBox.Text)) { Pages.AddNewShop.NewStorageAreaBox.Text = ""; MessageBox.Show("Некорретное значение площади", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewStorageAreaBox.Focus(); return; } if (string.IsNullOrWhiteSpace(NewDirectorBox.Text)) { Pages.AddNewShop.NewDirectorBox.Text = ""; MessageBox.Show("Введите имя директора", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewDirectorBox.Focus(); return; } shopList.Add(new Shop(NewAddressBox.Text, newTradeArea, newStorageArea, NewDirectorBox.Text, vandorCode)); changes.SaveHistory($"Добавлен магазин по адресу: {NewAddressBox.Text}"); MessageBox.Show("Магазин успешно добавлен", "Подтверждение", MessageBoxButton.OK, MessageBoxImage.Information); Pages.AddNewShop.NewAddressBox.Text = ""; Pages.AddNewShop.NewDirectorBox.Text = ""; Pages.AddNewShop.NewStorageAreaBox.Text = ""; Pages.AddNewShop.NewTradeAreaBox.Text = ""; NewAddressBox.Focus(); SaveData(shopList); }
//удаление магазина private void DeleteShop_Click(object sender, RoutedEventArgs e) { MessageBoxResult mbResult = MessageBox.Show("Удалить магазин?", "Подтверждение", MessageBoxButton.OKCancel, MessageBoxImage.Question); if (mbResult == MessageBoxResult.OK) { List <Shop> tempList = shopList; changes.SaveHistory($"Удален магазин по адресу: {tempList[ShopListBox.SelectedIndex].Address}"); tempList.Remove(tempList[ShopListBox.SelectedIndex]); SaveData(tempList); shopList = LoadData(); ShopListBox.ItemsSource = null; ShopListBox.ItemsSource = shopList; } }
//добавление нового экземпляра двери private void NewDoorConfirm_Click(object sender, RoutedEventArgs e) { doorList = LoadData(); double newHeight; double newWidth; double newThickness; double newSalePrice; double newPurchasePrice; List <string> existingVandorCodes = new List <string>(); foreach (var door in doorList) { existingVandorCodes.Add(door.VandorCode); } if (string.IsNullOrWhiteSpace(NewVandorCodeBox.Text)) { Pages.AddNewDoor.NewVandorCodeBox.Text = ""; MessageBox.Show("Введите артикул", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewVandorCodeBox.Focus(); return; } if (existingVandorCodes.Contains(NewVandorCodeBox.Text)) { Pages.AddNewDoor.NewVandorCodeBox.Text = ""; MessageBox.Show("Дверь с заданным артикулом уже существует", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewVandorCodeBox.Focus(); return; } if (!double.TryParse(NewHeightBox.Text, out newHeight) || string.IsNullOrWhiteSpace(NewHeightBox.Text)) { Pages.AddNewDoor.NewHeightBox.Text = ""; MessageBox.Show("Некорретное значение высоты", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewHeightBox.Focus(); return; } if (!double.TryParse(NewWidthBox.Text, out newWidth) || string.IsNullOrWhiteSpace(NewWidthBox.Text)) { Pages.AddNewDoor.NewWidthBox.Text = ""; MessageBox.Show("Некорретное значение ширины", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewWidthBox.Focus(); return; } if (!double.TryParse(NewThicknessBox.Text, out newThickness) || string.IsNullOrWhiteSpace(NewThicknessBox.Text)) { Pages.AddNewDoor.NewThicknessBox.Text = ""; MessageBox.Show("Некорретное значение толщины", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewThicknessBox.Focus(); return; } if (NewEnterOrRoomBox.SelectedIndex == -1) { MessageBox.Show("Выберите тип двери", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (NewGlassBox.SelectedIndex == -1) { MessageBox.Show("Выберите тип двери", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (string.IsNullOrWhiteSpace(NewColorBox.Text)) { Pages.AddNewDoor.NewColorBox.Text = ""; MessageBox.Show("Введите цвет", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewColorBox.Focus(); return; } if (!double.TryParse(NewSalePriceBox.Text, out newSalePrice) || string.IsNullOrWhiteSpace(NewSalePriceBox.Text)) { Pages.AddNewDoor.NewSalePriceBox.Text = ""; MessageBox.Show("Некорретное значение цены", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewSalePriceBox.Focus(); return; } if (!double.TryParse(NewPurchasePrice.Text, out newPurchasePrice) || string.IsNullOrWhiteSpace(NewPurchasePrice.Text)) { Pages.AddNewDoor.NewPurchasePrice.Text = ""; MessageBox.Show("Некорретное значение цены", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); NewPurchasePrice.Focus(); return; } doorList.Add(new Door(NewVandorCodeBox.Text, newHeight, newWidth, newThickness, NewEnterOrRoomBox.Text, NewGlassBox.Text, NewColorBox.Text, newSalePrice, newPurchasePrice)); changes.SaveHistory($"Добавлена дверь: {NewVandorCodeBox.Text}"); SaveData(doorList); existingVandorCodes = null; MessageBox.Show("Товар успешно добавлен", "Подтверждение", MessageBoxButton.OK, MessageBoxImage.Information); Pages.AddNewDoor.NewVandorCodeBox.Text = ""; Pages.AddNewDoor.NewHeightBox.Text = ""; Pages.AddNewDoor.NewWidthBox.Text = ""; Pages.AddNewDoor.NewThicknessBox.Text = ""; Pages.AddNewDoor.NewEnterOrRoomBox.SelectedIndex = -1; Pages.AddNewDoor.NewGlassBox.SelectedIndex = -1; Pages.AddNewDoor.NewColorBox.Text = ""; Pages.AddNewDoor.NewSalePriceBox.Text = ""; Pages.AddNewDoor.NewPurchasePrice.Text = ""; NewVandorCodeBox.Focus(); }
//сохранение изменения информации о двери private void EditDoorConfirm_Click(object sender, RoutedEventArgs e) { MessageBoxResult mbResult = MessageBox.Show("Сохранить изменения?", "Подтверждение", MessageBoxButton.OKCancel, MessageBoxImage.Question); if (mbResult == MessageBoxResult.OK) { doorList = LoadData(); double editHeight; double editWidth; double editThickness; double editSalePrice; double editPurchasePrice; if (!double.TryParse(EditHeightBox.Text, out editHeight) || string.IsNullOrWhiteSpace(EditHeightBox.Text)) { Pages.EditDoor.EditHeightBox.Text = ""; MessageBox.Show("Некорретное значение высоты", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); EditHeightBox.Focus(); return; } if (!double.TryParse(EditWidthBox.Text, out editWidth) || string.IsNullOrWhiteSpace(EditWidthBox.Text)) { Pages.EditDoor.EditWidthBox.Text = ""; MessageBox.Show("Некорретное значение ширины", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); EditWidthBox.Focus(); return; } if (!double.TryParse(EditThicknessBox.Text, out editThickness) || string.IsNullOrWhiteSpace(EditThicknessBox.Text)) { Pages.EditDoor.EditThicknessBox.Text = ""; MessageBox.Show("Некорретное значение толщины", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); EditThicknessBox.Focus(); return; } if (EditEnterOrRoomBox.SelectedIndex == -1) { MessageBox.Show("Выберите тип двери", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (EditGlassBox.SelectedIndex == -1) { MessageBox.Show("Выберите тип двери", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (string.IsNullOrWhiteSpace(EditColorBox.Text)) { Pages.EditDoor.EditColorBox.Text = ""; MessageBox.Show("Введите цвет", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); EditColorBox.Focus(); return; } if (!double.TryParse(EditSalePriceBox.Text, out editSalePrice) || string.IsNullOrWhiteSpace(EditSalePriceBox.Text)) { Pages.EditDoor.EditSalePriceBox.Text = ""; MessageBox.Show("Некорретное значение цены", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); EditSalePriceBox.Focus(); return; } if (!double.TryParse(EditPurchasePrice.Text, out editPurchasePrice) || string.IsNullOrWhiteSpace(EditPurchasePrice.Text)) { Pages.EditDoor.EditPurchasePrice.Text = ""; MessageBox.Show("Некорретное значение цены", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); EditPurchasePrice.Focus(); return; } foreach (var door in doorList) { if (door.VandorCode == EditVandorCodeBox.Text) { door.DoorHeight = editHeight; door.DoorWidth = editWidth; door.DoorThickness = editThickness; door.DoorColor = EditColorBox.Text; door.EnterOrRoom = EditEnterOrRoomBox.Text; door.Glass = EditGlassBox.Text; door.SalePrice = editSalePrice; door.PurchasePrice = editPurchasePrice; } } changes.SaveHistory($"Отредактирована информация о двери: {EditVandorCodeBox.Text}"); Pages.DoorAssortment.SearchTextBox.Text = "поиск..."; Pages.DoorAssortment.SearchTextBox.Foreground.Opacity = 0.5; SaveData(doorList); NavigationService.Navigate(Pages.DoorAssortment); } }
//сохранение изменения информации о магазине private void EditShopConfirm_Click(object sender, RoutedEventArgs e) { shopList = LoadData(); MessageBoxResult mbResult = MessageBox.Show("Сохранить изменения?", "Подтверждение", MessageBoxButton.OKCancel, MessageBoxImage.Question); if (mbResult == MessageBoxResult.OK) { shopList = LoadData(); List <string> vandorCode = new List <string>(); double editTradeArea; double editStorageArea; if (!double.TryParse(EditTradeAreaBox.Text, out editTradeArea) || string.IsNullOrWhiteSpace(EditTradeAreaBox.Text)) { Pages.EditShop.EditTradeAreaBox.Text = ""; MessageBox.Show("Некорретное значение площади", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); EditTradeAreaBox.Focus(); return; } if (!double.TryParse(EditStorageAreaBox.Text, out editStorageArea) || string.IsNullOrWhiteSpace(EditStorageAreaBox.Text)) { Pages.EditShop.EditStorageAreaBox.Text = ""; MessageBox.Show("Некорретное значение площади", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); EditStorageAreaBox.Focus(); return; } if (string.IsNullOrWhiteSpace(EditDirectorBox.Text)) { Pages.EditShop.EditDirectorBox.Text = ""; MessageBox.Show("Введите имя директора", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); EditDirectorBox.Focus(); return; } Shop newShop = new Shop("", 0, 0, "", new List <string>()); if (chosenShop.VandorCodeList == null || chosenShop.VandorCodeList.Count == 0) { newShop.VandorCodeList = new List <string>(); } else { newShop.VandorCodeList = chosenShop.VandorCodeList; } newShop.Address = EditAddressBox.Text; newShop.Director = EditDirectorBox.Text; newShop.StorageArea = editStorageArea; newShop.TradeArea = editTradeArea; Shop shopToEdit = null; foreach (var shop in shopList) { if ((shop.Address == chosenShop.Address) && (shop.StorageArea == chosenShop.StorageArea) && (shop.TradeArea == chosenShop.TradeArea) && (shop.Director == chosenShop.Director)) { shopToEdit = shop; } } if (shopToEdit != null) { shopList.Remove(shopToEdit); } shopList.Add(newShop); changes.SaveHistory($"Отредактирована информация о магазине по адресу: {chosenShop.Address}"); SaveData(shopList); NavigationService.Navigate(Pages.ShopCatalog); } }