コード例 #1
0
        /// <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);
            }
        }