Esempio n. 1
0
        private void btnChangeRoom_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (tbUpdatedRoomId.Text == "")
                {
                    throw new Exception("Select room please.");
                }

                var id       = 0;
                var category = "";
                var places   = 0;
                var price    = 0.0;

                try
                {
                    id = int.Parse(tbUpdatedRoomId.Text);

                    category = cbUpdatedRoomCategory.SelectedValue.ToString();

                    places = int.Parse(cbUpdatedRoomPlaces.SelectedValue.ToString());

                    price = double.Parse(tbUpdatedRoomPrice.Text);
                }
                catch
                {
                    throw new Exception("Some problem occured. Check input please.");
                }

                if (price <= 0)
                {
                    throw new Exception("Price must be a positive number.");
                }

                int categoryID = 0;

                switch (category)
                {
                case "Econom":
                    categoryID = 1;
                    break;

                case "Standard":
                    categoryID = 2;
                    break;

                case "Suit":
                    categoryID = 3;
                    break;

                case "Family":
                    categoryID = 4;
                    break;
                }

                var roomsRep = new SqlRoomRepository(connection);
                var allRooms = roomsRep.GetAllRooms();

                if (!allRooms.Where(room => room.Id == id).First().IsFree)
                {
                    throw new Exception("Room isn't free currently. You can't change it.");
                }

                if (MessageBox.Show("Do you really want to change this room?", "Info", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    roomsRep.ChangeRoom(id, categoryID, places, (int)price);

                    rooms = roomsRep.GetAllRooms();

                    dgRooms.ItemsSource = rooms;

                    expAddRoom.IsExpanded = false;

                    WriteInfoAboutRoom(id);

                    expChangeRoom.IsExpanded = false;

                    MessageBox.Show("Room was successfully changed.", "Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }