Example #1
0
 /// <summary>
 /// Индексатор
 /// </summary>
 /// <param name="iUser"></param>
 /// <returns></returns>
 public Client this[uint passport]
 {
     get
     {
         var a = new Client();
         for (int i = 0; i < Clients.Count; i++)
         {
             if (Clients[i].Passport == passport && Clients[i].Passport != 0)
             {
                 a = Clients[i];
             }
             else if (Clients[i].Passport == 0)
             {
                 Client         f  = Clients[i];
                 object         fo = f;
                 Client_Company co = (Client_Company)fo;
                 if (((Client_Company)fo).Inn == passport)
                 {
                     a = Clients[i];
                 }
             }
         }
         return(a);
     }
 }
Example #2
0
        /// <summary>
        /// Сохраняет нового клиента и закрывает текущее окно
        /// </summary>
        /// <param name="Cb_Status">ComboBox выбора статуса</param>
        /// <param name="NumPassport">TextBox паспорта или ИНН</param>
        /// <param name="LstName">TextBox Фамилии</param>
        /// <param name="FstName">TextBox Имени</param>
        /// <param name="BrthDay">DatePicker Дня рождения</param>
        /// <param name="Bt_Rating">TextBox Кпедитного рейтинга</param>
        internal void SaveNewClient(ComboBox Cb_Status, TextBox NumPassport, TextBox LstName, TextBox FstName, DatePicker BrthDay, TextBox Bt_Rating)
        {
            try
            {
                bool flag = true;
                if (NumPassport.Text != "")
                {
                    //Если клиент Компания
                    if (((AddClient_Helper)Cb_Status.SelectedValue).Status == "COMPANY")
                    {
                        ///проверка ИНН на совпадение
                        foreach (var cl in MainWindow.ML.clientData.Clients)
                        {
                            if (cl.Passport == 0)
                            {
                                object clc = cl;
                                if (NumPassport.Text != "")
                                {
                                    try
                                    {
                                        if (Convert.ToUInt32(NumPassport.Text) == ((Client_Company)clc).Inn)
                                        {
                                            MessageBox.Show("Клиент с таким ИНН  уже существует!");

                                            NumPassport.Text = "";
                                            flag             = false;
                                            break;
                                        }
                                    }
                                    catch


                                    {
                                        MessageBox.Show("Номер ИНН должен сосоять только из чисел");
                                        flag = false;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Вы не заполнили все поля");
                                    flag = false;
                                }
                            }
                        }


                        if (flag == true)
                        {
                            try
                            {
                                var client = new Client_Company(LstName.Text, Convert.ToDateTime(BrthDay.Text), Convert.ToUInt32(NumPassport.Text), "0", adress, "COMPANY");

                                client.Rating = Convert.ToInt32(Bt_Rating.Text);
                                MainWindow.ML.clientData.Clients.Add(client);



                                MainWindow.ML.LogiAll.Logis.Add(new Logi((client.Inn.ToString() + " ДОБАВЛЕН в " + (DateTime.Now).ToString())));
                                MainWindow.ML.LogiAll.Save();
                                Bt_Rating.BorderBrush = Brushes.Gray;
                            }
                            catch
                            {
                                MessageBox.Show("Рейтинг должен состоять из целых чисел");
                                Bt_Rating.BorderBrush = Brushes.Red;
                                flag = false;
                            }
                        }
                    }

                    //если клиент физическое лицо
                    else
                    {
                        try
                        {
                            // Проверка Паспорта на совпадение
                            foreach (var cl in MainWindow.ML.clientData.Clients)
                            {
                                if (NumPassport.Text != "")
                                {
                                    if (Convert.ToUInt32(NumPassport.Text) == cl.Passport)
                                    {
                                        MessageBox.Show("Клиент с таким номером паспорта уже существует!");
                                        flag             = false;
                                        NumPassport.Text = "";
                                        break;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Вы не заполнили все поля");
                                    flag = false;
                                }
                            }
                        }
                        catch
                        {
                            MessageBox.Show("Номер Паспорта должен сосоять только из чисел");
                            flag = false;
                        }

                        if (flag == true)
                        {
                            try
                            {
                                client        = new Client(FstName.Text, LstName.Text, Convert.ToDateTime(BrthDay.Text), Convert.ToUInt32(NumPassport.Text), "", adress, work);
                                client.Status = ((AddClient_Helper)Cb_Status.SelectedValue).Status;
                                MainWindow.ML.clientData.Clients.Add(client);


                                client.Rating = Convert.ToInt32(Bt_Rating.Text);

                                MainWindow.ML.LogiAll.Logis.Add(new Logi((client.Passport.ToString() + " ДОБАВЛЕН в " + (DateTime.Now).ToString())));
                                MainWindow.ML.LogiAll.Save();
                                Bt_Rating.BorderBrush = Brushes.Gray;
                            }
                            catch
                            {
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Вы не заполнили все поля");
                    flag = false;
                }

                if (flag == true)
                {
                    ///перебирает открытые окна и закрывает текущее
                    foreach (Window window in App.Current.Windows)
                    {
                        if (window is AddClient)
                        {
                            Ev_Mes += Mes; // добавляем метод в событие

                            window.Close();
                            Ev_Mes?.Invoke("Добавлен новый клиент");
                        }
                    }
                }
            }
            catch (MyExeption e)
            {
                BrthDay.BorderBrush     = Brushes.Red;
                NumPassport.BorderBrush = Brushes.Red;

                Bt_Rating.BorderBrush = Brushes.Red;


                MessageBox.Show("Проверьте коректность вводимых данных. " + e.Message);
            }
        }