Exemple #1
0
        // Обновляем значение таблицы
        public void updateDataGrid()
        {
            // создаем контакст базы
            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);

            // создаем список записей, отображаемых в таблице
            ordersList_table = new List <Order_entity>();
            foreach (var order in ordersList)
            {
                ordersList_table.Add(order);
            }

            DateTime now = DateTime.Now;

            ObservableCollection <Order_entity> items = new ObservableCollection <Order_entity>(ordersList)
            {
            };

            DataGrid_orders.ItemsSource = ordersList_table;

            findRowsByFilter();
        }
        // Обновляем списко доступных комнат
        public void updateDataGridRooms()
        {
            db = new ApplicationContext();

            roomTypesList = RoomTypes.init_RoomTypes(db);
            roomsList     = Entity.Rooms.init_Rooms(db);

            DataGrid_rooms.ItemsSource = roomsList;

            findRoomsByFilter();
        }
        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);
                }
            }
        }