예제 #1
0
        //проверка введенных данных и переход на главную страницу
        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();
                }
            }
        }
예제 #2
0
 //удаление выбранной двери
 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}");
     }
 }
예제 #3
0
        //удаление экземпляра двери
        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;
            }
        }
예제 #4
0
        public MainWindow()
        {
            InitializeComponent();
            MainFrame.Navigate(Pages.LogIn);
            var changes = new ChangesHistory();

            changes.SaveHistory($"Приложение запущено");
        }
예제 #5
0
        //добавление нового магазина
        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);
        }
예제 #6
0
        //удаление магазина
        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;
            }
        }
예제 #7
0
        //добавление нового экземпляра двери
        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();
        }
예제 #8
0
        //сохранение изменения информации о двери
        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);
            }
        }
예제 #9
0
        //сохранение изменения информации о магазине
        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);
            }
        }