private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int disc     = Convert.ToInt32(discount.Text);
                int amnt_prs = Convert.ToInt32(amount_purshases.Text);
                if (disc == 3 && amnt_prs < 50000 || disc == 5 && amnt_prs >= 50000 && amnt_prs < 150000 || disc == 10 && amnt_prs >= 150000)
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        var NewCard = new Loyality_card()
                        {
                            Loyality_discount = disc, Amount_purshases = amnt_prs
                        };
                        db.Loyality_card.Add(NewCard);
                        db.SaveChanges();

                        MessageBox.Show("Карта успешно создана!\nid новой карты: " + db.Loyality_card.Max(lc => lc.id_Loyality_card).ToString(), "Создание карты", MessageBoxButton.OK, MessageBoxImage.Information);
                        this.Close();
                    }
                }
                else
                {
                    MessageBox.Show("Некорректные данные!\nРазмер скидки и сумма покупок должны соответстоввать бизнес-правилам!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Корректно заполните поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
예제 #2
0
        private void Button_Click_1(object sender, RoutedEventArgs e) // Кнопка "Добавить доставку к заказу"
        {
            if (delivery_type.SelectedItem != null)                   // Если выбран тип доставки
            {
                using (ADOmodel db = new ADOmodel(conString))
                {
                    int id_deliv = db.Deliveries.Select(d => d.id_Delivery).Max() + 1;  // Создаем id будущей доставки

                    Delivery new_deliv = new Delivery()
                    {
                        id_Delivery = id_deliv, id_Type = devType_id, Cost = devCost
                    };                                                                     // Создаем новую доставку
                    db.Deliveries.Add(new_deliv);                                          // Добавляем в БД
                    db.SaveChanges();                                                      // Сохраняем изменения в БД

                    var Order = db.Orders.Where(i => i.id_Order == o_id).FirstOrDefault(); // Считываем данные заказа
                    Order.id_Delivery = id_deliv;                                          // И добавляем ему доставку
                    db.SaveChanges();                                                      // Сохраняем изменения в БД

                    MessageBox.Show("Доставка добавлена!", "Добавление доставки", MessageBoxButton.OK, MessageBoxImage.Information);
                    this.Close();
                }
            }
            else
            {
                MessageBox.Show("Выберите тип доставки!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                id = Convert.ToInt32(cl_id.Text);

                if (id > 0)
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        var ClientExists = db.Clients.Any(p => p.id_Client == id);

                        if (ClientExists)
                        {
                            personal_data.IsEnabled = true;
                            change_btn.IsEnabled    = true;
                            cl_founded.Content      = "Клиент найден!";
                        }
                        else
                        {
                            MessageBox.Show("Клиент с таким id не найден!", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
        private void delivery_cb_Click(object sender, RoutedEventArgs e) // Чекбокс "Доставка"
        {
            if (delivery_cb.IsChecked == true)                           // Если чекбокс выбран
            {
                delivery_data.IsEnabled = true;                          // Активируем блок доставки

                using (ADOmodel db = new ADOmodel(conString))
                {
                    var client_adr = db.Client_address.Where(ca => ca.id_Address == client.id_Address).FirstOrDefault(); // Находим адрес клиента

                    address_country.Content  = client_adr.Country;                                                       // И заполняем поля
                    address_city.Content     = client_adr.City;
                    address_street.Content   = client_adr.Street;
                    address_building.Content = client_adr.Building;
                    if (client_adr.Flat != null)
                    {
                        address_flat.Content = client_adr.Flat;
                    }

                    for (int i = 1; i <= db.Delivery_type.Count(); i++) // Заполняем выпадающий список "Тип доставки"
                    {
                        delivery_type.Items.Add(db.Delivery_type.Where(dt => dt.id_Type == i).Select(dt => dt.Type_name).FirstOrDefault().ToString());
                    }
                }
            }
            else
            {
                delivery_data.IsEnabled = false;    // Иначе деактивируем блок
            }
        }
 private void Button_Click_16(object sender, RoutedEventArgs e)  // Кнопка "Список заказов"
 {
     using (ADOmodel db = new ADOmodel(conString))
     {
         OrdersTable.ItemsSource = (from o in db.Orders
                                    join em in db.Employees on o.id_Employee equals em.id_Employee
                                    join cl in db.Clients on o.id_Client equals cl.id_Client
                                    join c in db.Certificates on o.id_Certificate equals c.id_Certificate into grouping0
                                    from gr0 in grouping0.DefaultIfEmpty()
                                    join lc in db.Loyality_card on cl.id_Loyality_card equals lc.id_Loyality_card into grouping1
                                    from gr1 in grouping1.DefaultIfEmpty()
                                    join d in db.Deliveries on o.id_Delivery equals d.id_Delivery into grouping2
                                    from gr2 in grouping2.DefaultIfEmpty()
                                    join dt in db.Delivery_type on gr2.id_Type equals dt.id_Type into grouping3
                                    from gr3 in grouping3.DefaultIfEmpty()
                                    select new
         {
             id = o.id_Order,
             employee = em.Surname + " " + em.Name + " " + em.Patronymic,
             client = cl.Surname + " " + cl.Name + " " + cl.Patronymic,
             date = o.Date,
             order_cost = o.Order_cost,
             loyality_discount = gr1 == null ? 0 : gr1.Loyality_discount,
             certificate = gr0 == null ? 0 : gr0.Value,
             delivery = gr2 == null ? "-" : gr3.Type_name,
         }).ToList();
     }
 }
 private void Button_Click(object sender, RoutedEventArgs e) // Кнопка "Все клиенты"
 {
     using (ADOmodel db = new ADOmodel(conString))
     {
         all_clients.Content      = db.Clients.ToList().Count().ToString();
         ClientsTable.ItemsSource = (from c in db.Clients
                                     join ca in db.Client_address on c.id_Address equals ca.id_Address
                                     join lc in db.Loyality_card on c.id_Loyality_card equals lc.id_Loyality_card into grouping
                                     from gr in grouping.DefaultIfEmpty()
                                     select new
         {
             id = c.id_Client,
             Surname = c.Surname,
             Name = c.Name,
             Patronymic = c.Patronymic,
             Phone = c.Phone,
             Country = ca.Country,
             City = ca.City,
             Street = ca.Street,
             Building = ca.Building,
             Flat = ca.Flat,
             LoyalityDiscount = gr == null ? 0 : gr.Loyality_discount,
             AmountPurshase = gr == null ? 0 : gr.Amount_purshases
         }).ToList();
     }
 }
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         id = Convert.ToInt32(empl_id.Text);
         if (id > 0)
         {
             using (ADOmodel db = new ADOmodel(conString))
             {
                 var EmployeeExists = db.Employees.Any(em => em.id_Employee == id);
                 if (EmployeeExists)
                 {
                     empl_data.IsEnabled  = true;
                     change_btn.IsEnabled = true;
                     empl_found.Content   = "Сотрудник с таким id найден!";
                 }
                 else
                 {
                     MessageBox.Show("Сотрудник с таким id не найден!", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information);
                 }
             }
         }
         else
         {
             MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
     }
 }
예제 #8
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                id = Convert.ToInt32(item_id.Text);

                if (id > 0)
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        var ItemExists = db.Items.Any(i => i.id_Item == id);

                        if (ItemExists)
                        {
                            item_data.IsEnabled = true;
                            item_btn.IsEnabled  = true;
                            item_found.Content  = "Товар найден!";
                        }
                        else
                        {
                            MessageBox.Show("Товар с таким id не найден!", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch
            {
                MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
예제 #9
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            using (ADOmodel db = new ADOmodel(conString))
            {
                var item     = db.Items.Where(i => i.id_Item == id_item).FirstOrDefault();
                var category = db.Item_type.Where(it => it.id_Type == item.id_Type).FirstOrDefault();

                item_Name.Text   = item.Name.ToString();
                item_id.Content += item.id_Item.ToString();
                try
                {
                    item_Img.Source = new BitmapImage(new Uri(item.Photo.ToString()));
                }
                catch (UriFormatException)
                {
                    MessageBox.Show("Товар имеет неккоректную ссылку на изображение.\nИзображение не будет загружено!", "Внимание!", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                }
                item_Categoty.Content = category.Type_name.ToString();
                item_Units.Content    = item.Untits.ToString();
                if (item.Guarantee != null)
                {
                    item_Garantee.Content = item.Guarantee.ToString();
                }
                item_Price.Content = item.Price.ToString() + "руб.";
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e) // Кнопка id выбор клиента
        {
            try
            {
                cl_id = Convert.ToInt32(client_id.Text);

                if (cl_id > 0)
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        var ClientExists = db.Clients.Any(p => p.id_Client == cl_id); // Поиск клиента с введенным id

                        if (ClientExists)                                             // Если такой клиент существует
                        {
                            empolyee_data.IsEnabled    = true;                        // Активация полей
                            client_data.IsEnabled      = true;
                            order_data.IsEnabled       = true;
                            certificate_data.IsEnabled = true;
                            costs_data.IsEnabled       = true;
                            createOrder_btn.IsEnabled  = true;
                            delivery_cb.IsEnabled      = true;
                            client_block.IsEnabled     = false;                                    // Деактивация блока ввода id клиента
                            order_date.Content         = DateTime.Now.ToString();                  // Вывод даты формирования заказа

                            client = db.Clients.Where(p => p.id_Client == cl_id).FirstOrDefault(); // Выбор клиента

                            if (client.Patronymic != null)
                            {
                                client_fullName.Text = client.Surname.ToString() + " " + client.Name.ToString() + " " + client.Patronymic.ToString();                             // Заполнение ФИО клиента
                            }
                            else
                            {
                                client_fullName.Text = client.Surname.ToString() + " " + client.Name.ToString();
                            }

                            client_phone.Content    = "+" + client.Phone.ToString();                                                                                                                   // Телефона клиента
                            client_discount.Content = db.Loyality_card.Where(lc => lc.id_Loyality_card == client.id_Loyality_card).Select(p => p.Loyality_discount).FirstOrDefault().ToString() + "%"; // Скидка по карте лояльности

                            for (int i = 1; i <= db.Position_list.Count(); i++)                                                                                                                        // Заполнение выподающего списка должности продавца
                            {
                                empl_position.Items.Add(db.Position_list.Where(pl => pl.id_Position == i).Select(pl => pl.Position_name).FirstOrDefault().ToString());
                            }
                        }
                        else
                        {
                            MessageBox.Show("Клиент с таким id не найден!", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch
            {
                MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
 public static int returnRole(int id)    // Функция возвращающая id роли пользователя
 {
     using (ADOmodel db = new ADOmodel(conString))
     {
         int id_role = db.Employees.Where(n => n.id_Employee == id).Select(n => n.id_Role).Single();
         return(id_role);
     }
 }
        public int discount            = 0; // % скидки по карте лояльности

        public AddOrder(string str)
        {
            InitializeComponent();
            conString = str;
            using (ADOmodel db = new ADOmodel(conString))
            {
                or_id = db.Orders.Select(o => o.id_Order).Max() + 1;  // Создание id будущего заказа
            }
        }
예제 #13
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                AdminPage main = this.Owner as AdminPage;
                string    name = items_name.Text;

                if (name != "")
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        bool ItemExists = db.Items.Any(i => i.Name.Contains(name)); // Проверка на существование товара

                        if (ItemExists)
                        {
                            int ItemsCount = db.Items.Where(i => i.Name.Contains(name)).Count();    // Подсчет количества товара

                            if (ItemsCount > 1)
                            {
                                main.ItemsTable.ItemsSource = db.Items.Where(i => i.Name.Contains(name)).Join(db.Item_type, i => i.id_Type, it => it.id_Type, (i, it) => new // Если товаров более 1, то результат поиска выводится в таблицу
                                {
                                    i.id_Item,
                                    it.Type_name,
                                    i.Name,
                                    i.Untits,
                                    i.Photo,
                                    i.Guarantee,
                                    i.Price
                                }).ToList();
                            }
                            else
                            {
                                int      itemId = db.Items.Where(i => i.Name.Contains(name)).Select(i => i.id_Item).FirstOrDefault(); // Если товар 1, то берем его id и открываем описание в отдельном окне
                                ItemCard ic     = new ItemCard(itemId, conString);
                                ic.Show();
                            }

                            this.Close();
                        }
                        else
                        {
                            MessageBox.Show("Товар не найден!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Введите название товара!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Непредвиденная ошибка!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
        public AdminPage(string str, int EmplId, int RoleId)
        {
            InitializeComponent();

            conString = str;    // Получаем строку подключения и id пользователя и id его роли
            id_role   = RoleId;
            id_empl   = EmplId;

            using (ADOmodel db = new ADOmodel(conString))   // Заполняем счетчики на вкладках
            {
                all_clients.Content = db.Clients.Count().ToString();
                allEmpl.Content     = db.Employees.Count().ToString();
                all_Items.Content   = db.Items.Count().ToString();
            }

            if (id_role == 2)
            {
                addClient_btn.IsEnabled    = false;
                changeClient_btn.IsEnabled = false;
                deleteClient_btn.IsEnabled = false;
                addLoyalCard_btn.IsEnabled = false;

                UsersTab.IsEnabled = false;

                addOrder_btn.IsEnabled       = false;
                deleteOrder_btn.IsEnabled    = false;
                addDelivery_btn.IsEnabled    = false;
                deleteDelivery_btn.IsEnabled = false;

                reportTop10_btn.IsEnabled = false;
            }
            if (id_role == 3 || id_role == 4)
            {
                if (id_role == 3)
                {
                    changeClient_btn.IsEnabled = false;
                }

                UsersTab.IsEnabled = false;

                addItem_btn.IsEnabled    = false;
                changeItem_btn.IsEnabled = false;
                deleteItem_btn.IsEnabled = false;

                if (id_role == 3)
                {
                    reportTop10_btn.IsEnabled = false;
                }
                reportRemains_btn.IsEnabled   = false;
                reportItemsSell_btn.IsEnabled = false;
                reportItemsCom_btn.IsEnabled  = false;
            }
        }
        private void Button_Click_2(object sender, RoutedEventArgs e)   // Кнопка "Добавить товар"
        {
            try
            {
                int i_id    = Convert.ToInt32(item_id.Text); // Считываем id товара и его количество
                int i_count = Convert.ToInt32(item_count.Text);

                if (i_id > 0 && i_count > 0) // Если поля заполнены корректно
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        bool ItemExist = db.Items.Any(i => i.id_Item == i_id);  // Если товар существует
                        if (ItemExist)
                        {
                            discount = db.Loyality_card.Where(lc => lc.id_Loyality_card == client.id_Loyality_card).Select(lc => lc.Loyality_discount).FirstOrDefault(); // Считываем скидку

                            Item_list new_item = new Item_list()
                            {
                                id_Order = or_id, id_Item = i_id, Quantity = i_count
                            };                                                                                                          // Создаем новый товар
                            new_order_list.Add(new_item);                                                                               // И заносим его в список для БД

                            string    i_name  = db.Items.Where(i => i.id_Item == i_id).Select(i => i.Name).FirstOrDefault().ToString(); // Запоминаем имя товара
                            int       i_price = (int)db.Items.Where(i => i.id_Item == i_id).Select(i => i.Price).FirstOrDefault();      // И его стоимость
                            PrintList pr_item = new PrintList()
                            {
                                id = i_id, ItemName = i_name, Quantity = i_count, CostTotal = i_price * i_count, CostOne = i_price
                            };                                                                                                                                          // Заносим данные в список для вывода
                            list_for_print.Add(pr_item);

                            total_cost      += pr_item.CostTotal; // Расчет стоимости
                            costWithDiscount = total_cost - (total_cost / 100 * discount);

                            order_cost.Content         = total_cost + " руб."; // Вывод стоимости
                            order_discountCost.Content = costWithDiscount + " руб.";
                        }
                        else
                        {
                            MessageBox.Show("Товар не найден!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Корректно заполните поля 'id Товара' и 'Кол-во'!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Корректно заполните поля 'id Товара' и 'Кол-во'!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            AdminPage main       = this.Owner as AdminPage;
            string    name       = empl_Name.Text;
            string    surname    = empl_Surname.Text;
            string    patronymic = empl_Patronymic.Text;

            if (name != "" && surname != "")
            {
                using (ADOmodel db = new ADOmodel(conString))
                {
                    bool EmployeeExists = false;
                    if (patronymic != "")
                    {
                        EmployeeExists = db.Employees.Any(p => p.Surname.Contains(surname) && p.Name.Contains(name) && p.Patronymic.Contains(patronymic));
                    }
                    else
                    {
                        EmployeeExists = db.Employees.Any(p => p.Surname.Contains(surname) && p.Name.Contains(name));
                    }

                    if (EmployeeExists)
                    {
                        main.EmployeeTable.ItemsSource = (from em in db.Employees
                                                          join p in db.Position_list on em.id_Position equals p.id_Position
                                                          join r in db.Role_list on em.id_Role equals r.id_Role
                                                          where em.Surname == surname && em.Name == name
                                                          select new
                        {
                            id = em.id_Employee,
                            Surname = em.Surname,
                            Name = em.Name,
                            Patronymic = em.Patronymic,
                            Position = p.Position_name,
                            Role = r.Role_name,
                            Login = em.Login,
                            Password = em.Password
                        }).ToList();
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Сотрудник не найден!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }
            }
            else
            {
                MessageBox.Show("Заполните обязательные поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
예제 #17
0
        private void item_btn_Click(object sender, RoutedEventArgs e)
        {
            string name  = item_Name.Text;
            string units = item_units.Text;
            string url   = item_photo.Text;
            string type  = item_type.Text;

            try
            {
                int guarantee = Convert.ToInt32(item_guarantee.Text);
                int price     = Convert.ToInt32(item_price.Text);

                using (ADOmodel db = new ADOmodel(conString))
                {
                    var Item = db.Items.Where(i => i.id_Item == id).FirstOrDefault();

                    if (name != "")
                    {
                        Item.Name = name;
                    }
                    if (units != "")
                    {
                        Item.Untits = units;
                    }
                    if (url != "")
                    {
                        Item.Photo = url;
                    }
                    if (type != "")
                    {
                        Item.id_Type = db.Item_type.Where(it => it.Type_name.Equals(type)).Select(it => it.id_Type).FirstOrDefault();
                    }
                    if (guarantee > 0)
                    {
                        Item.Guarantee = guarantee;
                    }
                    if (price > 0)
                    {
                        Item.Price = price;
                    }

                    db.SaveChanges();
                    MessageBox.Show("Данные успешно изменены!", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information);
                    this.Close();
                }
            }
            catch (FormatException)
            {
                MessageBox.Show("Корректно заполните поля!\n(Поля Гарантия и Цена должны быть заполнены, либо 0 либо новым значением!)", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string name  = item_Name.Text;
            string units = item_units.Text;
            string url   = item_photo.Text;
            string type  = item_type.Text;

            try
            {
                int guarantee = Convert.ToInt32(item_guarantee.Text);
                int price     = Convert.ToInt32(item_price.Text);

                if (name != "" && units != "" && url != "" && price > 0 && type != null)
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        int typeId = db.Item_type.Where(it => it.Type_name.Equals(type)).Select(it => it.id_Type).FirstOrDefault();

                        if (guarantee == 0)
                        {
                            Item new_item = new Item()
                            {
                                id_Type = typeId, Name = name, Photo = url, Untits = units, Price = price
                            };
                            db.Items.Add(new_item);
                        }
                        else
                        {
                            Item new_item = new Item()
                            {
                                id_Type = typeId, Name = name, Photo = url, Untits = units, Price = price, Guarantee = guarantee
                            };
                            db.Items.Add(new_item);
                        }

                        db.SaveChanges();
                        MessageBox.Show("Товар успешно добавлен!", "Добавление товара", MessageBoxButton.OK, MessageBoxImage.Information);
                        this.Close();
                    }
                }
                else
                {
                    MessageBox.Show("Корректно заполните обязательные поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                }
            }
            catch (FormatException)
            {
                MessageBox.Show("Корректно заполните обязательные поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
 private void empl_fullName_SelectionChanged(object sender, SelectionChangedEventArgs e) // Событие изменения выбранного ФИО в списке "ФИО сотрудника"
 {
     using (ADOmodel db = new ADOmodel(conString))
     {
         if (empl_fullName.SelectedItem != null)                                                     // Если в втором выпадающем списке выбрано ФИО
         {
             string[] em_fullName = empl_fullName.SelectedItem.ToString().Split(new char[] { ' ' }); // То считываем и разбиваем его на составные части
             string   em_surname  = em_fullName[0];                                                  // Составные части записываем в отдельные переменные
             string   em_name     = em_fullName[1];
             string   em_patr     = em_fullName[2];
             em_id = db.Employees.Where(em => em.Surname.Equals(em_surname) && em.Name.Equals(em_name) && em.Patronymic.Equals(em_patr)).Select(em => em.id_Employee).FirstOrDefault();  // Определяем id сотрудника с таким ФИО
         }
     }
 }
 private void Button_Click_11(object sender, RoutedEventArgs e)  // Кнопка "Список товаров"
 {
     using (ADOmodel db = new ADOmodel(conString))
     {
         all_Items.Content      = db.Items.Count().ToString();
         ItemsTable.ItemsSource = db.Items.Join(db.Item_type, i => i.id_Type, it => it.id_Type, (i, it) => new
         {
             i.id_Item,
             it.Type_name,
             i.Name,
             i.Untits,
             i.Photo,
             i.Guarantee,
             i.Price
         }).ToList();
     }
 }
 public static int CheckUser(string log, string pass)                                                                                                                                                           // Функция проверки существования пользователя
 {
     conString = "data source = DESKTOP-EUNPR6C" + @"\" + "SQLEXPRESS; initial catalog = Hardware_Store; user id =" + log + "; password ="******"; MultipleActiveResultSets = True; App = EntityFramework"; // Строка подключения
     using (ADOmodel db = new ADOmodel(conString))                                                                                                                                                              // Новый контекст подключения с созданной строкой
     {
         int user_id;
         try
         {
             user_id = db.Employees.Where(p => p.Login == log && p.Password == pass).Select(p => p.id_Employee).SingleOrDefault(); // Если логин и пароль корректны и подключение прошло, то в переменную запишется id сотрудника
         }
         catch (System.Data.SqlClient.SqlException)                                                                                // Иначе выбросится исключение
         {
             return(0);                                                                                                            // Функция вернет 0
         }
         return(user_id);                                                                                                          // При корректном срабатывании вернется id сотрудника
     }
 }
        private void empl_position_SelectionChanged(object sender, SelectionChangedEventArgs e) // Событие изменения выбраной позиции в списке "Должность"
        {
            using (ADOmodel db = new ADOmodel(conString))
            {
                if (empl_position.SelectedItem != null)                                                                                                                      // Если в первом выпадающем списке выбрана должность
                {
                    empl_fullName.Items.Clear();                                                                                                                             // Список очищается от возможных предыдущих значений
                    var position_id = db.Position_list.Where(pl => pl.Position_name == empl_position.SelectedItem.ToString()).Select(pl => pl.id_Position).FirstOrDefault(); // Определяется id должности
                    var employees   = db.Employees.Where(em => em.id_Position == position_id).ToArray();                                                                     // И список сотрудников с данной должностью

                    for (int i = 0; i < employees.Count(); i++)                                                                                                              // Второй выпадающий список заполняется ФИО сотрудников выбранной должности
                    {
                        empl_fullName.Items.Add(employees[i].Surname.ToString() + " " + employees[i].Name.ToString() + " " + employees[i].Patronymic.ToString());
                    }
                }
            }
        }
 private void Button_Click_19(object sender, RoutedEventArgs e)  // Кнопка "Список доставок"
 {
     using (ADOmodel db = new ADOmodel(conString))
     {
         OrdersTable.ItemsSource = db.Deliveries.Join(db.Delivery_type, d => d.id_Type, dt => dt.id_Type, (d, dt) => new
         {
             d.id_Delivery,
             dt.Type_name,
             d.Cost
         }).Join(db.Orders, d => d.id_Delivery, o => o.id_Delivery, (d, o) => new
         {
             d.id_Delivery,
             o.id_Order,
             d.Type_name,
             d.Cost
         }).ToList();
     }
 }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                id_order = Convert.ToInt32(orderId.Text);
                if (id_order > 0)
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        var OrderExists = db.Orders.Any(i => i.id_Order == id_order);                  // Проверка существования заказа с указанным id
                        if (OrderExists)                                                               // Если такой существует
                        {
                            var Order = db.Orders.Where(i => i.id_Order == id_order).FirstOrDefault(); // Считываем данные заказа
                            id_client = Order.id_Client;

                            if (Order.id_Delivery != null)   // Проверяем наличие доставки у заказа и в зависимости от наличия вызываем нужный отчёт
                            {
                                Reports.ReportOrderWithDelivery rowd = new Reports.ReportOrderWithDelivery();
                                rowd.Show();
                            }
                            else
                            {
                                Reports.ReportOrderWithoutDelivery rowd = new Reports.ReportOrderWithoutDelivery();
                                rowd.Show();
                            }
                            this.Close();
                        }
                        else
                        {
                            MessageBox.Show("Заказ с таким id не найден!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
예제 #25
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                o_id = Convert.ToInt32(order_id.Text); // Считываем id товара
                if (o_id > 0)                          // Проверяем его корректность
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        var OrderExists = db.Orders.Any(i => i.id_Order == o_id);                  // Проверяем существование заказа с таким id
                        if (OrderExists)                                                           // Если такой заказ существует
                        {
                            var Order = db.Orders.Where(i => i.id_Order == o_id).FirstOrDefault(); // Считываем данные заказа
                            if (Order.id_Delivery == null)                                         // Проверяем наличие уже существующей доставки
                            {
                                delivery_data.IsEnabled = true;                                    // Активируем блок с выбором доставки

                                for (int i = 1; i <= db.Delivery_type.Count(); i++)                // Заполняем выпадающий список "Тип доставки"
                                {
                                    delivery_type.Items.Add(db.Delivery_type.Where(dt => dt.id_Type == i).Select(dt => dt.Type_name).FirstOrDefault().ToString());
                                }
                            }
                            else
                            {
                                MessageBox.Show("У данного заказа уже есть доставка!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Заказ с таким id не найден!", "Удаление", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch
            {
                MessageBox.Show("Некорректный id!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
예제 #26
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string name       = empl_Name.Text;
            string surname    = empl_Surname.Text;
            string patronymic = empl_Patronymic.Text;
            var    pos        = empl_Position.SelectedIndex;
            var    role       = empl_Role.SelectedIndex;
            string log        = empl_login.Text;
            string pas        = empl_password.Text;

            if (name != "" && surname != "" && log != "" && pas != "" && pos != -1 && role != -1)
            {
                using (ADOmodel db = new ADOmodel(conString))
                {
                    if (patronymic == "")
                    {
                        var NewEmpl = new Employee()
                        {
                            Name = name, Surname = surname, Login = log, Password = pas, id_Position = pos + 1, id_Role = role + 1
                        };
                        db.Employees.Add(NewEmpl);
                    }
                    else
                    {
                        var NewEmpl = new Employee()
                        {
                            Name = name, Surname = surname, Patronymic = patronymic, Login = log, Password = pas, id_Position = pos + 1, id_Role = role + 1
                        };
                        db.Employees.Add(NewEmpl);
                    }

                    db.SaveChanges();
                    MessageBox.Show("Сотрудник успешно создан!", "Регистрация нового сотрудника", MessageBoxButton.OK, MessageBoxImage.Information);
                    this.Close();
                }
            }
            else
            {
                MessageBox.Show("Заполните обязательные поля!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
 private void Button_Click_6(object sender, RoutedEventArgs e)   // Кнопка "Все сотрудники"
 {
     using (ADOmodel db = new ADOmodel(conString))
     {
         allEmpl.Content           = db.Employees.Count().ToString();
         EmployeeTable.ItemsSource = (from em in db.Employees
                                      join p in db.Position_list on em.id_Position equals p.id_Position
                                      join r in db.Role_list on em.id_Role equals r.id_Role
                                      select new
         {
             id = em.id_Employee,
             Surname = em.Surname,
             Name = em.Name,
             Patronymic = em.Patronymic,
             Position = p.Position_name,
             Role = r.Role_name,
             Login = em.Login,
             Password = em.Password
         }).ToList();
     }
 }
        private void Button_Click_1(object sender, RoutedEventArgs e)   // Кнопка поиска товара
        {
            try
            {
                string name = item_search.Text;

                if (name != "")
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        bool ItemExists = db.Items.Any(i => i.Name.Contains(name));                                                                                       // Проверка на существование товара

                        if (ItemExists)                                                                                                                                   // Если товар существует
                        {
                            CreateOrderTable.ItemsSource = db.Items.Where(i => i.Name.Contains(name)).Join(db.Item_type, i => i.id_Type, it => it.id_Type, (i, it) => new // то он выводится в таблицу
                            {
                                i.id_Item,
                                i.Name,
                                i.Untits,
                                i.Guarantee,
                                i.Price
                            }).ToList();
                        }
                        else
                        {
                            MessageBox.Show("Товар не найден!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Введите название товара!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Непредвиденная ошибка!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
예제 #29
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            AdminPage main       = this.Owner as AdminPage;
            string    phone      = Person_phone.Text;
            string    name       = Person_name.Text;
            string    surname    = Person_surname.Text;
            string    patronymic = Person_partonymic.Text;

            using (ADOmodel db = new ADOmodel(conString))
            {
                if (name == "" && surname == "" && patronymic == "" && phone == "")
                {
                    MessageBox.Show("Введите либо данные ФИО либо номер телефона!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
                else if (name != "" || surname != "" || patronymic != "")
                {
                    var ClientExists = db.Clients.Any(p => p.Surname.Contains(surname) && p.Name.Contains(name) && p.Patronymic.Contains(patronymic));

                    if (ClientExists)
                    {
                        main.ClientsTable.ItemsSource = (from c in db.Clients
                                                         join ca in db.Client_address on c.id_Address equals ca.id_Address
                                                         join lc in db.Loyality_card on c.id_Loyality_card equals lc.id_Loyality_card into grouping
                                                         from gr in grouping.DefaultIfEmpty()
                                                         where (c.Name.Contains(name)) && (c.Surname.Contains(surname)) && (c.Patronymic.Contains(patronymic))
                                                         select new
                        {
                            id = c.id_Client,
                            Surname = c.Surname,
                            Name = c.Name,
                            Patronymic = c.Patronymic,
                            Phone = c.Phone,
                            Country = ca.Country,
                            City = ca.City,
                            Street = ca.Street,
                            Building = ca.Building,
                            Flat = ca.Flat,
                            LoyalityDiscount = gr == null ? 0 : gr.Loyality_discount,
                            AmountPurshase = gr == null ? 0 : gr.Amount_purshases
                        }).ToList();
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Клиент не найден!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }
                else if (phone != "")
                {
                    var ClientExists = db.Clients.Any(p => p.Phone == phone);
                    if (ClientExists)
                    {
                        main.ClientsTable.ItemsSource = (from c in db.Clients
                                                         join ca in db.Client_address on c.id_Address equals ca.id_Address
                                                         join lc in db.Loyality_card on c.id_Loyality_card equals lc.id_Loyality_card into grouping
                                                         from gr in grouping.DefaultIfEmpty()
                                                         where (c.Phone == phone)
                                                         select new
                        {
                            id = c.id_Client,
                            Surname = c.Surname,
                            Name = c.Name,
                            Patronymic = c.Patronymic,
                            Phone = c.Phone,
                            Country = ca.Country,
                            City = ca.City,
                            Street = ca.Street,
                            Building = ca.Building,
                            Flat = ca.Flat,
                            LoyalityDiscount = gr == null ? 0 : gr.Loyality_discount,
                            AmountPurshase = gr == null ? 0 : gr.Amount_purshases
                        }).ToList();
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Клиент не найден!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }
            }
        }
        private void change_btn_Click(object sender, RoutedEventArgs e)
        {
            AdminPage main       = this.Owner as AdminPage;
            string    name       = empl_Name.Text;
            string    surname    = empl_Surname.Text;
            string    patronymic = empl_Patronymic.Text;
            var       pos        = empl_Position.SelectedIndex;
            var       role       = empl_Role.SelectedIndex;
            string    log        = empl_Log.Text;
            string    pas        = empl_Password.Text;

            using (ADOmodel db = new ADOmodel(conString))
            {
                try
                {
                    var employee = db.Employees.Where(em => em.id_Employee == id).FirstOrDefault();

                    if (name != "")
                    {
                        employee.Name = name;
                    }
                    if (surname != "")
                    {
                        employee.Surname = surname;
                    }
                    if (patronymic != "")
                    {
                        employee.Patronymic = patronymic;
                    }
                    if (pos != -1)
                    {
                        employee.id_Position = pos + 1;
                    }
                    if (role != -1)
                    {
                        employee.id_Role = role + 1;
                    }
                    if (log != "")
                    {
                        employee.Login = log;
                    }
                    if (pas != "")
                    {
                        employee.Password = pas;
                    }

                    db.SaveChanges();
                    MessageBox.Show("Данные успешно изменены!", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information);
                    if (idCurrentEmpl == id && log != "" || idCurrentEmpl == id && pas != "")
                    {
                        MessageBox.Show("Необходимо произвести вход с помощью новых данных.", "Изменение", MessageBoxButton.OK, MessageBoxImage.Information);
                        this.Close();
                        MainWindow mw = new MainWindow();
                        mw.Show();
                        main.Close();
                    }
                    else
                    {
                        this.Close();
                    }
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateException)
                {
                    MessageBox.Show("Ошибка. Попробуйте менять логин и пароль по очереди, а не одновременно.", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }