Exemplo n.º 1
0
        public ActionResult Pay(PaymentAddressViewModel pymentAddressVM)
        {
            if (ModelState.IsValid)
            {
                // from orderViewModel to Logic.Order
                // from Logic.Order to OrderDBModel
                // from OrderDBModel to Logic.Order
                // Logic.Order to orderViewModel or simply take the OrderId

                var order = orderFactory.CreateOrder();

                TryUpdateModel(order);

                order.Username  = User.Identity.Name;
                order.OrderDate = DateTime.Now;

                var shoppingCartId = cardIdentifier.GetCardId(this.HttpContext);
                var cart           = shoppingCart.GetShoppingCart(shoppingCartId);

                var orderId = cart.SaveOrder(order);

                return(RedirectToAction("Complete", new { id = orderId }));
            }

            return(View(pymentAddressVM));
        }
        public static void MyClassInitialize(TestContext testContext)
        {
            _container = new UnityContainer();
            _container.RegisterInstance <IUnityContainer>(_container);
            _container.RegisterType <IOrderFactory, OrderFactory>();
            _container.RegisterInstance(typeof(Cadastro), "Cliente", new Cadastro());
            _container.RegisterInstance(typeof(Cadastro), "Fornecedor", new Cadastro());
            _container.RegisterInstance(typeof(Vendedor), "Vendedor", new Vendedor());

            IOrderFactory orderFactory = _container.Resolve <IOrderFactory>();

            _container.RegisterInstance(typeof(Pedido), "PedidoVenda", orderFactory.CreateOrder(OrderType.SalesOrder));
            _container.RegisterInstance(typeof(Pedido), "PedidoCompra", orderFactory.CreateOrder(OrderType.PurchaseOrder));
            _container.RegisterInstance <IOrderViewModel>("VM_PedidoVenda", new OrderViewModel(_container, (Pedido)_container.Resolve(typeof(Pedido), "PedidoVenda")));
            _container.RegisterInstance <IOrderViewModel>("VM_PedidoCompra", new OrderViewModel(_container, (Pedido)_container.Resolve(typeof(Pedido), "PedidoCompra")));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> PostOrder([FromBody] string message)
        {
            var order = factory.CreateOrder(message);

            var result = await orderManagerClient.SendOrderAsync(order);

            var okResult = new OkObjectResult(result);

            return(okResult);
        }
Exemplo n.º 4
0
        private async Task <Order> GetOrderAsync(CreateOrderCommand request)
        {
            var customerId = await GetCustomerIdAsync(request);

            var products = await GetProductsAsync(request);

            var orderItems  = CreateOrderItems(request, products);
            var isPromotion = _applicationContext.IsPromotionDay;

            return(_orderFactory.CreateOrder(customerId, orderItems));
        }
Exemplo n.º 5
0
        public OrderPaymentSummary PlaceOrder(OrderDto orderDto, Guid customerId)
        {
            var customerOrders = customerOrdersRepository.GetByCustomerId(customerId);

            if (customerOrders == null)
            {
                return(OrderPaymentSummary.NoCustoemrFound);
            }

            customerOrders.PlaceOrder(orderFactory.CreateOrder(orderDto), pointsCalculator, discountCalculator);

            customerOrdersRepository.Save(customerOrders);
            unitOfWork.Commit();

            return(OrderPaymentSummary.FromCustomerOrders(customerOrders));
        }
Exemplo n.º 6
0
        public void HandleBatch(int batchSize)
        {
            for (int i = 0; i < batchSize; i++)
            {
                var order = factory.CreateOrder($"Order{i}");

                try
                {
                    orderManagerClient.SendOrderAsync(order);
                }
                catch (Exception ex)
                {
                    logger.LogError(ex.Message);
                }
            }

            logger.LogDebug($"OrderHandler called with batch size = {batchSize}");
        }
Exemplo n.º 7
0
        public void CreateOrderTest()
        {
            IOrderFactory target = _container.Resolve <IOrderFactory>();
            Pedido        actual = target.CreateOrder(OrderType.SalesOrder);

            AssertOrder(target.CreateOrder(OrderType.PurchaseOrder), OrderType.PurchaseOrder);
            AssertOrder(target.CreateOrder(OrderType.SalesOrder), OrderType.SalesOrder);

            _container.RegisterInstance(typeof(Cadastro), "Cliente", new Cadastro());
            _container.RegisterInstance(typeof(Cadastro), "Fornecedor", new Cadastro());

            AssertOrder(target.CreateOrder(OrderType.PurchaseOrder), OrderType.PurchaseOrder);
            AssertOrder(target.CreateOrder(OrderType.SalesOrder), OrderType.SalesOrder);

            _container.RegisterInstance(typeof(Vendedor), "Vendedor", new Vendedor());
            AssertOrder(target.CreateOrder(OrderType.PurchaseOrder), OrderType.PurchaseOrder);
            AssertOrder(target.CreateOrder(OrderType.SalesOrder), OrderType.SalesOrder);
        }
Exemplo n.º 8
0
        public CashierPresenter(ICashierView view, IUnityContainer container)
        {
            if (view == null)
            {
                throw new ArgumentNullException("view");
            }
            if (container == null)
            {
                throw new ArgumentNullException("container");
            }
            this.SubmitCommand = new DelegateCommand <object>(this.Submit, this.CanSubmit);
            this.CancelCommand = new DelegateCommand <object>(this.Cancel);

            this._view = view;
            this._view.SetPresenter(this);
            this._container = container;

            IOrderFactory orderFactory = this._container.Resolve <IOrderFactory>();

            this._orderViewModel = new OrderViewModel(container, orderFactory.CreateOrder(OrderType.SalesOrder));
            this._container.RegisterInstance <IOrderViewModel>(this._orderViewModel, new ExternallyControlledLifetimeManager());
        }