Ejemplo n.º 1
0
        public void DeleteOrder(string id)
        {
            CheckOutOrder order = _context.CheckOutOrders.Find(id);

            _context.CheckOutOrders.Remove(order);
            SaveCheckOutOrder();
        }
Ejemplo n.º 2
0
        public ActionResult <OrderdCars> CheckOutOrder([FromBody] CheckOutOrder value)
        //public String CheckOutOrder([FromBody] CheckOutOrder value)
        {
            //return value.OrderCarID.ToString() + ',' + value.CustomerID.ToString();
            OrderdCarsRepository oc = new OrderdCarsRepository();
            OrderdCars           currentOrderCar = oc.FindById(value.OrderCarID);

            if (currentOrderCar != null)
            {
                if ((currentOrderCar.Status == 2) && (currentOrderCar.CustomerID == value.CustomerID))
                {
                    DateTime startDT = (DateTime)currentOrderCar.StarteDT;
                    TimeSpan ts      = DateTime.Now.AddSeconds(-20) - startDT;
                    double   total   = Math.Round(ts.TotalMinutes * currentOrderCar.Car.CarModel.PricePerMin, 1);

                    currentOrderCar.Status = 3;
                    currentOrderCar.EndDT  = DateTime.Now;
                    currentOrderCar.Total  = (float)total;
                    oc.Dispose();

                    CarRepository cr         = new CarRepository();
                    Car           currentCar = cr.FindById(currentOrderCar.CarID);
                    currentCar.Status = 0;
                    cr.Dispose();

                    return(currentOrderCar);
                }
            }
            return(null);
        }
        // GET: CheckOut/Edit/5
        public ActionResult Edit(string id)
        {
            //EfDbContext _context = new EfDbContext();
            //CheckOutOrder order = _context.CheckOutOrders.Find(id);
            CheckOutOrder order = repository.GetOrderByID(id);

            return(View(order));
        }
Ejemplo n.º 4
0
        public async Task Checkout(string orderId, string correlationId)
        {
            var order = await this.persistence.GetState <DomainOrder>(orderId);

            var orderCheckedOut = new CheckOutOrder(correlationId, DateTime.Now).Execute(order);

            await this.persistence.Save(orderCheckedOut);
        }
        public ActionResult Edit(string id, FormCollection collection)
        {
            try
            {
                CheckOutOrder checkoutobj = new CheckOutOrder();
                EfDbContext   _context    = new EfDbContext();
                int           count       = 0;
                foreach (CheckOutOrder ck in _context.CheckOutOrders)
                {
                    count = int.Parse(ck.CheckOutOrderID);
                }
                count++;
                var memberID  = collection["MemberID"];
                var productID = collection["ProductID"];

                var address          = collection["Adress"];
                var priceproduct     = collection["priceOfProduct"];
                var costFormMountain = collection["CostFormMountain"];
                var Frees            = collection["FreesTransfer"];
                var totalprice       = collection["TotalPayment"];
                var confirmorder     = collection["ConfirmStatus"];
                var paymentStatus    = collection["PayMentStatus"];
                var delivery         = collection["DeliveryStatus"];
                checkoutobj.CheckOutOrderID  = id;
                checkoutobj.MemberID         = memberID;
                checkoutobj.DateOrder        = DateTime.Now.ToString();
                checkoutobj.Adress           = address;
                checkoutobj.priceOfProduct   = priceproduct;
                checkoutobj.CostFormMountain = costFormMountain;
                checkoutobj.FreesTransfer    = Frees;
                checkoutobj.TotalPayment     = totalprice;
                checkoutobj.ConfirmStatus    = confirmorder;
                checkoutobj.PayMentStatus    = paymentStatus;
                checkoutobj.DeliveryStatus   = delivery;
                checkoutobj.ProductID        = productID;
                repository.EditOrder(checkoutobj);


                return(RedirectToAction("IndexAdmin"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 6
0
        public void T09_CheckOutOrder_AddOrderItem_ExistingOrderItem_UpdatesUnits()
        {
            //Arrange
            const int unitPrice = 12;
            var       product   = new Product(Guid.NewGuid(), "product", unitPrice);
            var       order     = new CheckOutOrder(Guid.NewGuid(), _pricingStrategyFactory);

            //Act
            order.AddOrderItem(product);
            order.AddOrderItem(product);

            const int orderItems    = 1;
            const int expectedUnits = 2;

            //Assert
            Assert.Equal(orderItems, order.OrderItems.Count);
            Assert.Equal(expectedUnits, order.OrderItems.First().GetUnits());
        }
Ejemplo n.º 7
0
        public void T01_AddOrderItem_SingleProduct_NoDiscount()
        {
            //Arrange
            var productC = new Product(Guid.NewGuid(), "C", 0.70m);

            _pricingRulesRepository.GetByProductId(productC.ProductId).Returns(r => null);

            var order = new CheckOutOrder(Guid.NewGuid(), _pricingStrategyFactory);


            //Act
            order.AddOrderItem(productC, 3);

            decimal expectedTotalPrice = 2.10m;


            //Assert
            Assert.Equal(expectedTotalPrice, order.GetTotalPrice());
        }
Ejemplo n.º 8
0
        public void T03_AddOrderItem_SingleProduct_ShouldApplyDiscount()
        {
            //Arrange
            var productA        = new Product(Guid.NewGuid(), "A", 0.50m);
            var pricingRuleForC = new VolumePricingRule(Guid.NewGuid(), productA.ProductId, 3, 1.30m);

            _pricingRulesRepository.GetByProductId(productA.ProductId).Returns(pricingRuleForC);

            var order = new CheckOutOrder(Guid.NewGuid(), _pricingStrategyFactory);


            //Act
            order.AddOrderItem(productA, 10);

            decimal expectedTotalPrice = 4.40m;


            //Assert
            Assert.Equal(expectedTotalPrice, order.GetTotalPrice());
        }
Ejemplo n.º 9
0
        public void T04_AddOrderItem_MultipleProduct_MultipleUnits_ShouldApplyDiscount()
        {
            //Arrange
            var productA        = new Product(Guid.NewGuid(), "A", 0.50m);
            var pricingRuleForA = new VolumePricingRule(Guid.NewGuid(), productA.ProductId, 3, 1.30m);

            _pricingRulesRepository.GetByProductId(productA.ProductId).Returns(pricingRuleForA);

            var productB        = new Product(Guid.NewGuid(), "B", 0.30m);
            var pricingRuleForB = new VolumePricingRule(Guid.NewGuid(), productB.ProductId, 2, 0.45m);

            _pricingRulesRepository.GetByProductId(productB.ProductId).Returns(pricingRuleForB);

            var productC = new Product(Guid.NewGuid(), "C", 0.70m);

            _pricingRulesRepository.GetByProductId(productC.ProductId).Returns(r => null);

            var productD = new Product(Guid.NewGuid(), "D", 0.20m);

            _pricingRulesRepository.GetByProductId(productD.ProductId).Returns(r => null);

            var order = new CheckOutOrder(Guid.NewGuid(), _pricingStrategyFactory);


            //Act
            order.AddOrderItem(productA);
            order.AddOrderItem(productB);
            order.AddOrderItem(productC);
            order.AddOrderItem(productD);
            order.AddOrderItem(productA);
            order.AddOrderItem(productB);
            order.AddOrderItem(productA);

            decimal expectedTotalPrice = 2.65m;


            //Assert
            Assert.Equal(expectedTotalPrice, order.GetTotalPrice());
        }
Ejemplo n.º 10
0
        public ActionResult SaveOrder(FormCollection collection)
        {
            ApplicationDbContext context = new ApplicationDbContext();

            double costFormDoi = 0;
            String Choice      = Request.Form["CostFormDoi"].ToString();

            if (Choice == "Share with other")
            {
                costFormDoi = -1;
            }
            if (Choice == "transferred immediately")
            {
                costFormDoi = 800;
            }
            if (Choice == "Free")
            {
                costFormDoi = 0;
            }

            EfDbContext _context = new EfDbContext();
            int         count    = 0;

            foreach (CheckOutOrder check in _context.CheckOutOrders)
            {
                count = int.Parse(check.CheckOutOrderID);
            }
            count++;


            // string userid = Session["UserID"].ToString();
            //string total = Session["Total"].ToString();
            CheckOutOrder            checkorder = new CheckOutOrder();
            ICheckOutOrderRepository checkrepo  = new CheckOutOrderRepository();
            List <Cart> items             = (List <Cart>)Session["cartitem"];
            double      totalpriceproduct = 0;

            for (int i = 0; i < items.Count; i++)
            {
                totalpriceproduct += items[i].Pro.PriceRetail;
            }

            checkorder.CheckOutOrderID  = count.ToString();
            checkorder.DateOrder        = DateTime.Now.ToString();
            checkorder.Adress           = collection["Adress"];
            checkorder.MemberID         = User.Identity.GetUserId().ToString();
            checkorder.ConfirmStatus    = "Wait";
            checkorder.CostFormMountain = costFormDoi.ToString();
            checkorder.ProductID        = "-1";
            checkorder.priceOfProduct   = "-1";
            checkorder.FreesTransfer    = "0";
            checkorder.PayMentStatus    = "Wait";
            checkorder.TotalPayment     = totalpriceproduct.ToString();
            checkorder.DeliveryStatus   = "Wait";
            checkoutrepo.AddOrder(checkorder);



            //List<Cart> items = (List<Cart>)Session["cartitem"];
            //for (int i = 0; i < items.Count; i++)
            //{
            //    CheckOutOrder checkout = new CheckOutOrder();
            //    checkout.CheckOutOrderID = count.ToString();
            //    checkout.MemberID = memberid.ToString();
            //    checkout.ProductID = items[i].Pro.ID;
            //    checkout.Adress = address;
            //    checkout.DateOrder = DateTime.ToString();
            //    checkout.CostFormMountain = costFormMountain.ToString();
            //    checkout.priceOfProduct = items[i].Pro.PriceRetail.ToString();
            //    checkout.TotalPayment = totalpayment.ToString();
            //    checkout.FreesTransfer = "0";
            //checkout.ConfirmStatus = "Wait";
            //    checkout.PayMentStatus = "Wait";
            //    checkout.DeliveryStatus ="Wait";
            //    checkoutrepo.AddOrder(checkout);
            //    return View("AddOrder");
            //}


            return(View("~/Views/Product/Thank.cshtml"));

            Session.Remove("cartitem");
        }
 public ActionResult IndexAdmin(CheckOutOrder check)
 {
     return(RedirectToAction("IndexAdmin"));
 }
        // GET: CheckOut/Delete/5
        public ActionResult Delete(string id)
        {
            CheckOutOrder ck = repository.GetOrderByID(id);

            return(View(ck));
        }
Ejemplo n.º 13
0
 public void EditOrder(CheckOutOrder order)
 {
     _context.Entry(order).State = EntityState.Modified;
     SaveCheckOutOrder();
 }
Ejemplo n.º 14
0
 public void AddOrder(CheckOutOrder order)
 {
     _context.CheckOutOrders.Add(order);
     SaveCheckOutOrder();
 }