// считает сумму товаров
        private int RequestsCount(int id)
        {
            int countProduct1 = 0;
            int countProduct2 = 0;

            using (db = new Program_V1Context())
            {
                var RequestsQuery1 = from s in db.Requests
                                     join g in db.RequestsProducts on s.IdRequest equals g.IdRequest
                                     where s.SroreАppointment == 2 && g.IdProduct == id
                                     select new SumProduct()
                {
                    SumP = (int)g.Quantity
                };

                foreach (var item in RequestsQuery1.ToList())
                {
                    countProduct1 += item.SumP;
                }

                var RequestsQuery2 = from s in db.Requests
                                     join g in db.RequestsProducts on s.IdRequest equals g.IdRequest
                                     where s.StoreSource == 2 && g.IdProduct == id
                                     select new SumProduct()
                {
                    SumP = (int)g.Quantity
                };

                foreach (var item in RequestsQuery2.ToList())
                {
                    countProduct2 += item.SumP;
                }
                return(countProduct1 - countProduct2);
            }
        }
        private async void PechatKol(object sender, RoutedEventArgs e)
        {
            using (db = new Program_V1Context())
            {
                var databaseProcedures = new Program_V1ContextProcedures(db);
                var result             = await databaseProcedures.QuantityProdDepartment2Async();

                var a = result.ToList();

                var document = new WordDocument("ShablonKolDep2.docx", FormatType.Docx);

                string[] kol  = { "kol1", "kol2", "kol3", "kol4" };
                string[] prod = { "prod1", "prod2", "prod3", "prod4" };


                var bookmarkHelper = new BookmarkHelper(document);

                bookmarkHelper.MyMethod("date", DateTime.Today.ToString("dd.MM.yyyy"));
                bookmarkHelper.MyMethod("name", "Denis Agafonov");

                for (int i = 0; i < a.Count; i++)
                {
                    bookmarkHelper.MyMethod($"{prod[i]}", $"{a[i].ProductName}");
                    bookmarkHelper.MyMethod($"{kol[i]}", $"{a[i].Quantity}");
                }

                document.Save($"kolDep2.docx", FormatType.Docx);
                document.Close();
                MessageBox.Show("Печать завершена");
            }
        }
        private void Button_Del(object sender, RoutedEventArgs e)
        {
            if (proguctsGrid3.IsVisible == true)
            {
                if (proguctsGrid3.SelectedItem != null)
                {
                    var b = (ClassHelperRequest)proguctsGrid3.SelectedItem;

                    using (db = new Program_V1Context())
                    {
                        db.RequestsProducts.RemoveRange(db.RequestsProducts.Where(u => u.IdRequest == b.IdRequest));
                        db.Requests.RemoveRange(db.Requests.Where(u => u.IdRequest == b.IdRequest));
                        db.SaveChanges();
                        LoadRequestsAdd();
                        MessageBox.Show("Удаление успешно выполнено");
                    }
                }
                else
                {
                    MessageBox.Show("Заказ не выбран");
                }
            }
            else
            {
                MessageBox.Show("Выберите таблицу \"Добавленные\"");
            }
        }
        public async void LoadRequestsStore()
        {
            using (db = new Program_V1Context())
            {
                var databaseProcedures = new Program_V1ContextProcedures(db);
                var result             = await databaseProcedures.QuantityProdGlavMedAsync();

                proguctsGrid1.ItemsSource = result.ToList();
            }
        }
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            if (proguctsGrid3.IsVisible == true)
            {
                if (proguctsGrid3.SelectedItem != null)
                {
                    EditDepartments2Window editDepartments2Window = new EditDepartments2Window();
                    editDepartments2Window.Show();

                    var b = (ClassHelperRequest)proguctsGrid3.SelectedItem;

                    editDepartments2Window.IdReq = b.IdRequest;

                    using (db = new Program_V1Context())
                    {
                        var editColection = db.RequestsProducts.Where(u => u.IdRequest == b.IdRequest);
                        foreach (var item in editColection)
                        {
                            if (item.IdProduct == 1)
                            {
                                editDepartments2Window.cb1.IsChecked = true;
                                editDepartments2Window.tb1.Text      = item.Quantity.ToString();
                            }
                            else if (item.IdProduct == 2)
                            {
                                editDepartments2Window.cb2.IsChecked = true;
                                editDepartments2Window.tb2.Text      = item.Quantity.ToString();
                            }
                            else if (item.IdProduct == 3)
                            {
                                editDepartments2Window.cb3.IsChecked = true;
                                editDepartments2Window.tb3.Text      = item.Quantity.ToString();
                            }
                            else if (item.IdProduct == 4)
                            {
                                editDepartments2Window.cb4.IsChecked = true;
                                editDepartments2Window.tb4.Text      = item.Quantity.ToString();
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Выбирите таблицу \"Добавленные\" и запись в ней");
                }
            }
            else
            {
                MessageBox.Show("Выбирите таблицу \"Добавленные\" и запись в ней");
            }
        }
 public void LoadRequestsAdd()
 {
     this.proguctsGrid3.SearchHelper.ClearSearch();
     using (db = new Program_V1Context())
     {
         var RequestsQuery = from s in db.Requests
                             join g in db.RequestsProducts on s.IdRequest equals g.IdRequest
                             join o in db.Products on g.IdProduct equals o.IdProduct
                             join r in db.Stores on s.StoreSource equals r.IdStore
                             join e in db.Departments on r.IdDepartment equals e.IdDepartment
                             where s.SroreАppointment == 4 && s.StoreSource == 2
                             select new ClassHelperRequest()
         {
             IdRequest   = s.IdRequest,
             StoreSource = e.TypeDepartment,
             Date        = s.Date,
             Name        = o.Name,
             Quantity    = (int)g.Quantity
         };
         proguctsGrid3.ItemsSource = RequestsQuery.ToList();
     }
 }
        // считает сумму товаров
        private int RequestsCount(int id)
        {
            //добавить рассчет количества отбытого и отнять от поступившей суммы1
            int countProduct1 = 0;
            int countProduct2 = 0;

            using (db = new Program_V1Context())
            {
                var RequestsQuery1 = from s in db.Requests
                                     join g in db.RequestsProducts on s.IdRequest equals g.IdRequest
                                     where s.SroreАppointment == 1 && g.IdProduct == id
                                     select new SumProduct()
                {
                    SumP = (int)g.Quantity
                };

                foreach (var item in RequestsQuery1.ToList())
                {
                    countProduct1 += item.SumP;
                }

                var RequestsQuery2 = from s in db.Requests
                                     join g in db.RequestsProducts on s.IdRequest equals g.IdRequest
                                     where s.StoreSource == 1 && g.IdProduct == id
                                     select new SumProduct()
                {
                    SumP = (int)g.Quantity
                };

                foreach (var item in RequestsQuery2.ToList())
                {
                    countProduct2 += item.SumP;
                }

                return(countProduct1 - countProduct2);
            }
        }
 // добавляет товары к запросу
 private void AddRequestsProducts(TextBox tb, int idProduct, CheckBox cb, int idAddRequest)
 {
     if (cb.IsChecked == true)
     {
         if (Valid(tb.Text, RequestsCount(idProduct)))
         {
             using (db = new Program_V1Context())
             {
                 RequestsProducts newReqProduct1 = new RequestsProducts()
                 {
                     IdRequest = idAddRequest,
                     IdProduct = idProduct,
                     Quantity  = int.Parse(tb.Text)
                 };
                 db.RequestsProducts.Add(newReqProduct1);
                 db.SaveChanges();
             };
         }
         else
         {
             MessageBox.Show("Первое поле не введено или равно 0");
         }
     }
 }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (cb1.IsChecked == true || cb2.IsChecked == true || cb3.IsChecked == true || cb4.IsChecked == true)
            {
                if (Valid(tb1.Text, RequestsCount(1)) || Valid(tb2.Text, RequestsCount(2)) || Valid(tb3.Text, RequestsCount(3)) || Valid(tb4.Text, RequestsCount(4)))
                {
                    using (db = new Program_V1Context())
                    {
                        db.RequestsProducts.RemoveRange(db.RequestsProducts.Where(u => u.IdRequest == IdReq));
                        db.SaveChanges();
                    }


                    if (cb1.IsChecked == true)
                    {
                        if (Valid(tb1.Text, RequestsCount(1)))
                        {
                            AddRequestsProducts(tb1, 1, cb1, IdReq);
                            MessageBox.Show($"Количество антигрипина отредактировано");
                        }
                        else
                        {
                            MessageBox.Show("Поле пустое или равно 0");  // предумать нормальный месседж про преувеличение допустимого
                        }
                    }

                    if (cb2.IsChecked == true)
                    {
                        if (Valid(tb2.Text, RequestsCount(2)))
                        {
                            AddRequestsProducts(tb2, 2, cb2, IdReq);
                            MessageBox.Show($"Количество парацетомола отредактировано");
                        }
                        else
                        {
                            MessageBox.Show("Поле пустое или равно 0");
                        }
                    }

                    if (cb3.IsChecked == true)
                    {
                        if (Valid(tb3.Text, RequestsCount(3)))
                        {
                            AddRequestsProducts(tb3, 3, cb3, IdReq);
                            MessageBox.Show($"Количество валерьянки отредактировано");
                        }
                        else
                        {
                            MessageBox.Show("Поле пустое или равно 0");
                        }
                    }

                    if (cb4.IsChecked == true)
                    {
                        if (Valid(tb4.Text, RequestsCount(4)))
                        {
                            AddRequestsProducts(tb4, 4, cb4, IdReq);
                            MessageBox.Show($"Количество наркотиков отредактировано");
                        }
                        else
                        {
                            MessageBox.Show("Поле пустое или равно 0");
                        }
                    }

                    GlavMedWindow glavMedWindow = new GlavMedWindow();
                    glavMedWindow.LoadRequestsAdd();
                }
                else
                {
                    MessageBox.Show("Редактирование невозможно");
                }
            }
            else
            {
                MessageBox.Show("Ничего не выбрано");
            }
        }
        private void PechatZaprosa(object sender, RoutedEventArgs e)
        {
            if (proguctsGrid3.IsVisible == true)
            {
                if (proguctsGrid3.SelectedItem != null)
                {
                    var b = (ClassHelperRequest)proguctsGrid3.SelectedItem;

                    using (db = new Program_V1Context())
                    {
                        var RequestsQuery = from s in db.Requests
                                            join g in db.RequestsProducts on s.IdRequest equals g.IdRequest
                                            join o in db.Products on g.IdProduct equals o.IdProduct
                                            join r in db.Stores on s.SroreАppointment equals r.IdStore
                                            join y in db.Departments on r.IdDepartment equals y.IdDepartment
                                            where s.SroreАppointment == 4 && s.StoreSource == 2 && g.IdRequest == b.IdRequest
                                            select new ClassHelperRequest()
                        {
                            IdRequest        = s.IdRequest,
                            SroreАppointment = y.TypeDepartment,
                            Date             = s.Date.ToString(),
                            Name             = o.Name,
                            Quantity         = (int)g.Quantity
                        };
                        var a = RequestsQuery.ToList();

                        var document = new WordDocument("ShablonDlyaZakazaDep2.docx", FormatType.Docx);

                        string[] kol  = { "kol1", "kol2", "kol3", "kol4" };
                        string[] date = { "date1", "date2", "date3", "date4" };
                        string[] prod = { "prod1", "prod2", "prod3", "prod4" };


                        var bookmarkHelper = new BookmarkHelper(document);

                        bookmarkHelper.MyMethod("zakaz", b.IdRequest.ToString());
                        bookmarkHelper.MyMethod("date", DateTime.Today.ToString("dd.MM.yyyy"));
                        bookmarkHelper.MyMethod("name", "Denis Agafonov");

                        for (int i = 0; i < a.Count; i++)
                        {
                            bookmarkHelper.MyMethod($"{date[i]}", $"{a[i].Date}");
                            bookmarkHelper.MyMethod($"{prod[i]}", $"{a[i].Name}");
                            bookmarkHelper.MyMethod($"{kol[i]}", $"{a[i].Quantity}");
                        }

                        document.Save($"Zapros_{b.IdRequest}.docx", FormatType.Docx);
                        document.Close();
                        MessageBox.Show("Печать завершена");
                    }
                }
                else
                {
                    MessageBox.Show("Выбирите таблицу \"Добавленные\" и запись в ней");
                }
            }
            else
            {
                MessageBox.Show("Выбирите таблицу \"Добавленные\" и запись в ней");
            }
        }
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     if (NameTextBox.Text != "" || PasswordBox.Password != "")
     {
         using (db = new Program_V1Context())
         {
             if (db.Users.Any(user => user.Login == NameTextBox.Text && user.Password == PasswordBox.Password))
             {
                 role = (int)db.Users.Where(u => u.Login == NameTextBox.Text && u.Password == PasswordBox.Password).Select(u => u.IdRole).SingleOrDefault();
             }
         }
         if (role == 1)
         {
             AdminWindow adminWindow = new AdminWindow();
             this.Hide();
             adminWindow.ShowDialog();
             this.Show();
             role = 0;
         }
         else if (role == 2)
         {
             GlavMedWindow mainUser = new GlavMedWindow();
             this.Hide();
             mainUser.ShowDialog();
             this.Show();
             role = 0;
         }
         else if (role == 3)
         {
             Departments1Window departments1Window = new Departments1Window();
             this.Hide();
             departments1Window.ShowDialog();
             this.Show();
             role = 0;
         }
         else if (role == 4)
         {
             Departments2Window departments2Window = new Departments2Window();
             this.Hide();
             departments2Window.ShowDialog();
             this.Show();
             role = 0;
         }
         else if (role == 5)
         {
             Departments3Window departments3Window = new Departments3Window();
             this.Hide();
             departments3Window.ShowDialog();
             this.Show();
             role = 0;
         }
         else
         {
             MessageBox.Show("Такого логина или пароля не существует");
         }
     }
     else
     {
         MessageBox.Show("Заполните все поля");
     }
 }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            int idAddRequest = 0;

            if (cb1.IsChecked == true || cb2.IsChecked == true || cb3.IsChecked == true || cb4.IsChecked == true)
            {
                if (Valid(tb1.Text, RequestsCount(1)) || Valid(tb2.Text, RequestsCount(2)) || Valid(tb3.Text, RequestsCount(3)) || Valid(tb4.Text, RequestsCount(4)))
                {
                    using (db = new Program_V1Context())
                    {
                        Requests newRequest = new Requests()
                        {
                            SroreАppointment = 3,
                            StoreSource      = 2,
                            Date             = DateTime.Today.ToString("dd.MM.yyyy")
                        };

                        db.Requests.Add(newRequest);
                        db.SaveChanges();

                        idAddRequest = newRequest.IdRequest;
                    }
                }

                if (cb1.IsChecked == true)
                {
                    if (Valid(tb1.Text, RequestsCount(1)))
                    {
                        AddRequestsProducts(tb1, 1, cb1, idAddRequest);
                        MessageBox.Show($"Добавлено {tb1.Text} антигрипина");
                    }
                    else
                    {
                        MessageBox.Show($"Поле некоректно или превышает исходное количество \nИх количество = {RequestsCount(1)}");
                    }
                }

                if (cb2.IsChecked == true)
                {
                    if (Valid(tb2.Text, RequestsCount(2)))
                    {
                        AddRequestsProducts(tb2, 2, cb2, idAddRequest);
                        MessageBox.Show($"Добавлено {tb2.Text} парацетомола");
                    }
                    else
                    {
                        MessageBox.Show($"Поле некоректно или превышает исходное количество \nИх количество = {RequestsCount(2)}");
                    }
                }

                if (cb3.IsChecked == true)
                {
                    if (Valid(tb3.Text, RequestsCount(3)))
                    {
                        AddRequestsProducts(tb3, 3, cb3, idAddRequest);
                        MessageBox.Show($"Добавлено {tb3.Text} валерьянки");
                    }
                    else
                    {
                        MessageBox.Show($"Поле некоректно или превышает исходное количество \nИх количество = {RequestsCount(3)}");
                    }
                }

                if (cb4.IsChecked == true)
                {
                    if (Valid(tb4.Text, RequestsCount(4)))
                    {
                        AddRequestsProducts(tb4, 4, cb4, idAddRequest);
                        MessageBox.Show($"Добавлено {tb4.Text} наркотиков");
                    }
                    else
                    {
                        MessageBox.Show($"Поле некоректно или превышает исходное количество \nИх количество = {RequestsCount(4)}");
                    }
                }
                this.Close();
            }
            else
            {
                MessageBox.Show("Ничего не выбрано");
            }
        }
Пример #13
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            int idAddRequest = 0;

            // добавить запрос (табл requests)

            if (cb1.IsChecked == true || cb2.IsChecked == true || cb3.IsChecked == true || cb4.IsChecked == true)
            {
                using (db = new Program_V1Context())
                {
                    Requests newRequest = new Requests()
                    {
                        SroreАppointment = 1,
                        StoreSource      = null,
                        Date             = DateTime.Today.ToString("dd.MM.yyyy")
                    };

                    db.Requests.Add(newRequest);
                    db.SaveChanges();

                    idAddRequest = newRequest.IdRequest;
                }


                //добавление 1 товара (если выбран)
                if (cb1.IsChecked == true)
                {
                    if ((tb1.Text != "") && (int.Parse(tb1.Text) != 0))
                    {
                        using (db = new Program_V1Context())
                        {
                            RequestsProducts newReqProduct1 = new RequestsProducts()
                            {
                                IdRequest = idAddRequest,
                                IdProduct = 1,
                                Quantity  = int.Parse(tb1.Text)
                            };
                            db.RequestsProducts.Add(newReqProduct1);
                            db.SaveChanges();
                            MessageBox.Show($"Добавлено {tb1.Text} антигрипина");
                        };
                    }
                    else
                    {
                        MessageBox.Show("Первое поле не введено или равно 0");
                    }
                }

                //добавление 2 товара (если выбран)
                if (cb2.IsChecked == true)
                {
                    if ((tb2.Text != "") && (int.Parse(tb2.Text) != 0))
                    {
                        using (db = new Program_V1Context())
                        {
                            RequestsProducts newReqProduct2 = new RequestsProducts()
                            {
                                IdRequest = idAddRequest,
                                IdProduct = 2,
                                Quantity  = int.Parse(tb2.Text)
                            };
                            db.RequestsProducts.Add(newReqProduct2);
                            db.SaveChanges();
                            MessageBox.Show($"Добавлено {tb2.Text} парацетамола");
                        };
                    }
                    else
                    {
                        MessageBox.Show("Второе поле не введено или равно 0");
                    }
                }

                //добавление 3 товара (если выбран)
                if (cb3.IsChecked == true)
                {
                    if ((tb3.Text != "") && (int.Parse(tb3.Text) != 0))
                    {
                        using (db = new Program_V1Context())
                        {
                            RequestsProducts newReqProduct3 = new RequestsProducts()
                            {
                                IdRequest = idAddRequest,
                                IdProduct = 3,
                                Quantity  = int.Parse(tb3.Text)
                            };
                            db.RequestsProducts.Add(newReqProduct3);
                            db.SaveChanges();
                            MessageBox.Show($"Добавлено {tb3.Text} валерьянки");
                        };
                    }
                    else
                    {
                        MessageBox.Show("Третье поле не введено или равно 0");
                    }
                }

                //добавление 4 товара (если выбран)
                if (cb4.IsChecked == true)
                {
                    if ((tb4.Text != "") && (int.Parse(tb4.Text) != 0))
                    {
                        using (db = new Program_V1Context())
                        {
                            RequestsProducts newReqProduct4 = new RequestsProducts()
                            {
                                IdRequest = idAddRequest,
                                IdProduct = 4,
                                Quantity  = int.Parse(tb4.Text)
                            };
                            db.RequestsProducts.Add(newReqProduct4);
                            db.SaveChanges();
                            MessageBox.Show($"Добавлено {tb4.Text} наркотиков");
                        };
                    }
                    else
                    {
                        MessageBox.Show("Четверное поле не введено или равно 0");
                    }
                }
                this.Close();
            }
            else
            {
                MessageBox.Show("Ничего не выбрано");
            }
        }
Пример #14
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            using (db = new Program_V1Context())
            {
                db.RequestsProducts.RemoveRange(db.RequestsProducts.Where(u => u.IdRequest == IdReq));
                db.SaveChanges();
                AdminWindow adminWindow = new AdminWindow();
                adminWindow.LoadRequestsAdd();
            }

            if (cb1.IsChecked == true)
            {
                if ((tb1.Text != "") && (int.Parse(tb1.Text) != 0))
                {
                    using (db = new Program_V1Context())
                    {
                        RequestsProducts newReqProduct1 = new RequestsProducts()
                        {
                            IdRequest = IdReq,
                            IdProduct = 1,
                            Quantity  = int.Parse(tb1.Text)
                        };
                        db.RequestsProducts.Add(newReqProduct1);
                        db.SaveChanges();
                        MessageBox.Show($"Количество антигрипина отредактировано");
                    };
                }
                else
                {
                    MessageBox.Show("Первое поле не введено или равно 0");
                }
            }

            //редактирвание 2 товара (если выбран)
            if (cb2.IsChecked == true)
            {
                if ((tb2.Text != "") && (int.Parse(tb2.Text) != 0))
                {
                    using (db = new Program_V1Context())
                    {
                        RequestsProducts newReqProduct2 = new RequestsProducts()
                        {
                            IdRequest = IdReq,
                            IdProduct = 2,
                            Quantity  = int.Parse(tb2.Text)
                        };
                        db.RequestsProducts.Add(newReqProduct2);
                        db.SaveChanges();
                        MessageBox.Show($"Количество парацетомола отредактировано");
                    };
                }
                else
                {
                    MessageBox.Show("Второе поле не введено или равно 0");
                }
            }

            //добавление 3 товара (если выбран)
            if (cb3.IsChecked == true)
            {
                if ((tb3.Text != "") && (int.Parse(tb3.Text) != 0))
                {
                    using (db = new Program_V1Context())
                    {
                        RequestsProducts newReqProduct3 = new RequestsProducts()
                        {
                            IdRequest = IdReq,
                            IdProduct = 3,
                            Quantity  = int.Parse(tb3.Text)
                        };
                        db.RequestsProducts.Add(newReqProduct3);
                        db.SaveChanges();
                        MessageBox.Show($"Количество валерьянки отредактировано");
                    };
                }
                else
                {
                    MessageBox.Show("Третье поле не введено или равно 0");
                }
            }

            //добавление 4 товара (если выбран)
            if (cb4.IsChecked == true)
            {
                if ((tb4.Text != "") && (int.Parse(tb4.Text) != 0))
                {
                    using (db = new Program_V1Context())
                    {
                        RequestsProducts newReqProduct4 = new RequestsProducts()
                        {
                            IdRequest = IdReq,
                            IdProduct = 4,
                            Quantity  = int.Parse(tb4.Text)
                        };
                        db.RequestsProducts.Add(newReqProduct4);
                        db.SaveChanges();
                        MessageBox.Show($"Количество наркотиков отредактировано");
                    };
                }
                else
                {
                    MessageBox.Show("Четверное поле не введено или равно 0");
                }
            }
        }