//Удаление из базы данных private void BDelete_Click(object sender, EventArgs e) { if (NomerLight == true) { if (dataGridView.SelectedRows.Count > 0) { int index = dataGridView.SelectedRows[0].Index; int id = 0; bool converted = Int32.TryParse(dataGridView[0, index].Value.ToString(), out id); if (converted == false) { return; } HotelRoom hotelroom = db.HotelRooms.Find(id); db.HotelRooms.Remove(hotelroom); db.SaveChanges(); MessageBox.Show("Обьект удален"); Nomer(); } } else if (ClientLight == true) { if (dataGridView.SelectedRows.Count > 0) { int index = dataGridView.SelectedRows[0].Index; int id = 0; bool converted = Int32.TryParse(dataGridView[0, index].Value.ToString(), out id); if (converted == false) { return; } Client client = db.Clients.Find(id); db.Clients.Remove(client); db.SaveChanges(); MessageBox.Show("Обьект удален"); Client(); } } else if (RegHotelLight == true) { if (dataGridView.SelectedRows.Count > 0) { int index = dataGridView.SelectedRows[0].Index; int id = 0; bool converted = Int32.TryParse(dataGridView[0, index].Value.ToString(), out id); if (converted == false) { return; } RegHotel reghotel = db.RegHotels.Find(id); db.RegHotels.Remove(reghotel); db.SaveChanges(); MessageBox.Show("Обьект удален"); RegHotel(); } } }
private void BEnd_Click(object sender, EventArgs e) { RegHotel regHotel = db.RegHotels.Find(id); regHotel.desclive = "Оплачено"; db.SaveChanges(); this.Close(); }
//Оплата public void payForHotel() { int indexRow = dataGridView.CurrentCell.RowIndex; int id = Convert.ToInt32(dataGridView.Rows[indexRow].Cells[0].Value); using (var context = new MyDbContext()) { RegHotel regHotel = db.RegHotels.Find(id); var query = from x in context.HotelRooms from y in context.RegHotels from z in context.Clients where y.idFlat == regHotel.idFlat && regHotel.idClient == y.idClient && regHotel.startLive == y.startLive && regHotel.endLive == y.endLive && x.idFlat == y.idFlat && z.idClient == y.idClient select new { money = x.payment, name = z.name, surname = z.surname, lastname = z.lastname, nomer = y.idFlat, startDays = y.startLive, endDays = y.endLive, count = z.countDaysLive }; Check check = new Check(this); foreach (var x in query.ToList()) { check.LFIO.Text = x.surname.ToString() + " " + x.name.ToString() + " " + x.lastname.ToString(); check.LNomer.Text = x.nomer.ToString(); check.LStartlive.Text = x.startDays.ToShortDateString().ToString(); check.LEndlive.Text = x.endDays.ToShortDateString().ToString(); check.LDays.Text = ((x.endDays - x.startDays).Days + 1).ToString(); if (x.count > 20) { check.LSale.Text = "Есть"; int countDays = (x.endDays - x.startDays).Days + 1; int summa = x.money * countDays; int procent = (summa / 100) * 15; summa = summa - procent; check.LSumma.Text = summa.ToString(); } else { check.LSale.Text = "Отсутствует"; int countDays = (x.endDays - x.startDays).Days + 1; int summa = x.money * countDays; check.LSumma.Text = summa.ToString(); } check.id = id; check.Show(); } } }
private void BDelete_Click(object sender, RoutedEventArgs e) { if (NomerLight == true) { if (dataGridView.SelectedItem.ToString().Count() > 0) { dynamic nomerget = dataGridView.SelectedItem; int id = 0; id = Convert.ToInt32(nomerget.Id); HotelRoom hotelroom = db.HotelRooms.Find(id); db.HotelRooms.Remove(hotelroom); db.SaveChanges(); MessageBox.Show("Обьект удален"); Nomer(); } } else if (ClientLight == true) { if (dataGridView.SelectedItem.ToString().Count() > 0) { dynamic clientget = dataGridView.SelectedItem; int id = 0; id = Convert.ToInt32(clientget.Id); Client client = db.Clients.Find(id); db.Clients.Remove(client); db.SaveChanges(); MessageBox.Show("Обьект удален"); Client(); } } else if (RegHotelLight == true) { if (dataGridView.SelectedItem.ToString().Count() > 0) { dynamic regHotel = dataGridView.SelectedItem; int id = 0; id = Convert.ToInt32(regHotel.Id); RegHotel reghotel = db.RegHotels.Find(id); db.RegHotels.Remove(reghotel); db.SaveChanges(); MessageBox.Show("Обьект удален"); RegHotel(); } } }
//HotelRoom --------------------------------------------- DATA GRID VIEW ------------------------------------------------ // private void BAddNomer_Click(object sender, RoutedEventArgs e) { try { using (var context = new MyDbContext()) { dynamic clientget = DataGridViewClient.SelectedItem; dynamic nomerget = DataGridViewNomer.SelectedItem; int getclientids = Convert.ToInt32(clientget.Id); int getnomerids = Convert.ToInt32(nomerget.Id); var getclientid = context.Clients.Where(x => x.idClient == getclientids).Select(x => x.idClient).First(); var getnomerid = context.HotelRooms.Where(x => x.idFlat == getnomerids).Select(x => x.idFlat).First(); var query = context.RegHotels.Where(x => x.idClient == getclientid && x.idFlat == getnomerid); var reghotel = new RegHotel() { idClient = getclientids, idFlat = getnomerid, startLive = dateTimePickerStart.SelectedDate.Value, endLive = dateTimePickerEnd.SelectedDate.Value, desclive = CBDesclive.SelectedItem.ToString(), }; if (query.ToList().Count > 0) { MessageBox.Show("Такое изделие и материал уже есть"); } else { context.RegHotels.Add(reghotel); context.SaveChanges(); db.SaveChanges(); MessageBox.Show("Добавлено"); this.Close(); } } } catch (System.Data.Entity.Infrastructure.DbUpdateException error) { MessageBox.Show("Выберите данные в таблице", "ошибка"); } catch (System.FormatException error) { MessageBox.Show("Укажите вес", "ошибка"); } }
private void Button_Click(object sender, RoutedEventArgs e) { if (id != null) { RegHotel regHotel = db.RegHotels.Find(id); regHotel.desclive = "Оплачено"; db.SaveChanges(); this.Close(); } else { MessageBox.Show("Не открыта таблица регистрация или не выбран пользователь"); } }
private void Add1_Click(object sender, RoutedEventArgs e) { using (var context = new MyDbContext()) { var res = from x in context.Clients where x.login == login select new { Id = x.idClient, Name = x.name, Surname = x.surname, Lastname = x.lastname, dateOfBirth = x.dataOfBirth, countlive = x.countDaysLive, desc = x.deschotel }; dynamic nomerget = dataGridView.SelectedItem; int getnomerids = Convert.ToInt32(nomerget.Id); var getnomerid = context.HotelRooms.Where(x => x.idFlat == getnomerids).Select(x => x.idFlat).First(); var regHotel = new RegHotel() { idClient = idclient, idFlat = getnomerid, startLive = dateTimePickerStart.SelectedDate.Value, endLive = dateTimePickerEnd.SelectedDate.Value, desclive = "Не оплачено" }; Client client = db.Clients.Find(idclient); { client.countDaysLive = client.countDaysLive + (regHotel.endLive - regHotel.startLive).Days; } context.RegHotels.Add(regHotel); context.SaveChanges(); db.SaveChanges(); MessageBox.Show("Вы забронировали номер"); freenomer(); } }
//HotelRoom --------------------------------------------- DATA GRID VIEW ------------------------------------------------ // //Добавление private void BAdd_Click(object sender, EventArgs e) { try { using (var context = new MyDbContext()) { var query = context.RegHotels.Where(x => x.idFlat == nomerid && (dateTimePickerStart.Value >= x.startLive && x.endLive >= dateTimePickerStart.Value || dateTimePickerEnd.Value >= x.startLive && x.endLive >= dateTimePickerEnd.Value)); var regHotel = new RegHotel() { idClient = clientid, idFlat = nomerid, startLive = dateTimePickerStart.Value, endLive = dateTimePickerEnd.Value, desclive = CBDesclive.SelectedItem.ToString(), }; Client client = db.Clients.Find(clientid); { client.countDaysLive = client.countDaysLive + (regHotel.endLive - regHotel.startLive).Days; } if (query.ToList().Count > 0) { MessageBox.Show("Это дата уже занята"); } else { context.RegHotels.Add(regHotel); context.SaveChanges(); db.SaveChanges(); MessageBox.Show("Добавлено"); this.Close(); } } } catch (System.NullReferenceException error) { MessageBox.Show("В выпадающим списке выберете данные", "ошибка"); } }
private void BAddreg_Click(object sender, EventArgs e) { using (var context = new MyDbContext()) { var res = from x in context.Clients where x.login == login && x.password == password select new { Id = x.idClient, Name = x.name, Surname = x.surname, Lastname = x.lastname, dateOfBirth = x.dataOfBirth, countlive = x.countDaysLive, desc = x.deschotel }; var regHotel = new RegHotel() { idClient = idclient, idFlat = nomerid, startLive = dateTimePickerStart.Value, endLive = dateTimePickerEnd.Value, desclive = "Не оплачено" }; Client client = db.Clients.Find(idclient); { client.countDaysLive = client.countDaysLive + (regHotel.endLive - regHotel.startLive).Days; } context.RegHotels.Add(regHotel); context.SaveChanges(); db.SaveChanges(); MessageBox.Show("Вы забронировали номер"); freenomer(); } }
//Редактирование private void BEdit_Click(object sender, EventArgs e) { try { using (var context = new MyDbContext()) { int indexRow = dataGridView.CurrentCell.RowIndex; int id = Convert.ToInt32(dataGridView.Rows[indexRow].Cells[0].Value); if (ClientLight == true) { Client client = db.Clients.Find(id); EditClient editClient = new EditClient(); editClient.TBName.Text = client.name; // что бы поля были видны в свойствах нужно было поменять private на internal editClient.TBSurname.Text = client.surname; editClient.TBLastname.Text = client.lastname; editClient.TBLogin.Text = client.login; editClient.TBPassword.Text = client.password; editClient.TBSeriapassport.Text = client.seriaPassport; editClient.TBNumerpassport.Text = client.numberPassport; editClient.dateTimePickerDateOfBirth.Value = DateTime.Parse(client.dataOfBirth.ToShortDateString()); editClient.TBDeschotel.Text = client.deschotel; DialogResult result = editClient.ShowDialog(this); // в свойствах DialogRisult надо указать ОК if (result == DialogResult.Cancel) { return; } var query = context.Clients.Where(x => x.login == editClient.TBLogin.Text || x.numberPassport == editClient.TBNumerpassport.Text); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Сделать проверку//////////////////////////////////////////////// if (query.ToList().Count < 1) { client.name = editClient.TBName.Text; client.surname = editClient.TBSurname.Text; client.lastname = editClient.TBLastname.Text; client.login = editClient.TBLogin.Text; client.password = editClient.TBPassword.Text; client.seriaPassport = editClient.TBSeriapassport.Text; client.numberPassport = editClient.TBNumerpassport.Text; client.dataOfBirth = DateTime.Parse(editClient.dateTimePickerDateOfBirth.Value.ToString()); db.SaveChanges(); Client(); // обновляем грид MessageBox.Show("Объект изменён"); } else { MessageBox.Show("Логин или Номер Пасспорта такой уже есть в базе данных"); } } if (NomerLight == true) { HotelRoom hotelRoom = db.HotelRooms.Find(id); EditNomer editHotelRoom = new EditNomer(); editHotelRoom.TBNomer.Text = hotelRoom.nomer; editHotelRoom.TBCountpeople.Text = hotelRoom.countPeople.ToString(); editHotelRoom.CBCateogury.Text = hotelRoom.category; editHotelRoom.TBPayment.Text = hotelRoom.payment.ToString(); DialogResult result = editHotelRoom.ShowDialog(this); if (result == DialogResult.Cancel) { return; } var query = context.HotelRooms.Where(x => x.nomer == editHotelRoom.TBNomer.Text); if (query.ToList().Count < 1) { hotelRoom.nomer = editHotelRoom.TBNomer.Text; hotelRoom.category = editHotelRoom.CBCateogury.SelectedItem.ToString(); hotelRoom.countPeople = Convert.ToInt32(editHotelRoom.TBCountpeople.Text); hotelRoom.payment = Convert.ToInt32(editHotelRoom.TBPayment.Text); db.SaveChanges(); Nomer(); // обновляем грид MessageBox.Show("Объект изменён"); } else { MessageBox.Show("Такой номер уже существует"); } } if (RegHotelLight == true) { RegHotel regHotel = db.RegHotels.Find(id); EditReg editReg = new EditReg(); editReg.dateTimePickerStart.Value = regHotel.startLive; editReg.dateTimePickerEnd.Value = regHotel.endLive; editReg.CBDesclive.Text = regHotel.desclive; editReg.clientid = regHotel.idClient; editReg.nomerid = regHotel.idFlat; Client client = db.Clients.Find(regHotel.idClient); { client.countDaysLive = client.countDaysLive - (regHotel.endLive - regHotel.startLive).Days; } DialogResult result = editReg.ShowDialog(this); if (result == DialogResult.Cancel) { return; } var query = context.RegHotels.Where(x => x.idFlat == editReg.nomerid && (editReg.dateTimePickerStart.Value >= x.startLive && x.endLive >= editReg.dateTimePickerStart.Value || editReg.dateTimePickerEnd.Value >= x.startLive && x.endLive >= editReg.dateTimePickerEnd.Value)); //Селект из data grid view на номер id var queryPerson = context.RegHotels.Where(x => x.idFlat == editReg.nomerid && x.idClient == editReg.clientid && (editReg.dateTimePickerStart.Value >= x.startLive && x.endLive >= editReg.dateTimePickerStart.Value || editReg.dateTimePickerEnd.Value >= x.startLive && x.endLive >= editReg.dateTimePickerEnd.Value)); regHotel.desclive = editReg.CBDesclive.SelectedItem.ToString(); regHotel.startLive = editReg.dateTimePickerStart.Value; regHotel.endLive = editReg.dateTimePickerEnd.Value; regHotel.idClient = editReg.clientid; regHotel.idFlat = editReg.nomerid; client = db.Clients.Find(editReg.clientid); { client.countDaysLive = client.countDaysLive + (editReg.dateTimePickerEnd.Value - editReg.dateTimePickerStart.Value).Days; } if (queryPerson.ToList().Count > 0) { db.SaveChanges(); RegHotel(); // обновляем грид MessageBox.Show("Объект изменён"); } else if (query.ToList().Count > 0) { MessageBox.Show("Это дата уже занята"); } else { db.SaveChanges(); RegHotel(); // обновляем грид MessageBox.Show("Объект изменён"); } } } } catch (System.NullReferenceException error) { MessageBox.Show("Выберите таблицу", "Ошибка"); } }
private void BImport_Click(object sender, EventArgs e) { XmlSerialization <CLIENTS> xmlSerialization = new XmlSerialization <CLIENTS>(); CLIENTS cl = new CLIENTS(); // путь к файлу string filePath = @"xml\import.xml"; cl = (CLIENTS)xmlSerialization.ReadData(filePath, cl); //дерсериализация for (int i = 0; i < cl.CLIENT.Count; i++) { string clientName = cl.CLIENT[i].Name; string clientSurname = cl.CLIENT[i].Surname; string clientLastname = cl.CLIENT[i].Lastname; string clientLogin = cl.CLIENT[i].Login; string clientPassword = cl.CLIENT[i].Password; string clientSeriaPassport = cl.CLIENT[i].SeriaPassport; string clientNumberPassport = cl.CLIENT[i].NumberPassport; string clientDateOfBirth = cl.CLIENT[i].DateOfBirth; string clientDesc = cl.CLIENT[i].Deschotel; string clientCountDays = cl.CLIENT[i].CountDaysLive; //добавление using (var context = new MyDbContext()) { var query = context.Clients.Where(x => x.login == clientLogin || x.numberPassport == clientPassword); var client = new Client() { name = clientName.ToString(), surname = clientSurname.ToString(), lastname = clientLastname.ToString(), login = clientLogin.ToString(), password = clientPassword.ToString(), seriaPassport = clientSeriaPassport.ToString(), numberPassport = clientNumberPassport.ToString(), dataOfBirth = DateTime.Parse(clientDateOfBirth.ToString()), countDaysLive = Convert.ToInt32(clientCountDays), deschotel = clientDesc.ToString() }; if (query.ToList().Count < 1) { context.Clients.Add(client); context.SaveChanges(); } } for (int j = 0; j < cl.CLIENT[i].HOTELROOM.Count; j++) { string hotelNomer = cl.CLIENT[i].HOTELROOM[j].Nomer; string hotelCountPeople = cl.CLIENT[i].HOTELROOM[j].CountPeople; string hotelCategory = cl.CLIENT[i].HOTELROOM[j].Category; string hotelPayment = cl.CLIENT[i].HOTELROOM[j].Payment; using (var context = new MyDbContext()) { var query = context.HotelRooms.Where(x => x.nomer == hotelNomer); var hotelRoom = new HotelRoom() { nomer = hotelNomer, countPeople = Convert.ToInt32(hotelCountPeople), category = hotelCategory, payment = Convert.ToInt32(hotelPayment) }; if (query.ToList().Count < 1) { context.HotelRooms.Add(hotelRoom); context.SaveChanges(); } } for (int y = 0; y < cl.CLIENT[i].HOTELROOM[j].REGHOTELS.Count; y++) { string regStartlive = cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].StartLive.ToString(); string regEndLive = cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].EndLive.ToString(); string regDescLive = cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].Desclive.ToString(); using (var context = new MyDbContext()) { var idFlat = context.HotelRooms.Where(x => x.nomer == hotelNomer).Select(x => x.idFlat).First(); //var idFlat = from x in context.HotelRooms // where x.nomer.ToString() == cl.CLIENT[i].HOTELROOM[j].Nomer.ToString() // select x.idFlat; //foreach (var x in idFlat.ToList()) //{ // idFlats = x; //} var idClient = context.Clients.Where(x => x.name == clientName && x.surname == clientSurname && x.lastname == clientLastname && x.seriaPassport == clientSeriaPassport && x.numberPassport == clientNumberPassport && x.login == clientLogin && x.password == clientPassword).Select(x => x.idClient).First(); //var idClient = from x in context.Clients // where x.name.ToString() == cl.CLIENT[i].Name.ToString() && x.surname.ToString() == cl.CLIENT[i].Surname.ToString() && x.lastname.ToString() == cl.CLIENT[i].Lastname.ToString() && x.seriaPassport.ToString() == cl.CLIENT[i].SeriaPassport.ToString() && x.numberPassport.ToString() == cl.CLIENT[i].NumberPassport.ToString() && x.login.ToString() == cl.CLIENT[i].Login.ToString() && x.password.ToString() == cl.CLIENT[i].Password.ToString() // select x.idClient; //foreach (var x in idClient.ToList()) //{ // idClients = x; //} int idFlatTest = Convert.ToInt32(idFlat); DateTime RS = DateTime.Parse(DateTime.Parse(regStartlive).ToShortDateString().ToString()); DateTime RE = DateTime.Parse(DateTime.Parse(regEndLive).ToShortDateString().ToString()); var query = context.RegHotels.Where(x => x.idFlat == idFlatTest && (RS >= x.startLive && x.endLive >= RS || RE >= x.startLive && x.endLive >= RE)); if (query.ToList().Count > 0) { MessageBox.Show("Это дата уже занята"); } else { var regHotel = new RegHotel() { idFlat = Convert.ToInt32(idFlat), idClient = Convert.ToInt32(idClient), startLive = DateTime.Parse(cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].StartLive.ToString()), endLive = DateTime.Parse(cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].EndLive.ToString()), desclive = cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].Desclive }; context.RegHotels.Add(regHotel); context.SaveChanges(); } } } } } MessageBox.Show("Импорт завершён"); }
public void payForHotel() { try { dynamic reg = dataGridView.SelectedItem; int id = 0; id = Convert.ToInt32(reg.Id); using (var context = new MyDbContext()) { RegHotel regHotel = db.RegHotels.Find(id); var query = from x in context.HotelRooms from y in context.RegHotels from z in context.Clients where y.idFlat == regHotel.idFlat && regHotel.idClient == y.idClient && regHotel.startLive == y.startLive && regHotel.endLive == y.endLive && x.idFlat == y.idFlat && z.idClient == y.idClient select new { money = x.payment, name = z.name, surname = z.surname, lastname = z.lastname, nomer = y.idFlat, startDays = y.startLive, endDays = y.endLive, count = z.countDaysLive }; Check check = new Check(this); foreach (var x in query.ToList()) { check.LFIO.Content = x.surname.ToString() + " " + x.name.ToString() + " " + x.lastname.ToString(); check.LNomer.Content = x.nomer.ToString(); check.LStartlive.Content = x.startDays.ToShortDateString().ToString(); check.LEndlive.Content = x.endDays.ToShortDateString().ToString(); check.LDays.Content = ((x.endDays - x.startDays).Days + 1).ToString(); if (x.count > 20) { check.LSale.Content = "Есть"; int countDays = (x.endDays - x.startDays).Days + 1; int summa = x.money * countDays; int procent = (summa / 100) * 15; summa = summa - procent; check.LSumma.Content = summa.ToString(); } else { check.LSale.Content = "Отсутствует"; int countDays = (x.endDays - x.startDays).Days + 1; int summa = x.money * countDays; check.LSumma.Content = summa.ToString(); } check.id = id; check.Show(); } } } catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException error) { MessageBox.Show("В таблице регистрация поле не выбрано"); } }
private void BEdit_Click(object sender, RoutedEventArgs e) { try { using (var context = new MyDbContext()) { if (ClientLight == true) { dynamic clients = dataGridView.SelectedItem; int id = 0; id = Convert.ToInt32(clients.Id); Client client = db.Clients.Find(id); EditClient editClient = new EditClient(this); DateTime tempDate = DateTime.Parse(client.dataOfBirth.ToShortDateString().ToString()); editClient.clientid = id; editClient.TBName.Text = client.name; // что бы поля были видны в свойствах нужно было поменять private на internal editClient.TBSurname.Text = client.surname; editClient.TBLastname.Text = client.lastname; editClient.TBLogin.Text = client.login; editClient.TBPassword.Text = client.password; editClient.TBSeriapassport.Text = client.seriaPassport; editClient.TBNumerpassport.Text = client.numberPassport; editClient.dateTimePickerDateOfBirth.SelectedDate = tempDate; editClient.TBDeschotel.Text = client.deschotel; editClient.Show(); } else if (NomerLight == true) { dynamic nomer = dataGridView.SelectedItem; int id = 0; id = Convert.ToInt32(nomer.Id); HotelRoom hotelRoom = db.HotelRooms.Find(id); EditNomer editNomer = new EditNomer(this); editNomer.nomerid = id; editNomer.TBNomer.Text = hotelRoom.nomer; editNomer.TBCountpeople.Text = hotelRoom.countPeople.ToString(); editNomer.CBCateogury.Text = hotelRoom.category; editNomer.TBPayment.Text = hotelRoom.payment.ToString(); editNomer.Show(); } else if (RegHotelLight == true) { dynamic reg = dataGridView.SelectedItem; int id = 0; id = Convert.ToInt32(reg.Id); RegHotel regHotel = db.RegHotels.Find(id); EditReg editReg = new EditReg(this); editReg.regid = id; editReg.dateTimePickerStart.SelectedDate = regHotel.startLive; editReg.dateTimePickerEnd.SelectedDate = regHotel.endLive; editReg.CBDesclive.Text = regHotel.desclive; editReg.clientid = regHotel.idClient; editReg.nomerid = regHotel.idFlat; editReg.Show(); } } } catch (System.NullReferenceException error) { } }
private void BAddNomer_Click(object sender, RoutedEventArgs e) { using (var context = new MyDbContext()) { RegHotel regHotel = db.RegHotels.Find(regid); int getclientids = 0; int getnomerids = 0; if (DataGridViewClient.SelectedItem != null) { dynamic clientget = DataGridViewClient.SelectedItem; getclientids = Convert.ToInt32(clientget.Id); } else { getclientids = regHotel.idClient; } if (DataGridViewNomer.SelectedItem != null) { dynamic nomerget = DataGridViewNomer.SelectedItem; getnomerids = Convert.ToInt32(nomerget.Id); } else { getnomerids = regHotel.idFlat; } Client clients = db.Clients.Find(getclientids); // добавить GRidView Selected сверху для выбора HotelRoom hotelRooms = db.HotelRooms.Find(getnomerids); var querygetidClient = context.RegHotels.Where(x => x.idClient == getclientids).Select(x => x.idClient).First(); Client client = db.Clients.Find(querygetidClient); { client.countDaysLive = client.countDaysLive - (regHotel.endLive - regHotel.startLive).Days; } var query = context.RegHotels.Where(x => x.idFlat == nomerid && (dateTimePickerStart.SelectedDate.Value >= x.startLive && x.endLive >= dateTimePickerStart.SelectedDate.Value || dateTimePickerEnd.SelectedDate.Value >= x.startLive && x.endLive >= dateTimePickerEnd.SelectedDate.Value)); //Селект из data grid view на номер id var queryPerson = context.RegHotels.Where(x => x.idFlat == nomerid && x.idClient == clientid && (dateTimePickerStart.SelectedDate.Value >= x.startLive && x.endLive >= dateTimePickerStart.SelectedDate.Value || dateTimePickerEnd.SelectedDate.Value >= x.startLive && x.endLive >= dateTimePickerEnd.SelectedDate.Value)); regHotel.desclive = CBDesclive.SelectedItem.ToString(); regHotel.startLive = dateTimePickerStart.SelectedDate.Value; regHotel.endLive = dateTimePickerEnd.SelectedDate.Value; regHotel.idClient = clientid; regHotel.idFlat = nomerid; client = db.Clients.Find(clientid); { client.countDaysLive = client.countDaysLive + (dateTimePickerEnd.SelectedDate.Value - dateTimePickerStart.SelectedDate.Value).Days; } if (queryPerson.ToList().Count > 0) { db.SaveChanges(); MessageBox.Show("Объект изменён"); this.Close(); } else if (query.ToList().Count > 0) { MessageBox.Show("Это дата уже занята"); } else { db.SaveChanges(); MessageBox.Show("Объект изменён"); this.Close(); } } }