// GET: PricePlan/Details/5
        public async Task <ActionResult> Details(int id)
        {
            var currentPricePlan = await _pricePlanRepository.GetByIdAsync(id);

            if (currentPricePlan == null)
            {
                return(HttpNotFound());
            }

            var currentProductType = _productTypeRepository.GetById(currentPricePlan.ProductTypeId);

            var priceUnitViewModels = new List <PriceUnitViewModel>();

            if (currentProductType.PriceCalculationType == PriceCalculationType.WithHeightAmount)
            {
                priceUnitViewModels = currentPricePlan.PriceUnits.Select(x => new PriceUnitViewModel
                {
                    PricePlanId = id,
                    Id          = x.Id,
                    Height      = x.Height,
                    Width       = x.Width,
                    Price       = x.Price,
                }).ToList();
            }

            var viewModel = new PricePlanDetailsViewModel
            {
                PricePlan           = currentPricePlan,
                PriceUnitViewModels = priceUnitViewModels
            };

            return(View(viewModel));
        }
        public async Task <ActionResult> Details(PricePlanDetailsViewModel pricePlanDetailsViewModel)
        {
            var currentUserId = await _customerIdService.GetCustomerId();

            var priceUnit = new PriceUnit
            {
                Name       = pricePlanDetailsViewModel.PricePlan.Name,
                CustomerId = currentUserId,
                Height     = pricePlanDetailsViewModel.PriceUnitViewModel.Height,
                Width      = pricePlanDetailsViewModel.PriceUnitViewModel.Width,
                Price      = pricePlanDetailsViewModel.PriceUnitViewModel.Price
            };
            var currentPricePlanId = pricePlanDetailsViewModel.PricePlan.Id;
            var currentPricePlan   = await _pricePlanRepository.GetByIdAsync(currentPricePlanId);

            currentPricePlan.PriceUnits.Add(priceUnit);
            await _pricePlanRepository.Update(currentPricePlan);

            return(RedirectToAction("Details", new { id = currentPricePlanId }));
        }