Example #1
0
        private void DeleteItemButton_Click(object sender, RoutedEventArgs e)
        {
            using (db = new DatabaseEntities())
            {
                Employees selectedEmployee = EmployeesDataGrid.SelectedItem as Employees;

                var EmployeeItem = db.Employees.Where(x => x.Id == selectedEmployee.Id).FirstOrDefault();

                StaffItems deleteItem = new StaffItems();

                var staffDeleteItem = db.StaffItems.Where(x => x.FK_ResponsibleEmployee == selectedEmployee.Name);

                foreach (var item in staffDeleteItem)
                {
                    if (item.FK_ResponsibleEmployee == EmployeeItem.Name)
                    {
                        item.FK_ResponsibleEmployee = null;
                    }
                }
                db.Employees.Remove(EmployeeItem);
                db.Entry(EmployeeItem).State = EntityState.Deleted;
                db.SaveChanges();

                FillDataGrid();
            }
        }
Example #2
0
        private void DeleteItemButton_Click(object sender, RoutedEventArgs e)
        {
            using (db = new DatabaseEntities())
            {
                Categories selectedItem = CategoriesDataGrid.SelectedItem as Categories;

                var deletedCategory = db.Categories.Where(x => x.Id == selectedItem.Id).FirstOrDefault();

                StaffItems deleteItem = new StaffItems();

                var staffDeleteItem = db.StaffItems.Where(x => x.FK_Category == selectedItem.Name);

                foreach (var item in staffDeleteItem)
                {
                    if (item.FK_Category == deletedCategory.Name)
                    {
                        item.FK_Category = null;
                    }
                }
                db.Categories.Remove(deletedCategory);
                db.Entry(deletedCategory).State = EntityState.Deleted;
                db.SaveChanges();

                FillDataGrid();
            }
        }
Example #3
0
        //QR-Code
        private void GetQRCode(object sender, RoutedEventArgs e)
        {
            if (MainDataGrid.SelectedCells.Count == 9)
            {
                try
                {
                    using (db = new DatabaseEntities())
                    {
                        StaffItems rowView = MainDataGrid.SelectedItem as StaffItems;
                        //id выделенной строки


                        StaffItems ItemForWhomGeneratedQR = new StaffItems();
                        ItemForWhomGeneratedQR = db.StaffItems.Where(x => x.Id == rowView.Id).FirstOrDefault();

                        QRCodeGenerator       qrGenerator = new QRCodeGenerator();
                        QRCodeData            qrCodeData  = qrGenerator.CreateQrCode($" №: {ItemForWhomGeneratedQR.Id} | Наименование: {ItemForWhomGeneratedQR.ItemName} | Дата Привоза: {ItemForWhomGeneratedQR.ArrivalData}", QRCodeGenerator.ECCLevel.Q);
                        QRCode                qrCode      = new QRCode(qrCodeData);
                        System.Drawing.Bitmap qrCodeImage = qrCode.GetGraphic(150);

                        using (MemoryStream memory = new MemoryStream())
                        {
                            qrCodeImage.Save(memory, System.Drawing.Imaging.ImageFormat.Bmp);
                            memory.Position = 0;
                            SaveFileDialog fldlg = new SaveFileDialog();
                            fldlg.InitialDirectory = Environment.SpecialFolder.MyPictures.ToString();
                            fldlg.Filter           = "Image File (*.jpg;*.bmp;*.gif)|*.jpg;*.bmp;*.gif";
                            fldlg.FileName         = ItemForWhomGeneratedQR.ItemName;
                            fldlg.ShowDialog();
                            {
                                string imagePath = fldlg.FileName;

                                if (imagePath != "")
                                {
                                    System.Drawing.Image img = System.Drawing.Image.FromStream(memory);
                                    img.Save(imagePath, System.Drawing.Imaging.ImageFormat.Png);
                                }
                            }
                        }
                    }
                }
                catch (Exception exteption)
                {
                    MessageBox.Show($"Информация об ошибке: {exteption.Message}", "Произошла ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }

            if (MainDataGrid.SelectedCells.Count < 9)
            {
                MessageBox.Show($"Вы не выделили ни одного элемента. Нажмите на элемент и попробуйте снова.", "Выделите элемент", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
Example #4
0
        private void DeleteItemButton_Click(object sender, RoutedEventArgs e)
        {
            using (db = new DatabaseEntities())
            {
                StaffItems selectedItem = MainDataGrid.SelectedItem as StaffItems;

                var item = db.StaffItems.Where(x => x.Id == selectedItem.Id).FirstOrDefault();
                db.StaffItems.Remove(item);
                db.Entry(item).State = EntityState.Deleted;
                db.SaveChanges();

                FillDataGrid();
            }
        }
Example #5
0
        private void AddNewItemsButton_Click(object sender, RoutedEventArgs e)
        {
            if (ButtonAdd.IsEnabled == true)
            {
                using (db = new DatabaseEntities())
                {
                    StaffItems AddItem = new StaffItems();

                    //Название
                    AddItem.ItemName = textBoxStaffItemsName.Text.ToString();

                    //Кол-во
                    bool ammountIsParsed = int.TryParse(textBoxItemsAmmount.Text, out int _ammount);
                    if (!ammountIsParsed)
                    {
                        AddItem.Ammount = null;
                    }
                    else
                    {
                        AddItem.Ammount = _ammount;
                    }

                    //Цена
                    bool priceIsParsed = int.TryParse(textBoxItemsPrice.Text, out int _price);
                    if (!priceIsParsed)
                    {
                        AddItem.Price = null;
                    }
                    else
                    {
                        AddItem.Price = _price;
                    }

                    //Дата привоза
                    AddItem.ArrivalData = textBoxItemsArrivalData.Text;

                    //Период хранения (число)
                    bool lifeTimeIsParsed = int.TryParse(textBoxItemsPeriodOfStorage.Text, out int _lifeTime);
                    if (!lifeTimeIsParsed)
                    {
                        AddItem.PeriodOfStorage = null;
                    }
                    else
                    {
                        AddItem.PeriodOfStorage = _lifeTime;
                    }

                    //Категория
                    if (ComboBoxItemsCategory.Text != "")
                    {
                        Categories category = db.Categories.Where(x => x.Name == ComboBoxItemsCategory.Text).FirstOrDefault();
                        if (category != null)
                        {
                            AddItem.FK_Category = category.Name;
                        }
                    }

                    else
                    {
                        AddItem.FK_Category = null;
                    }

                    //Обновление срока службы (дата списания)
                    if (textBoxItemsArrivalData.Text != "")
                    {
                        if (textBoxItemsPeriodOfStorage.Text != "")
                        {
                            DateTime buyDateFromTextBox = Convert.ToDateTime(textBoxItemsArrivalData.Text);
                            AddItem.OffData = buyDateFromTextBox.AddMonths(_lifeTime).ToString("dd.MM.yyyy");
                        }
                    }

                    else
                    {
                        AddItem.OffData = null;
                    }

                    //Ответственный сотрудник
                    if (ComboBoxItemsResponsibleEmployee.Text != "")
                    {
                        Employees employee = db.Employees.Where(x => x.Name == ComboBoxItemsResponsibleEmployee.Text).FirstOrDefault();
                        if (employee != null)
                        {
                            AddItem.FK_ResponsibleEmployee = employee.Name;
                        }
                    }

                    else
                    {
                        AddItem.FK_ResponsibleEmployee = null;
                    }


                    db.Entry(AddItem).State = EntityState.Added;
                    db.SaveChanges();
                    Close();
                }
            }
        }
        public void UpdateAndSaveChanges(string WhatSave)
        {
            try
            {
                using (db = new DatabaseEntities())
                {
                    //Логика обновления ВСЁ ИМУЩЕСТВО
                    if (WhatSave == "GoodsInfo")
                    {
                        if (MainDataGrid.SelectedCells.Count == 9)
                        {
                            //выделеная строка
                            StaffItems rowView = MainDataGrid.SelectedItem as StaffItems;

                            StaffItems updatedStaffItem = new StaffItems();
                            //поиск обновляемого элемента в контексте по ID (Primary key)
                            updatedStaffItem = db.StaffItems.Where(x => x.Id == rowView.Id).FirstOrDefault();

                            //Название
                            updatedStaffItem.ItemName = textBoxStaffItemsName.Text.ToString();

                            //Кол-во
                            bool ammountIsParsed = int.TryParse(textBoxItemsAmmount.Text, out int _ammount);
                            if (!ammountIsParsed)
                            {
                                updatedStaffItem.Ammount = null;
                            }
                            else
                            {
                                updatedStaffItem.Ammount = _ammount;
                            }

                            //Цена
                            bool priceIsParsed = int.TryParse(textBoxItemsPrice.Text, out int _price);
                            if (!priceIsParsed)
                            {
                                updatedStaffItem.Price = null;
                            }
                            else
                            {
                                updatedStaffItem.Price = _price;
                            }

                            //Дата покупки
                            updatedStaffItem.ArrivalData = textBoxItemsArrivalData.Text;

                            //Срок службы (число)
                            bool lifeTimeIsParsed = int.TryParse(textBoxItemsPeriodOfStorage.Text, out int _lifeTime);
                            if (!lifeTimeIsParsed)
                            {
                                updatedStaffItem.PeriodOfStorage = null;
                            }
                            else
                            {
                                updatedStaffItem.PeriodOfStorage = _lifeTime;
                            }

                            //Категория
                            if (comboBoxItemsCategories.Text != "")
                            {
                                Categories category = db.Categories.Where(x => x.Name == comboBoxItemsCategories.Text).FirstOrDefault();
                                if (category != null)
                                {
                                    updatedStaffItem.FK_Category = category.Name;
                                }
                            }

                            else
                            {
                                updatedStaffItem.FK_Category = null;
                            }

                            //Обновление срока службы (дата списания)
                            if (textBoxItemsArrivalData.Text != "")
                            {
                                if (textBoxItemsPeriodOfStorage.Text != "")
                                {
                                    DateTime buyDateFromTextBox = Convert.ToDateTime(textBoxItemsArrivalData.Text);
                                    updatedStaffItem.OffData = buyDateFromTextBox.AddMonths(_lifeTime).ToString("dd.MM.yyyy");
                                }
                            }

                            else
                            {
                                updatedStaffItem.OffData = null;
                            }

                            //Ответственный сотрудник
                            if (comboBoxItrmsResponsibleHuman.Text != "")
                            {
                                Employees employee = db.Employees.Where(x => x.Name == comboBoxItrmsResponsibleHuman.Text).FirstOrDefault();
                                if (employee != null)
                                {
                                    updatedStaffItem.FK_ResponsibleEmployee = employee.Name;
                                }
                            }

                            else
                            {
                                updatedStaffItem.FK_ResponsibleEmployee = null;
                            }


                            db.Entry(updatedStaffItem).State = EntityState.Modified;
                            db.SaveChanges();

                            FillDataGrid();
                        }
                    }
                }
            }
            catch (Exception exteption)
            {
                MessageBox.Show($"Информация об ошибке: {exteption.Message}", "Произошла ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }