private void SaveLocationInfoButton_Click(object sender, EventArgs e) { if (NameTextBox.TextLength > 0) { if (Hotels.Update(Locations.Id, Hotels.Id, NameTextBox.Text, Convert.ToInt32(RoomsCountTextBox.Text), Convert.ToInt32(BedsCountTextBox.Text), Convert.ToInt32(CardsCountTextBox.Text))) { // Обновление данных о комнатах. for (int i = 0; i < RoomsDataGridView.RowCount; i++) { if (Hotels.FindRoom(RoomsDataGridView["roomNumber", i].Value.ToString(), Hotels.Id, out long roomId)) { // Обновление данных комнаты. if (!Hotels.EditRoom(Convert.ToInt32(RoomsDataGridView["room_id", i].Value), RoomsDataGridView["roomNumber", i].Value.ToString(), Convert.ToInt32(RoomsDataGridView["bedsCount", i].Value))) { MessageBox.Show("Возникла непредвиденная ошибка с обновлением данных гостиницы!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { // Добавление новой комнаты. if (Hotels.AddRoom(Hotels.Id, RoomsDataGridView["roomNumber", i].Value.ToString(), Convert.ToInt32(RoomsDataGridView["bedsCount", i].Value)) < 0) { MessageBox.Show("Возникла непредвиденная ошибка с обновлением данных гостиницы!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } else { MessageBox.Show("Возникла непредвиденная ошибка с обновлением данных гостиницы!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
/// <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); } }