Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }