// 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 })); }