예제 #1
0
 /// <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);
     }
 }
예제 #2
0
        // Сохраняет изменения о прокате вещи
        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);
                }
            }
        }
예제 #3
0
        // Заселяет жителя
        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);
                }
            }
        }