Beispiel #1
0
        // GET: Orders/Create
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
        public IActionResult Create(Order cart)
        {
            //check if there is a pending order
            Order FindCart = _context.Orders.Where(o => o.Customer.UserName == User.Identity.Name).
                             FirstOrDefault(o => o.OrderStatus == Order.Status.Pending);

            //if there is no pending order, create one
            if (FindCart == null)
            {
                cart.OrderNumber = GenerateOrderNumber.GetNextOrderNumber(_context);
                cart.OrderDate   = System.DateTime.Today;
                cart.OrderStatus = Order.Status.Pending;
                //find customer associated with order
                String  Userid   = User.Identity.Name;
                AppUser customer = _context.Users.FirstOrDefault(u => u.UserName == Userid);
                cart.Customer = customer;

                if (ModelState.IsValid)
                {
                    _context.Orders.Add(cart);
                    _context.SaveChanges();
                    return(RedirectToAction("Details", new { id = cart.OrderID }));
                }
            }
            //if there is a pending order, go to it
            else
            {
                //find the order based on the order id
                Order order = _context.Orders.Find(FindCart.OrderID);

                return(RedirectToAction("Details", new { id = order.OrderID }));
            }
            return(View(FindCart));
        }
Beispiel #2
0
        public void Setup()
        {
            Mock <IPaymentInitializer> mockInitializer = new Mock <IPaymentInitializer>();

            _orderNumberGeneratorMock = new Mock <IOrderNumberGenerator>();
            _orderNumberGenerator     = new GenerateOrderNumber(mockInitializer.Object, _orderNumberGeneratorMock.Object);
        }
Beispiel #3
0
        public override PaymentInitializeResult Initialize()
        {
            IPaymentInitializer initializer = new GenerateOrderNumber(
                new InitializePayment(
                    new RedirectUser(), _paymentManager, _parameterReader, _cartActions, _additionalValuesFormatter), _orderNumberGenerator);

            return(initializer.Initialize(this, null, null, null));
        }
        public override PaymentInitializeResult Initialize()
        {
            IPaymentInitializer initializer = new GenerateOrderNumber(
                new GetConsumerLegalAddress(
                    new InitializePayment(
                        new PurchaseInvoiceSale(_paymentManager, _paymentActions), _paymentManager, _parameterReader, _cartActions, _additionalValuesFormatter),
                    _verificationManager, _paymentActions), _orderNumberGenerator);

            return(initializer.Initialize(this, null, null, null));
        }