/// <summary> /// Добавление проката вещи /// </summary> private void RentThing() { try { ResidentRooms residentRooms = db.GetTable <ResidentRooms>() .FirstOrDefault(r => (r.ResidentId == residentId && r.DateOfEviction == null)); string selectedRentName = rentThingsComboBox.SelectedItem.ToString(); RentThing rentThing = db.GetTable <RentThing>().SingleOrDefault(r => r.Name == selectedRentName); ResidentRoomsRentThing residentRoomsRentThing = new ResidentRoomsRentThing { ResidentRoomsId = residentRooms.ResidentRoomsId, RentThingId = rentThing.RentThingId, StartRentDate = startRentDateTimePicker.Value.Date, EndRentDate = endRentDateTimePicker.Value.Date }; db.GetTable <ResidentRoomsRentThing>().InsertOnSubmit(residentRoomsRentThing); db.SubmitChanges(); LoadRentDataGridView(); SystemSounds.Beep.Play(); MessageBox.Show("Прокат успешно добавлен!"); } catch (Exception ex) { SystemSounds.Exclamation.Play(); HistoryRecordsController.WriteExceptionToLogFile(ex, "Ошибка при добавлении проката вещей."); MessageBox.Show("Ошибка проката. Проверьте выбранные данные.\nВызвано исключение: " + ex.Message); } }
// Сохраняет изменения о прокате вещи private void saveRentButton_Click(object sender, EventArgs e) { if (startRentDateTimePicker.Value.Date > endRentDateTimePicker.Value.Date) { SystemSounds.Exclamation.Play(); MessageBox.Show("Нельзя добавить данный прокат. Дата начала проката должна быть раньше даты окончания."); return; } DialogResult dialogResult = MessageBox.Show("Вы уверены, что хотите сохранить изменения?\n", "Предупреждение", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { try { Int32.TryParse(rentIdLabel.Text, out int rentId); if (rentId == 0) { MessageBox.Show("Выберите запись для изменения."); } else { ResidentRoomsRentThing residentRoomsRentThing = db.GetTable <ResidentRoomsRentThing>().SingleOrDefault(r => r.ResidentRoomsRentThingsId == rentId); string selectedRentName = rentThingsComboBox.SelectedItem.ToString(); RentThing rentThing = db.GetTable <RentThing>().SingleOrDefault(r => r.Name == selectedRentName); residentRoomsRentThing.RentThingId = rentThing.RentThingId; residentRoomsRentThing.StartRentDate = startRentDateTimePicker.Value.Date; residentRoomsRentThing.EndRentDate = endRentDateTimePicker.Value.Date; db.SubmitChanges(); SystemSounds.Beep.Play(); MessageBox.Show("Успешно сохранено!"); LoadRentDataGridView(); } } catch (Exception ex) { SystemSounds.Exclamation.Play(); HistoryRecordsController.WriteExceptionToLogFile(ex, "Ошибка при сохранении изменений о прокате вещей в saveRentButton_Click."); MessageBox.Show("Ошибка при сохранении изменений о прокате вещей.\nВызвано исключение:" + ex.Message); } } }
// Заселяет жителя private void settleButton_Click(object sender, EventArgs e) { if (startRentDateTimePicker.Value.Date > endRentDateTimePicker.Value.Date) { SystemSounds.Exclamation.Play(); MessageBox.Show("Нельзя добавить данный прокат. Дата начала проката должна быть раньше даты окончания."); return; } DialogResult dialogResult = MessageBox.Show("Вы уверены, что хотите заселить данного жителя?\n", "Предупреждение", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { try { Int32.TryParse(residentIdLabel.Text, out int residentId); Resident resident = db.GetTable <Resident>().SingleOrDefault(r => r.ResidentId == residentId); var exist = db.GetTable <RoomResidents>().Any(r => r.ResidentId == resident.ResidentId); if (exist) { SystemSounds.Exclamation.Play(); MessageBox.Show("Данный житель уже живет в другой комнате"); } else { RoomResidents roomResidents = new RoomResidents { RoomId = roomId, ResidentId = resident.ResidentId }; db.GetTable <RoomResidents>().InsertOnSubmit(roomResidents); bool isCash = cashRadioButton.Checked ? true : false; ResidentRooms residentRooms = new ResidentRooms { ResidentId = resident.ResidentId, RoomId = roomId, CashPayment = isCash, BedClothes = bedClothesCheckBox.Checked, SettlementDate = settlementDateTimePicker.Value }; db.GetTable <ResidentRooms>().InsertOnSubmit(residentRooms); db.SubmitChanges(); if (isRentCheckBox.Checked) { RentThing rentThing = db.GetTable <RentThing>().SingleOrDefault(r => r.Name == "Телевизор"); ResidentRoomsRentThing residentRoomsRentThing = new ResidentRoomsRentThing { ResidentRoomsId = residentRooms.ResidentRoomsId, RentThingId = rentThing.RentThingId, StartRentDate = startRentDateTimePicker.Value.Date, EndRentDate = endRentDateTimePicker.Value.Date }; db.GetTable <ResidentRoomsRentThing>().InsertOnSubmit(residentRoomsRentThing); } db.SubmitChanges(); HistoryRecordsController.WriteAboutSettlement(residentRooms, true); DialogResult = DialogResult.OK; Close(); } } catch (Exception ex) { SystemSounds.Exclamation.Play(); HistoryRecordsController.WriteExceptionToLogFile(ex, "Ошибка при заселении жителя в settleButton_Click."); MessageBox.Show("Ошибка при заселении жителя.\nВызвано исключение: " + ex.Message); } } }