private void UpdateCalendar() { Entity.Rooms selectedRoom = (Entity.Rooms)DataGrid_rooms.SelectedItem; List <Order_entity> ordersList = Order_entity.init_Orders(db); // достаем заказы с выбранной комнатой OrderRepos orderRepos = new OrderRepos(db); List <Order_entity> selectedRoomOrderList = orderRepos.GetByRoomId(selectedRoom.Id); Calendar_.BlackoutDates.Clear(); foreach (Order_entity order in selectedRoomOrderList) { Calendar_.BlackoutDates.Add( new CalendarDateRange(order.DateStart, order.DateEnd) ); } int a = 2; }
private void Button_delRow_click(object sender, RoutedEventArgs e) { Entity.Rooms room = ((FrameworkElement)sender).DataContext as Entity.Rooms; MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show( "Вы действительно хотите удалить комнату №" + room.Number, "Delete Confirmation", System.Windows.MessageBoxButton.YesNo ); if (messageBoxResult == MessageBoxResult.Yes) { Console.WriteLine("clicked delete row id = " + room.Id); // Проверяем, нет ли зависимых от это строки записей OrderRepos orderRepo = new OrderRepos(db); List <Order_entity> dependentOrders = orderRepo.GetByRoomId(room.Id); if (dependentOrders.Count != 0) { MessageBox.Show( "Невозможно удалить эту запись, т.к. от нее зависят " + dependentOrders.Count + " заказов"); return; } using (var context = new ApplicationContext()) { var deletedCustomer = context.Rooms.Where(c => c.Id == room.Id).FirstOrDefault(); context.Rooms.Remove(deletedCustomer); context.SaveChanges(); } db.SaveChanges(); this.updateDataGrid(); } }
public Form_createOrder(Order_entity o) { this.order_editing = o; InitializeComponent(); db = new ApplicationContext(); roomTypesList = RoomTypes.init_RoomTypes(db); roomsList = Entity.Rooms.init_Rooms(db); clientsList = Clients.init_Clients(db); ordersList = Order_entity.init_Orders(db); // инициализируем комбобокс с выбором типа комнаты ComboBox_roomType.Items.Add(emptyComboBoxItem); foreach (RoomTypes type in roomTypesList) { ComboBox_roomType.Items.Add(type); } // Инициализируем комбобокс выбора размера комнаты значениями Combobox_size.Items.Add(emptyComboBoxItem); Entity.Rooms.initComboboxSize(Combobox_size); updateDataGridRooms(); try { updateDataGridClients(); } catch (Exception ex) { Console.WriteLine(ex.Message); using (StreamWriter writetext = new StreamWriter("_logs.txt")) { writetext.WriteLine(ex.Message); writetext.WriteLine("\n"); writetext.WriteLine(ex.ToString()); } } DateTime now = DateTime.Now; Calendar_.SelectionMode = CalendarSelectionMode.MultipleRange; Calendar_.DisplayDateStart = new DateTime( now.Year, now.Month - 1 < 1 ? 1 : now.Month - 1, 1); if (order_editing != null) { // edit mod this.Title = "Редактирование информации о заказе"; this.Button_confirmOrder.Content = "Обновить"; this.selectedRoom = order_editing.Rooms; // инфа о выбранном пользователе TextBox_passport.Text = order_editing.Clients.Passport; TextBox_firstName.Text = order_editing.Clients.FirstName; TextBox_secondName.Text = order_editing.Clients.SecondName; TextBox_patronymic.Text = order_editing.Clients.Patronymic; TextBox_phone.Text = order_editing.Clients.Phone; // достаем заказы с выбранной комнатой OrderRepos orderRepos = new OrderRepos(db); List <Order_entity> selectedRoomOrderList = orderRepos.GetByRoomId(order_editing.RoomsId); // помечаем календарь крестиками Calendar_.BlackoutDates.Clear(); Calendar_.SelectedDates.Clear(); foreach (Order_entity order in selectedRoomOrderList) { if (order.Id != order_editing.Id) { Calendar_.BlackoutDates.Add( new CalendarDateRange(order.DateStart, order.DateEnd) ); } } // помечаем на календаре выбранные дни для текущего заказа Calendar_.SelectedDates.Clear(); for (DateTime date = order_editing.DateStart; order_editing.DateEnd.AddDays(1).CompareTo(date) > 0; date = date.AddDays(1.0)) { Calendar_.SelectedDates.Add(date); } } }