Esempio n. 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);
            }
        }
Esempio n. 2
0
        private void LocationsDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            // Если была нажата ссылка с именем локации.
            if (LocationsDataGridView.Columns[e.ColumnIndex].Name == "LocationName")
            {
                // Получение информации о локации.
                Hotels.Id = Convert.ToInt64(LocationsDataGridView["hotel_id", e.RowIndex].Value);
                Hotels.FillInfo();

                //RoomsDataGridView.Rows.Clear();

                // Заполнение полей информацией о локации.
                LocationName.Text            = Locations.Name;
                RoomCountTextBox.Text        = Hotels.RoomCount.ToString();
                BedsCountTextBox.Text        = Hotels.BedsCount.ToString();
                CardCountTextBox.Text        = Hotels.CardsCount.ToString();
                RoomsDataGridView.DataSource = Hotels.GetRooms();
                RoomsDataGridView.Columns["RoomNumber"].ValueType = Type.GetType("System.String");
                RoomsDataGridView.Columns["roomid"].ValueType     = Type.GetType("System.String");
                RoomsDataGridView.Columns["BedsCount"].ValueType  = Type.GetType("System.String");
            }
        }