/// <summary> /// Проверка заполнения обязательных полей и добавление локации в базу данных. /// </summary> /// <returns>True - если все обязательные поля заполнены и локация добавлена в БД. False - если заполнены не все обязательные поля или возникла ошибка при добавлении данных в БД.</returns> private bool AddLocation() { if (LocationNameTextBox.TextLength > 0 && LocationNameTextBox.Text != LocationNameTextBox.Tag.ToString() && RoomCountTextBox.TextLength > 0 && RoomCountTextBox.Text != RoomCountTextBox.Tag.ToString() && BedsCountTextBox.TextLength > 0 && BedsCountTextBox.Text != BedsCountTextBox.Tag.ToString() && CheckRoomsData()) // Если все обязательные поля заполнены. { long locationId = Locations.Add(LocationNameTextBox.Text.Trim()); if (locationId >= 0) { long hotelId = Hotels.Add(locationId, Customer.Id, Convert.ToInt32(RoomCountTextBox.Text), Convert.ToInt32(BedsCountTextBox.Text), Convert.ToInt32(CardCountTextBox.Text)); if (hotelId >= 0) { for (int i = 0; i < RoomsDataGridView.RowCount; i++) { string roomName = RoomsDataGridView["RoomNumber", i].Value.ToString().Trim(); string bedsCount = RoomsDataGridView["BedsCount", i].Value.ToString().Trim(); if (Hotels.FindRoom(roomName, hotelId, out long roomId)) // Если в БД есть такие комнаты. { Hotels.EditRoom(roomId, roomName, Convert.ToInt64(bedsCount)); } else { Hotels.AddRoom(hotelId, roomName, Convert.ToInt32(bedsCount)); } } LocationsDataGridView.DataSource = Hotels.GetAll(Customer.Id); return(true); } else { return(false); } } else { return(false); } } else { return(false); } }