示例#1
0
        private void button1_Click(object sender, EventArgs e)
        {
            string name = comboBox1.SelectedItem.ToString();

            using (var context = new ExamEntities())
            {
                context.Configuration.LazyLoadingEnabled = false;

                var clientid = context.Clients.Where((c) => c.Name == comboBox1.SelectedItem.ToString()).FirstOrDefault().PassNum;
                var num      = context.PhoneNumber.Where((n) => n.ClientId == clientid).FirstOrDefault();

                try//случайно попал в ошибку, суть которой в том что клиент был, а его номера нет - перезаполнил бд, вроде все норм
                   //но на всякий сделал try
                {
                    //вот эти поля у num по совершенно непонятным мне причинам удалялись при удалении num из бд,
                    //поэтому я их просто записал
                    var clientId = num.ClientId;
                    var clients  = num.Clients;
                    var tariff   = num.Tariff;
                    var tariffId = num.TariffId;

                    context.PhoneNumber.Remove(num);
                    context.SaveChanges();

                    try
                    {
                        num.Balance += Decimal.Parse(textBox1.Text);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Incorrect sum for reffiling");
                        return;
                    }

                    num.ClientId = clientId;
                    num.Clients  = clients;
                    num.Tariff   = tariff;
                    num.TariffId = tariffId;
                    context.PhoneNumber.Add(num);
                    context.SaveChanges();

                    MessageBox.Show("Balance has been refilled");
                }
                catch (NullReferenceException ex)
                {
                    MessageBox.Show("Choose another client");
                }
            }
        }
示例#2
0
        private void newNumber()
        {
            using (var context = new ExamEntities())
            {
                var            rand     = new Random();
                var            numbers  = new List <long>();
                long           number   = 0;
                List <Clients> clients  = context.Clients.ToList();
                var            tariffes = context.Tariff.ToList();

                do
                {
                    number = (long)(rand.NextDouble() * long.MaxValue);
                } while (numbers.Contains(number) || number < Math.Pow(10, 11) - 1);
                numbers.Add(number);

                var num = new PhoneNumber()
                {
                    Num      = number,
                    ClientId = passNum,
                    TariffId = tariffes[rand.Next(1, tariffes.Count)].Id,
                    Balance  = rand.Next(100, 20000)
                };

                context.PhoneNumber.Add(num);
                context.SaveChanges();
            }
        }
示例#3
0
 private void button1_Click(object sender, EventArgs e)
 {
     using (var context = new ExamEntities())
     {
         var currentNum = long.Parse(num_cb.SelectedItem.ToString());
         var number     = context.PhoneNumber.Where((num) => num.Num == currentNum).FirstOrDefault();
         var tariff     = context.Tariff.Where((t) => t.Name == tariffCb.Text).FirstOrDefault();
         number.TariffId = tariff.Id;
         context.SaveChanges();
     }
 }
示例#4
0
        private void AddBtn_Click(object sender, EventArgs e)
        {
            using (var context = new ExamEntities())
            {
                var names = context.Tariff.ToList();


                try
                {
                    monthPay    = Decimal.Parse(MonthPayTb.Text);
                    connectPay  = Decimal.Parse(ConnectPayTb.Text);
                    name        = nameTb.Text;
                    description = DescriptionTb.Text;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Incorrect data");
                    return;
                }

                if (string.IsNullOrEmpty(name) ||
                    string.IsNullOrEmpty(description) ||
                    !UniqName() ||
                    monthPay < 0 ||
                    connectPay < 0)
                {
                    MessageBox.Show("Incorrect data");
                    return;
                }

                Tariff tariff = new Tariff()
                {
                    Name           = name,
                    Description    = description,
                    ConnectPayment = connectPay,
                    MonthPayment   = monthPay
                };

                context.Tariff.Add(tariff);
                context.SaveChanges();
                MessageBox.Show("Tariff has been added");
            }
        }
示例#5
0
        private void addClientBtn_Click(object sender, EventArgs e)
        {
            try
            {
                name    = nameTb.Text;
                surname = SurnameTb.Text;
                int.TryParse(seriesTb.Text, out passSer);
                long.TryParse(numberTb.Text, out passNum);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Incorrect data");
                return;
            }

            //проверка имени/фамилии на корректность
            bool correctString = false;

            if (!string.IsNullOrEmpty(name) &&
                !string.IsNullOrEmpty(surname) &&
                !string.IsNullOrWhiteSpace(name) &&
                !string.IsNullOrWhiteSpace(surname) &&
                !name.Any(char.IsDigit) &&
                !surname.Any(char.IsDigit))
            {
                correctString = true;
            }

            //проверка данных пасспорта на корректность
            bool correctNum = false;

            if (!checkPasNum.Contains(passNum) &&
                !checkPasSer.Contains(passSer) &&
                passNum > (long)(Math.Pow(10, 9) + 1) &&
                passSer > 1)
            {
                correctNum = true;
            }

            if (correctNum && correctString)
            {
                Clients client = new Clients()
                {
                    Name       = name,
                    Surname    = surname,
                    PassNum    = passNum,
                    PassSeries = passSer
                };
                using (var context = new ExamEntities())
                {
                    context.Clients.Add(client);
                    context.SaveChanges();
                    MessageBox.Show("Client has been added");

                    //Создание номера новому клиенту
                    newNumber();
                }
                checkPasNum.Add(passNum);
                checkPasSer.Add(passSer);
            }
            else
            {
                MessageBox.Show("Incorrect data");
            }
        }