public ActionResult Checkout(OrderDTO order, string start_time = null, string end_time = null, string start_place = null, string end_place = null) { List <OrderDTO> orders = DatAcessService.GetCarOrders(order.CarId); List <DateTime> dates = new List <DateTime>(); foreach (var ord in orders) { for (DateTime i = ord.StartTime.Date; DateTime.Compare(i, ord.EndTime) <= 0; i = i.AddDays(1)) { dates.Add(i); } } ViewBag.FullOrdered = dates; if (ModelState.IsValid) { var car = DatAcessService.FindCar(order.CarId); order.OrdSum = PriceCalc.PricePerDays(car.Price, (order.EndTime - order.StartTime)); order.Status = "Pending"; order.StartPlace = start_place; order.EndPlace = end_place; order.Id = 0; DatAcessService.CreateOrder(order); return(RedirectToAction("Index", "PersCab", new { res = "added" })); } order.Car = DatAcessService.FindCar(order.CarId); return(View(order)); }
public void DiscountedItemDealSixteenItems() { DiscountedDealPrice discountedDeal = new DiscountedDealPrice(); discountedDeal.DealPrice = 5; discountedDeal.ItemPrice = new ItemPrice(); discountedDeal.ItemPrice.AmoundOfItems = 16; discountedDeal.ItemPrice.ItemInterval = 5; discountedDeal.ItemPrice.PricePerItem = (decimal)2.5; IPriceCalculator priceManager = new PriceCalc(); decimal priceToBePaid = priceManager.CalculatePriceForDiscountDeal(discountedDeal); Assert.AreEqual((decimal)17.5, priceToBePaid); }
public void FreeItems() { FreeItemsDealPrice freeItemsDeal = new FreeItemsDealPrice(); freeItemsDeal.ItemPrice = new ItemPrice(); freeItemsDeal.AmountOfFreeItems = 2; freeItemsDeal.ItemPrice.PricePerItem = (decimal)2.5; freeItemsDeal.ItemPrice.ItemInterval = 5; freeItemsDeal.ItemPrice.AmoundOfItems = 8; IPriceCalculator priceCalculator = new PriceCalc(); decimal price = priceCalculator.CalculatePriceForFreeItemsDeal(freeItemsDeal); Assert.AreEqual(15, price); }
private void buttonCostOfPurchase_Click(object sender, EventArgs e) { if (radioButtonPickup.Checked) { price = new RefinedPriceCalc(new PriceCalcBaseImpl(prices)); productInCart.ForEach(a => price.AddProduct(a.Id, a.Quantity)); textBoxCost.Text = price.GetTotalPrice("").ToString(); } else if (radioButtonToBeDelivered.Checked) { price = new RefinedPriceCalc(new PriceCalcShippingImpl(prices)); productInCart.ForEach(a => price.AddProduct(a.Id, a.Quantity)); textBoxCost.Text = price.GetTotalPrice(comboBoxPointOfDelivery.SelectedItem.ToString()).ToString(); } productInCart.Clear(); buttonRemove.Visible = false; }