public void DeleteOrder(string id) { CheckOutOrder order = _context.CheckOutOrders.Find(id); _context.CheckOutOrders.Remove(order); SaveCheckOutOrder(); }
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)); }
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()); } }
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()); }
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()); }
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()); }
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()); }
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)); }
public void EditOrder(CheckOutOrder order) { _context.Entry(order).State = EntityState.Modified; SaveCheckOutOrder(); }
public void AddOrder(CheckOutOrder order) { _context.CheckOutOrders.Add(order); SaveCheckOutOrder(); }