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 tafirrBtn_Click(object sender, EventArgs e) { using (var context = new ExamEntities()) { context.Configuration.LazyLoadingEnabled = false; var tar = context.Tariff.ToList(); dataGridView1.DataSource = tar; dataGridView1.Columns["PhoneNumber"].Visible = false; } }
private void numberBtn_Click(object sender, EventArgs e) { using (var context = new ExamEntities()) { context.Configuration.LazyLoadingEnabled = false; var num = context.PhoneNumber.ToList(); dataGridView1.DataSource = num; dataGridView1.Columns["Clients"].Visible = false; dataGridView1.Columns["Tariff"].Visible = false; } }
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 fillNames() { using (var context = new ExamEntities()) { var clients = context.Clients.ToList(); foreach (var c in clients) { comboBox1.Items.Add(c.Name); } } }
//хочу чтобы в выборе нового тарифа не было текущего private void num_cb_SelectedIndexChanged_1(object sender, EventArgs e) { using (var context = new ExamEntities()) { //поиск текущего тарифа через номер var currentNum = long.Parse(num_cb.SelectedItem.ToString()); //{var currentTariff = context.Tariff.Where( // (ct) => ct.Id == context.PhoneNumber.Where( // (num) => num.Num == currentNum).FirstOrDefault().TariffId).FirstOrDefault(); // Это был изначальный вариант как вытащить текущий тариф, я его оставил чтобы узнать действительно ли он // проще читается чем вариант ниже} //создание таблицы, в которой есть только номера и их тарифы var TariffAndHisNum = context.Tariff.Join(context.PhoneNumber, t => t.Id, pn => pn.TariffId, (t, pn) => new { PhoneNumber = pn.Num, Name = t.Name }); //ну и тут получение, собственно, названия текущего тарифа var currentTariffAndNum = TariffAndHisNum.Where((ct) => ct.PhoneNumber == currentNum).FirstOrDefault(); string currentTariffName = currentTariffAndNum.Name; //текущий тариф уже из таблицы тарифы var currentTariff = context.Tariff.Where((t) => t.Name.Equals(currentTariffName)).FirstOrDefault(); //если для данного номера "новый тариф == старому" нужно стереть выбранный тариф if (currentTariff.Name == tariffCb.SelectedItem.ToString()) { tariffCb.SelectedItem = null; } //перезаполнение comboBox с учетом текущего тарифа tariffCb.Items.Clear(); var tariff = context.Tariff.ToList(); foreach (var t in tariff) { if (t.Id == currentTariff.Id) { continue; } tariffCb.Items.Add(t.Name); } } }
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"); } } }
public AddClient() { InitializeComponent(); //загрузка номеров и серий пасспортов для проверки на уникальность при создании using (var context = new ExamEntities()) { checkPasNum = new List <long>(); checkPasSer = new List <int>(); var clients = context.Clients.ToList(); foreach (var c in clients) { checkPasNum.Add(c.PassNum); checkPasSer.Add(passSer); } } }
private void fillCb()//заполнение combobox-ов { using (var context = new ExamEntities()) { var numbers = context.PhoneNumber.ToList(); foreach (var num in numbers) { num_cb.Items.Add(num.Num); } var tariff = context.Tariff.ToList(); foreach (var t in tariff) { tariffCb.Items.Add(t.Name); } } }
private bool UniqName()//проверка имени на уникальность { var checkName = new List <String>(); using (var context = new ExamEntities()) { var names = context.Tariff.ToList(); foreach (var n in names) { checkName.Add(n.Name); } if (checkName.Contains(name)) { return(false); } return(true); } }
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"); } }