public void AddOrderValidation(string orderDate, string customerName, string state, string productType, decimal area, decimal tax, decimal total, bool expectedResult)
        {
            IOrderRepository _orderRepository = new OrderProdRepository();
            OrderManager     _orderManager    = OrderManagerFactory.Create();

            ValidateAddOrderResponse response = _orderManager.ValidateAddOrder(orderDate, customerName, state, productType, area);

            Assert.AreEqual(expectedResult, response.Success);
            Assert.AreEqual(tax, response.Order.Tax);
            Assert.AreEqual(total, response.Order.Total);
        }
        public void RemoveOrderValidation(int orderNumber, string orderDate, string customerName, string state, string productType, decimal area, bool expectedResult)
        {
            IOrderRepository _orderRepository = new OrderProdRepository();
            OrderManager     _orderManager    = OrderManagerFactory.Create();
            Order            order            = new Order {
                Number       = orderNumber,
                CustomerName = customerName,
                State        = state,
                ProductType  = productType,
                Area         = area
            };

            ValidateRemoveOrderResponse response = _orderManager.ValidateRemoveOrder
                                                       (orderDate, order);

            Assert.AreEqual(expectedResult, response.Success);
        }
        public static IOrderRepository CreateOrderRepo()
        {
            IOrderRepository repo;
            string           mode = ConfigurationManager.AppSettings["Mode"].ToString();

            switch (mode)
            {
            case "Test":

                repo = new OrderTestRepository();
                break;

            case "Prod":
                repo = new OrderProdRepository();
                break;

            default:
                throw new Exception("Mode Value in App Config is not Valid.");
            }
            return(repo);
        }