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"); } } }
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(); } }
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(); } }
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"); } }
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"); } }