public ActionResult ReserveGun(int gunId) { var ggun = gunrepo.GetGun(gunId); var date = DateTime.Now; var parameters = new PriceCalculationParameters() { gun = ggun }; var reservation = resserv.Reserve(ggun); var model = new ReservationViewModel() { Reservation = reservation, gun = ggun, PriceComponents = price.CalculatePrice(parameters), Date = date, }; return(View(model)); }
public List <PriceComponent> CalculatePrice(PriceCalculationParameters parameters) { var components = new List <PriceComponent>(); var gun = _gunRepository.GetGun(parameters.gun.Id); var placeComponent = new PriceComponent() { Name = "Main price" }; placeComponent.Value = gun.Price; components.Add(placeComponent); return(components); }
public Order CreateOrder(int Id, string firstName, string lastName, PriceCalculationParameters parameters) { var guns = gunRepository.GetGun(Id); var newOrder = new Order { GunId = guns.Id, FirstName = firstName, LastName = lastName, PriceComponents = new List <PriceComponent>(), }; newOrder.PriceComponents = _priceCalculation.CalculatePrices(parameters); guns.Id = newOrder.GunId; orderRepository.Create(newOrder); return(newOrder); }