public ChangeGoods(ЗаказаноТоваров i)
 {
     InitializeComponent();
     l1.Content     = i.КодТовара;
     bCancel.Click += BCancel_Click;
     bOK.Click     += BOK_Click;
 }
        private void Dg1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //выводим наименование товара в окно
            var res3 = context3.СкладТоваров;
            var cur1 = dg1.SelectedItem;

            if (cur1 != null)
            {
                ЗаказаноТоваров cur2 = dg1.SelectedItem as ЗаказаноТоваров;

                foreach (СкладТоваров item in res3)
                {
                    if (cur2 == null)
                    {
                        break;
                    }
                    else if (cur2.КодТовара == item.КодТовара)
                    {
                        tb2.Text = item.Наименование;
                        break;
                    }
                }
            }
        }
        private void DelOrderedItem_Click(object sender, RoutedEventArgs e) //Удаление товара из заказа
        {
            var    s   = context1.СкладТоваров;
            int    num = 0;
            int    id  = 0;
            var    sel = dg2.SelectedItem;
            Заказы o   = sel as Заказы;

            if (dg1.SelectedItem == null || dg2.SelectedItem == null)
            {
                MessageBox.Show("Выберите товар!", "Внимание!", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }


            else
            {
                if (o.СостояниеID != 4)
                {
                    ЗаказаноТоваров product = dg1.SelectedItem as ЗаказаноТоваров;
                    num = product.Количество;
                    id  = product.КодТовара;
                    context1.ЗаказаноТоваров.Remove(product);
                    context1.SaveChanges();
                    dg1.ItemsSource = null;
                    dg1.Items.Clear();
                    Заказы order = dg2.SelectedItem as Заказы;
                    foreach (СкладТоваров it in s)
                    {
                        if (it.КодТовара == id)
                        {
                            it.Остаток += num;
                        }
                    }
                    context1.SaveChanges();
                    var ar = context1.ЗаказаноТоваров;
                    List <ЗаказаноТоваров> l = new List <ЗаказаноТоваров>();
                    foreach (ЗаказаноТоваров item in ar)
                    {
                        if (order.ЗаказID == item.ЗаказID)
                        {
                            l.Add(item);
                        }
                    }
                    dg1.ItemsSource = l;
                    dg1.Items.Refresh();
                    string str = String.Format("Вернули на склад товар в количестве {0} единиц!", num);
                    MessageBox.Show(str, "Внимание!", MessageBoxButton.OK, MessageBoxImage.Information);
                    MessageBox.Show("Товар удален из заказа!", "Готово!", MessageBoxButton.OK, MessageBoxImage.Information);

                    if (dg2.SelectedItem != null & dg1.HasItems == false)
                    {
                        int client = order.КлиентID;
                        var k      = context1.Клиенты;
                        foreach (Клиенты i in k)
                        {
                            if (i.КлиентID == client)
                            {
                                context1.Клиенты.Remove(i);

                                MessageBox.Show("Клиент удален", "Внимание!");
                            }
                        }
                        context1.Заказы.Remove(order);
                        MessageBox.Show("Заказ удален, так как товаров в заказе нет", "Внимание!");
                        context1.SaveChanges();
                        dg2.ItemsSource = null;
                        dg2.Items.Remove(dg2.SelectedItem);
                        var show2 = context1.Заказы.ToList();
                        foreach (Заказы item in show2)
                        {
                            dg2.Items.Add(item);
                        }
                        dg2.Items.Refresh();
                        dg1.Items.Refresh();
                    }
                }
                else
                {
                    MessageBox.Show("Нельзя удалить товар в заказе, который уже доставлен!!!", "Ошибка!", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
        private void Add_order_Click(object sender, RoutedEventArgs e) //добавление заказа
        {
            //ищем свободных клиентов в таблице и заносим

            int           count;
            List <string> clients = new List <string>();
            var           r1      = context1.Клиенты;
            var           rez     = context2.Заказы;

            foreach (Клиенты item1 in r1)
            {
                count = 0;
                foreach (Заказы item2 in rez)
                {
                    if (item2.КлиентID == item1.КлиентID)
                    {
                        count++;
                        break;
                    }
                }
                if (count == 0)
                {
                    clients.Add(item1.ФИО);
                }
            }
            //добавляем список состояний
            List <string> stat = new List <string>();
            var           r2   = context3.СостояниеЗаказа;

            foreach (СостояниеЗаказа item3 in r2)
            {
                stat.Add(item3.Состояние);
            }
            //добавляем список водил
            List <string> driv = new List <string>();
            var           r3   = context1.Водители;

            foreach (Водители item4 in r3)
            {
                driv.Add(item4.ФИО);
            }
            //добавляем список транспорта
            List <string> transp = new List <string>();
            var           r4     = context1.ТранспортноеСредство;

            foreach (ТранспортноеСредство item5 in r4)
            {
                transp.Add(item5.Марка);
            }
            //добавляем список товаров
            List <string> goods1 = new List <string>();
            var           r5     = context4.СкладТоваров;

            foreach (СкладТоваров item6 in r5)
            {
                goods1.Add(item6.Наименование);
            }
            int clienID  = 0;
            int sostID   = 0;
            int carID    = 0;
            int driverID = 0;

            DialAddOrder dial = new DialAddOrder(clients, stat, driv, transp, goods1);

            if (dial.ShowDialog() == true)
            {
                foreach (Клиенты i in r1)
                {
                    if (i.ФИО == dial.klient)
                    {
                        clienID = i.КлиентID;
                    }
                }
                foreach (СостояниеЗаказа itm in r2)
                {
                    if (itm.Состояние == dial.sostoyanie)
                    {
                        sostID = itm.СостояниеID;
                    }
                }
                foreach (ТранспортноеСредство item in r4)
                {
                    if (item.Марка == dial.transport)
                    {
                        carID = item.ТрСредствоID;
                    }
                }
                foreach (Водители it in r3)
                {
                    if (it.ФИО == dial.vodila)
                    {
                        driverID = it.ВодительID;
                    }
                }
                int zakazID = 0;
                if (dial.DataDostavki == "")
                {
                    Заказы addZakaz = new Заказы
                    {
                        СрокПоставки    = DateTime.Parse(dial.SrokPostavki),
                        ДатаЗаказа      = DateTime.Parse(dial.DataZakaza),
                        КлиентID        = clienID,
                        МестоНазначения = dial.mestoNaznachenia,
                        СостояниеID     = sostID,
                        ТрСредствоID    = carID,
                        ВодительID      = driverID
                    };
                    context1.Заказы.Add(addZakaz);
                    context1.SaveChanges();
                    zakazID = addZakaz.ЗаказID;
                }
                else
                {
                    Заказы addZakaz = new Заказы
                    {
                        СрокПоставки    = DateTime.Parse(dial.SrokPostavki),
                        ДатаЗаказа      = DateTime.Parse(dial.DataZakaza),
                        КлиентID        = clienID,
                        МестоНазначения = dial.mestoNaznachenia,
                        СостояниеID     = sostID,
                        ДатаДоставки    = DateTime.Parse(dial.DataDostavki),
                        ТрСредствоID    = carID,
                        ВодительID      = driverID
                    };
                    context1.Заказы.Add(addZakaz);
                    context1.SaveChanges();
                    zakazID = addZakaz.ЗаказID;
                }

                hTable = dial.l;
                int     mass              = 1;
                decimal rascenka          = 1;
                int     kodID             = 0;
                int     kolichestvoTovara = 0;
                foreach (DictionaryEntry i in hTable)
                {
                    foreach (СкладТоваров item in r5)
                    {
                        if (item.Наименование == (string)i.Key)
                        {
                            kodID             = item.КодТовара;
                            kolichestvoTovara = int.Parse(i.Value.ToString());
                        }
                    }

                    СкладТоваров deletFromSklad = context1.СкладТоваров.Find(kodID);
                    deletFromSklad.Остаток = deletFromSklad.Остаток - kolichestvoTovara;

                    if (deletFromSklad == null || deletFromSklad.Остаток < 0)
                    {
                        MessageBox.Show("Ошибка по складу товаров!", "Внимание!", MessageBoxButton.OK, MessageBoxImage.Error);
                        deletFromSklad.Остаток = deletFromSklad.Остаток + kolichestvoTovara;
                        endOperationOK         = false;
                        Заказы delZakaz = context1.Заказы.Find(zakazID);
                        context1.Заказы.Remove(delZakaz);
                        context1.SaveChanges();
                        break;
                    }
                    else
                    {
                        ЗаказаноТоваров addTovari = new ЗаказаноТоваров
                        {
                            ЗаказID         = zakazID,
                            КодТовара       = kodID,
                            асценкаТоннЗаКм = rascenka,
                            Количество      = kolichestvoTovara,
                            Масса           = mass
                        };
                        context1.ЗаказаноТоваров.Add(addTovari);
                        context1.SaveChanges();



                        endOperationOK = true;
                    }
                }
                if (endOperationOK == true)
                {
                    var success = context1.Заказы;
                    dg2.Items.Clear();
                    foreach (Заказы item in success)
                    {
                        dg2.Items.Add(item);
                    }
                    MessageBox.Show("Заказ успешно добавлен", "Успех!", MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }
        }
 private void Ordered_items_Click(object sender, RoutedEventArgs e)
 {
     if (dg1.SelectedItem != null)
     {
         var it = dg1.SelectedItem;
         if (it is ЗаказаноТоваров)
         {
             ЗаказаноТоваров tovar         = it as ЗаказаноТоваров;
             ChangeGoods     dial          = new ChangeGoods(tovar);
             int             currentNumber = tovar.Количество;
             int             ostatok       = 0;
             if (dial.ShowDialog() == true)
             {
                 int     m = dial.Mass;
                 decimal c = dial.Cost;
                 int     n = dial.Number;
                 if (m != 0)
                 {
                     tovar.Масса = m;
                 }
                 if (c != 0)
                 {
                     tovar.асценкаТоннЗаКм = c;
                 }
                 if (n != 0)
                 {
                     tovar.Количество = n;
                     var rez1 = context1.СкладТоваров;
                     foreach (СкладТоваров item in rez1)
                     {
                         if (item.КодТовара == tovar.КодТовара)
                         {
                             if (currentNumber > n)
                             {
                                 currentNumber = currentNumber - n;
                                 item.Остаток  = item.Остаток + currentNumber;
                                 ostatok       = item.Остаток;
                             }
                             else if (currentNumber < n)
                             {
                                 currentNumber = n - currentNumber;
                                 item.Остаток  = item.Остаток - currentNumber;
                                 ostatok       = item.Остаток;
                             }
                         }
                     }
                 }
                 context1.SaveChanges();
                 dg1.Items.Refresh();
                 var showOstatok = context1.СкладТоваров;
                 foreach (СкладТоваров i in showOstatok)
                 {
                     if (i.КодТовара == tovar.КодТовара)
                     {
                         ostatok = i.Остаток;
                     }
                 }
                 MessageBox.Show("Остаток на складе = " + ostatok, "Внимание", MessageBoxButton.OK, MessageBoxImage.Information);
                 MessageBox.Show("Данные о товаре изменены!", "Успех", MessageBoxButton.OK, MessageBoxImage.Information);
             }
         }
     }
     else
     {
         MessageBox.Show("Сначала выделите товар в таблице, данные о котором хотите изменить!", "Внимание", MessageBoxButton.OK, MessageBoxImage.Information);
     }
 }
        private async void Add_Click(object sender, RoutedEventArgs e)
        {
            await context1.ЗаказаноТоваров.LoadAsync();

            var r  = context1.СкладТоваров;
            var r2 = context1.ЗаказаноТоваров.ToArray();

            if (tb.Text == "" & gb.SelectedItem == null)
            {
                MessageBox.Show("Ошибка ввода!", "Внимание!", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else if (tb.Text != "" || gb.SelectedItem != null)
            {
                if (tb.Text == "")
                {
                    MessageBox.Show("Введите число!", "Внимание!", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else if (gb.SelectedItem == null)
                {
                    MessageBox.Show("Выберите товар!", "Внимание!", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {
                    foreach (СкладТоваров i3 in r)
                    {
                        if (i3.Наименование == (string)gb.SelectedItem)
                        {
                            if (i3.Остаток - int.Parse(tb.Text) < 0)
                            {
                                MessageBox.Show("Нехватка товара на складе!", "Внимание!", MessageBoxButton.OK, MessageBoxImage.Error);
                                flag = true;
                            }
                            else
                            {
                                flag = false;
                            }
                        }
                    }
                    if (flag == false)
                    {
                        string item = gb.SelectedItem as string;


                        foreach (ЗаказаноТоваров i in lst)
                        {
                            if (i.СкладТоваров.Наименование == item)
                            {
                                i.Количество += int.Parse(tb.Text);
                                //await context1.SaveChangesAsync();
                                alreadyAdded = true;
                                break;
                            }
                            if (alreadyAdded == false)
                            {
                                foreach (ЗаказаноТоваров i2 in r2)
                                {
                                    if (i2.СкладТоваров.Наименование == item)
                                    {
                                        product = new ЗаказаноТоваров
                                        {
                                            ЗаказID         = order1.ЗаказID,
                                            КодТовара       = i2.КодТовара,
                                            Количество      = int.Parse(tb.Text),
                                            Масса           = 2,
                                            асценкаТоннЗаКм = 1
                                        };
                                    }
                                }
                            }
                        }
                        if (product != null & alreadyAdded == false)
                        {
                            context1.ЗаказаноТоваров.Add(product);
                            product = null;
                        }
                        try
                        {
                            await context1.SaveChangesAsync();

                            alreadyAdded = false;
                            MessageBox.Show("Товар добавлен в заказ!", "Готово!", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                        catch (System.Data.Entity.Infrastructure.DbUpdateException)
                        {
                            MessageBox.Show("Товар добавить не удалось, попробуйте заново войти в меню, чтобы добавить товар!", "Ошибка добавления товара", MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }
                }
            }
        }
Example #7
0
        private async void BOk_Click(object sender, RoutedEventArgs e)
        {
            if (rbSave.IsChecked is true)
            {
                XDocument xdoc   = new XDocument();
                XElement  xroot  = new XElement("Заказы");
                XElement  orders = new XElement("Товары");


                var rez  = context1.Заказы;
                var rez2 = context2.ЗаказаноТоваров;
                var rez3 = context3.СостояниеЗаказа;
                var rez4 = context4.Клиенты;
                var rez5 = context5.Водители;
                var rez6 = context6.ТранспортноеСредство;

                foreach (Заказы i in rez)
                {
                    //Первый элемент
                    XElement elId = new XElement("Заказ");
                    //Элементы этого элемента
                    XElement   elDataDostavki;
                    XAttribute elAttr         = new XAttribute("id", i.ЗаказID.ToString());
                    XElement   elSrokPostavki = new XElement("СрокПоставки", i.СрокПоставки.ToShortDateString());
                    if (i.ДатаДоставки != null)
                    {
                        elDataDostavki = new XElement("ДатаДоставки", i.ДатаДоставки.Value.ToShortDateString());
                    }
                    else
                    {
                        elDataDostavki = new XElement("ДатаДоставки", "");
                    }
                    XElement elDataZakaza       = new XElement("ДатаЗаказа", i.ДатаЗаказа.ToShortDateString());
                    XElement elDestinationPlace = new XElement("МестоНазначения", i.МестоНазначения.ToString());
                    elId.Add(elAttr);
                    elId.Add(elSrokPostavki);
                    elId.Add(elDataDostavki);
                    elId.Add(elDataZakaza);
                    elId.Add(elDestinationPlace);
                    //данные о заказанных товарах
                    foreach (ЗаказаноТоваров i2 in rez2)
                    {
                        if (i.ЗаказID == i2.ЗаказID)
                        {
                            XElement   elOrderedItem    = new XElement("Товар");
                            XAttribute elAttrItem       = new XAttribute("id", i2.КодТовара.ToString());
                            XElement   elItemWeightCost = new XElement("РасценкаТоннЗаКм", i2.асценкаТоннЗаКм);
                            XElement   elItemAmount     = new XElement("Количество", i2.Количество);
                            XElement   elItemWeigth     = new XElement("Масса", i2.Масса);
                            //Привязка к товару
                            elOrderedItem.Add(elAttrItem);
                            elOrderedItem.Add(elItemWeightCost);
                            elOrderedItem.Add(elItemAmount);
                            elOrderedItem.Add(elItemWeigth);
                            //вставляем данные о заказанных товарах в одному заказу
                            orders = new XElement(elOrderedItem); ///обязательно через NEW!!!!!!!!!!!!!!!!

                            //вставляем данные с товарами о заказе
                            elId.Add(orders);
                        }
                    }
                    //СОстояние товара
                    foreach (СостояниеЗаказа i3 in rez3)
                    {
                        if (i.СостояниеID == i3.СостояниеID)
                        {
                            XElement   elStat     = new XElement("СостояниеЗаказа");
                            XAttribute elAtt      = new XAttribute("id", i3.СостояниеID.ToString());
                            XElement   elStatName = new XElement("Состояние", i3.Состояние.ToString());
                            elStat.Add(elAtt);
                            elStat.Add(elStatName);
                            elId.Add(elStat);
                        }
                    }
                    //Клиент заказа
                    foreach (Клиенты i4 in rez4)
                    {
                        if (i.КлиентID == i4.КлиентID)
                        {
                            XElement   elClient = new XElement("Клиент");
                            XAttribute elAttCli = new XAttribute("id", i4.КлиентID.ToString());
                            XElement   elFIO    = new XElement("ФИО", i4.ФИО.ToString());
                            XElement   elTel    = new XElement("Телефон", i4.Телефон.ToString());
                            XElement   elAdress = new XElement("Адрес", i4.Адрес.ToString());
                            elClient.Add(elAttCli);
                            elClient.Add(elFIO);
                            elClient.Add(elTel);
                            elClient.Add(elAdress);
                            //Добавляем клиента
                            elId.Add(elClient);
                        }
                    }
                    //Водитель
                    foreach (Водители i5 in rez5)
                    {
                        if (i.ВодительID == i5.ВодительID)
                        {
                            XElement   elDriver    = new XElement("Водитель");
                            XAttribute elAttDri    = new XAttribute("id", i5.ВодительID.ToString());
                            XElement   elFIOdriver = new XElement("ФИО", i5.ФИО);
                            XElement   elTeldriver = new XElement("МобТелефон", i5.МобТелефон);
                            elDriver.Add(elAttDri);
                            elDriver.Add(elFIOdriver);
                            elDriver.Add(elTeldriver);

                            elId.Add(elDriver);
                        }
                    }
                    //Грузовик
                    foreach (ТранспортноеСредство i6 in rez6)
                    {
                        if (i.ТрСредствоID == i6.ТрСредствоID)
                        {
                            XElement   elCar       = new XElement("Грузовик");
                            XAttribute elAttCar    = new XAttribute("id", i6.ТрСредствоID.ToString());
                            XElement   elCarType   = new XElement("Марка", i6.Марка);
                            XElement   elCarWeight = new XElement("Грузоподъемность", i6.Грузоподъемность);
                            elCar.Add(elAttCar);
                            elCar.Add(elCarType);
                            elCar.Add(elCarWeight);

                            elId.Add(elCar);
                        }
                    }

                    //Добалвяем в корень данные из таблицы Заказы
                    xroot.Add(elId);
                }
                //Запись в документ
                xdoc.Add(xroot);
                //Сохраняем документ
                xdoc.Save("Data1.xml");
                //Сообщение об успешном сохранении в файл
                MessageBox.Show("Данные были успешно сохранены.", "Окей", MessageBoxButton.OK, MessageBoxImage.Information);
                DialogResult = true;
            }
            //чтение из файла
            if (rbLoad.IsChecked is true)
            {
                DriverId = 0;
                clientId = 0;
                CarId    = 0;
                flag     = false;
                flagCar  = false;
                var       col   = context1.Заказы;
                XDocument xdoc  = XDocument.Load("Data1.xml");
                var       xroot = xdoc.Root; //Заказы


                Заказы order;
                int    orderId;
                //Обход коллекции Заказы
                foreach (XElement el in xdoc.Element("Заказы").Elements("Заказ")) //ищем по порядку
                {
                    //обнуляем флаги и состояния
                    DriverId = 0;
                    clientId = 0;
                    CarId    = 0;
                    flag     = false;
                    flagCar  = false;

                    int item = int.Parse(el.Attribute("id").Value);
                    order = col.FirstOrDefault(s => s.ЗаказID == item);// ищем id заказа в базе

                    if (order == null)
                    {
                        //Если ID заказа нет в xml файле, добавляем, данные о клиенте, затем, сам заказ, затем товары и все остальное...
                        //Добаляем клента
                        Клиенты addClient = new Клиенты
                        {
                            //КлиентID = int.Parse(el.Element("Клиент").Attribute("id").Value),
                            ФИО     = el.Element("Клиент").Element("ФИО").Value,
                            Адрес   = el.Element("Клиент").Element("Адрес").Value,
                            Телефон = el.Element("Клиент").Element("Телефон").Value
                        };
                        context1.Клиенты.Add(addClient);
                        context1.SaveChanges();
                        clientId = addClient.КлиентID;
                        var dr = context1.Водители;
                        //Проверяем наличие водителей
                        foreach (Водители drivers in dr)
                        {
                            if (drivers.ФИО == el.Element("Водитель").Element("ФИО").Value)
                            {
                                flag = true;
                                break;
                            }
                        }
                        //Проверяем наличие транпортного средства
                        var ts = context1.ТранспортноеСредство;
                        foreach (ТранспортноеСредство t in ts)
                        {
                            if (t.Марка == el.Element("Грузовик").Element("Марка").Value)
                            {
                                flagCar = true;
                                break;
                            }
                        }



                        if (flag == false) //Если водителя нет в базе
                        {
                            if (flagCar)   //если машина в базе
                            {
                                CarId = int.Parse(el.Element("Грузовик").Attribute("id").Value);
                            }
                            if (flagCar == false) //иначе...
                            {
                                ТранспортноеСредство car = new ТранспортноеСредство
                                {
                                    Марка            = el.Element("Грузовик").Element("Марка").Value,
                                    Грузоподъемность = double.Parse(el.Element("Грузовик").Element("Грузоподъемность").Value)
                                };

                                context1.ТранспортноеСредство.Add(car);
                                context1.SaveChanges();
                                CarId = car.ТрСредствоID;
                            }
                            //Добавляем водителя
                            Водители addDriver = new Водители
                            {
                                ФИО        = el.Element("Водитель").Element("ФИО").Value,
                                МобТелефон = el.Element("Водитель").Element("МобТелефон").Value
                            };
                            context1.Водители.Add(addDriver);
                            context1.SaveChanges();
                            DriverId = addDriver.ВодительID;
                            //Добавляем сам заказ с новым водителем
                            if (el.Element("ДатаДоставки").Value != "")
                            {
                                Заказы addOrder = new Заказы
                                {
                                    //ЗаказID = int.Parse(el.Attribute("id").Value),
                                    СрокПоставки    = DateTime.Parse(el.Element("СрокПоставки").Value).Date,
                                    ДатаДоставки    = DateTime.Parse(el.Element("ДатаДоставки").Value).Date,
                                    ДатаЗаказа      = DateTime.Parse(el.Element("ДатаЗаказа").Value).Date,
                                    МестоНазначения = el.Element("МестоНазначения").Value,
                                    ВодительID      = DriverId,
                                    СостояниеID     = int.Parse(el.Element("СостояниеЗаказа").Attribute("id").Value),
                                    ТрСредствоID    = CarId,
                                    КлиентID        = clientId
                                };
                                context1.Заказы.Add(addOrder);
                                context1.SaveChanges();
                                orderId = addOrder.ЗаказID;
                            }
                            else
                            {
                                Заказы addOrder = new Заказы
                                {
                                    // ЗаказID = int.Parse(el.Attribute("id").Value),
                                    СрокПоставки    = DateTime.Parse(el.Element("СрокПоставки").Value).Date,
                                    ДатаЗаказа      = DateTime.Parse(el.Element("ДатаЗаказа").Value).Date,
                                    МестоНазначения = el.Element("МестоНазначения").Value,
                                    ВодительID      = DriverId,
                                    СостояниеID     = int.Parse(el.Element("СостояниеЗаказа").Attribute("id").Value),
                                    ТрСредствоID    = CarId,
                                    КлиентID        = clientId
                                };

                                context1.Заказы.Add(addOrder);
                                context1.SaveChanges();
                                orderId = addOrder.ЗаказID;
                            }
                        }
                        else //если водитель есть в базе
                        {
                            if (flagCar) //если машина в базе
                            {
                                CarId = int.Parse(el.Element("Грузовик").Attribute("id").Value);
                            }
                            if (flagCar == false) //иначе...
                            {
                                ТранспортноеСредство car = new ТранспортноеСредство
                                {
                                    Марка            = el.Element("Грузовик").Element("Марка").Value,
                                    Грузоподъемность = double.Parse(el.Element("Грузовик").Element("Грузоподъемность").Value)
                                };

                                context1.ТранспортноеСредство.Add(car);
                                context1.SaveChanges();
                                CarId = car.ТрСредствоID;
                            }

                            //Добавляем сам заказ
                            if (el.Element("ДатаДоставки").Value != "")
                            {
                                Заказы addOrder = new Заказы
                                {
                                    СрокПоставки    = DateTime.Parse(el.Element("СрокПоставки").Value).Date,
                                    ДатаДоставки    = DateTime.Parse(el.Element("ДатаДоставки").Value).Date,
                                    ДатаЗаказа      = DateTime.Parse(el.Element("ДатаЗаказа").Value).Date,
                                    МестоНазначения = el.Element("МестоНазначения").Value,
                                    ТрСредствоID    = CarId,
                                    ВодительID      = int.Parse(el.Element("Водитель").Attribute("id").Value),
                                    СостояниеID     = int.Parse(el.Element("СостояниеЗаказа").Attribute("id").Value),
                                    КлиентID        = clientId
                                };
                                context1.Заказы.Add(addOrder);
                                context1.SaveChanges();
                                orderId = addOrder.ЗаказID;
                            }
                            else
                            {
                                Заказы addOrder = new Заказы
                                {
                                    СрокПоставки    = DateTime.Parse(el.Element("СрокПоставки").Value).Date,
                                    ДатаЗаказа      = DateTime.Parse(el.Element("ДатаЗаказа").Value).Date,
                                    МестоНазначения = el.Element("МестоНазначения").Value,
                                    ВодительID      = int.Parse(el.Element("Водитель").Attribute("id").Value),
                                    СостояниеID     = int.Parse(el.Element("СостояниеЗаказа").Attribute("id").Value),
                                    ТрСредствоID    = CarId,
                                    КлиентID        = clientId
                                };

                                context1.Заказы.Add(addOrder);
                                context1.SaveChanges();
                                orderId = addOrder.ЗаказID;
                            }
                        }
                        //Добавляем товары к заказу
                        //Ищем товары в заказе с текущим id
                        var items = from xe in xdoc.Element("Заказы").Elements("Заказ")
                                    where xe.Attribute("id").Value == item.ToString()
                                    select xe.Element("Товар");

                        //Перебираем найденные товары и добавляем в заказ

                        foreach (var i in items)
                        {
                            ЗаказаноТоваров addingGoods = new ЗаказаноТоваров
                            {
                                ЗаказID         = orderId,
                                КодТовара       = int.Parse(i.Attribute("id").Value),
                                асценкаТоннЗаКм = decimal.Parse(i.Element("РасценкаТоннЗаКм").Value, CultureInfo.CreateSpecificCulture("en-US")),
                                Количество      = int.Parse(i.Element("Количество").Value),
                                Масса           = int.Parse(i.Element("Масса").Value)
                            };
                            context1.ЗаказаноТоваров.Add(addingGoods);
                            context1.SaveChanges();
                        }

                        await context1.SaveChangesAsync();

                        MessageBox.Show("Так как товара в базе нет, вставляем новый заказ.", "Внимание!");
                    }
                }



                MessageBox.Show("Данные были успешно импортированы.", "Окей", MessageBoxButton.OK, MessageBoxImage.Information);
                DialogResult = true;
            }
        }