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;
        }
Exemple #2
0
        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);
                }
            }
        }