예제 #1
0
        // Метод для создания заказа
        public bool createOrder(string menu_client_id, int client_id,
                                string present_order_consist,
                                string history_order_consist,
                                decimal order_worth)
        {
            try
            {
                _Current_Order = new Order(menu_client_id, client_id,
                                           present_order_consist,
                                           history_order_consist,
                                           order_worth);
            }
            // Если не удалось создать объект заказа
            catch (Exception)
            {
                return false;
            }

            return true;
        }
예제 #2
0
        public void OrderTest()
        {
            // Тест конструктора
            // Ожидаемые данные
            string expected_menu_client_id = "1";
            int expected_client_id = 23456;
            string expected_present_order_consist = "[{" + '"' + "id" + '"' + ":"
                                                     + '"' + '5' + '"' + ',' + '"'
                                                     + "count" + '"' + ':' + '"' +
                                                     '1' + '"' + "}]";
            string expected_history_order_consist = "[{" + '"' + "id" + '"' + ":"
                                                     + '"' + '5' + '"' + ',' + '"'
                                                     + "count" + '"' + ':' + '"' +
                                                     '6' + '"' + "}]";
            string expected_order_state = "opened";
            decimal expected_order_worth = 2100.00M;

            // Создаем объект заказа
            Order order = new Order(expected_menu_client_id, expected_client_id,
                                    expected_present_order_consist, expected_history_order_consist,
                                    expected_order_worth);
            // Полученные данные
            using (AOSDB aos_db = new AOSDB())
            {
                // Ищем заказ в таблице заказов в БД с ID
                // равным ID заказа
                AOS_BD_ORDER order_info =
                    (from item in
                         aos_db.AOS_BD_ORDER.ToList<AOS_BD_ORDER>()
                         .AsParallel<AOS_BD_ORDER>()
                     where item.PK_AOS_ID_ORDER == order.Order_ID
                     select item).ToList<AOS_BD_ORDER>().Single();

                // Утверждения
                Assert.AreEqual(expected_menu_client_id, order_info.ORDER_EMENU_CLIENT_ID);
                Assert.AreEqual(expected_client_id, order_info.FK_AOS_ID_CLIENT);
                Assert.AreEqual(expected_present_order_consist,
                    order_info.ORDER_PRESENT_CONSIST);
                Assert.AreEqual(expected_history_order_consist,
                    order_info.ORDER_HISTORY_CONSIST);
                Assert.AreEqual(expected_order_state, order.getOrderState());
                Assert.AreEqual(expected_order_worth, order_info.ORDER_WORTH);
            }

            // Тест обновления данных заказа
            // Ожидаемые данные
            expected_client_id = 34567;
            expected_present_order_consist = "[{" + '"' + "id" + '"' + ":"
                                                + '"' + '5' + '"' + ',' + '"'
                                                + "count" + '"' + ':' + '"' +
                                                '6' + '"' + "}]";
            expected_history_order_consist = "[{" + '"' + "id" + '"' + ":"
                                                + '"' + '5' + '"' + ',' + '"'
                                                + "count" + '"' + ':' + '"' +
                                                "12" + '"' + "}]";                
            expected_order_worth = 4200.00M;

            // Обновляем данные о заказе
            order.updateOrderContent(expected_client_id,
                                     expected_present_order_consist,
                                     expected_history_order_consist,
                                     expected_order_worth);
            // Полученные данные
            using (AOSDB aos_db = new AOSDB())
            {
                // Ищем заказ в таблице заказов в БД с ID
                // равным ID заказа
                AOS_BD_ORDER order_info =
                    (from item in
                         aos_db.AOS_BD_ORDER.ToList<AOS_BD_ORDER>()
                         .AsParallel<AOS_BD_ORDER>()
                     where item.PK_AOS_ID_ORDER == order.Order_ID
                     select item).ToList<AOS_BD_ORDER>().Single();

                // Утверждения                
                Assert.AreEqual(expected_present_order_consist,
                    order_info.ORDER_PRESENT_CONSIST);
                Assert.AreEqual(expected_history_order_consist,
                    order_info.ORDER_HISTORY_CONSIST);                
                Assert.AreEqual(expected_order_worth, order_info.ORDER_WORTH);
            }

            // Тест закрытия заказа
            // Ожидаемые данные
            expected_order_state = "ended";

            // Закрываем заказ
            order.closeOrder();
            // Полученные данные
            using (AOSDB aos_db = new AOSDB())
            {
                // Ищем заказ в таблице заказов в БД с ID
                // равным ID заказа
                AOS_BD_ORDER order_info =
                    (from item in
                         aos_db.AOS_BD_ORDER.ToList<AOS_BD_ORDER>()
                         .AsParallel<AOS_BD_ORDER>()
                     where item.PK_AOS_ID_ORDER == order.Order_ID
                     select item).ToList<AOS_BD_ORDER>().Single();

                // Утверждения                
                Assert.AreEqual(expected_order_state, order.getOrderState());                

                // Очищаем БД от добавленного тестового значения
                aos_db.AOS_BD_ORDER.Remove(order_info);
                aos_db.SaveChanges();
            }
        }
예제 #3
0
        // Метод для закрытия сессии меню
        public bool getBill()
        {
            try
            {                
                // Пересчитываем скидку клиента
                if (_Current_Client != null && _Current_Client.Client_ID != 0)
                    _Current_Client.setClientDiscount();
                // Закрываем заказ и возвращаем сессию в состояние 
                // при старте
                _lang_menu_flag = "RU";
                _Current_Order.closeOrder();
                _Current_Order = null;
                _Current_Client = null;
            }
            // Если не удалось закрыть заказ
            catch (Exception)
            {
                return false;
            }

            return true;
        }