public async Task <ActionResult> Edit(EditPricePlanViewModel editPricePlanViewModel)
        {
            if (ModelState.IsValid)
            {
                var currentPricePlan = await _pricePlanRepository.GetByIdAsync(editPricePlanViewModel.Id);

                currentPricePlan.ProductTypeId = editPricePlanViewModel.ProductTypeId;
                currentPricePlan.Name          = editPricePlanViewModel.Name;
                currentPricePlan.Description   = editPricePlanViewModel.Description;

                await _pricePlanRepository.Update(currentPricePlan);

                return(RedirectToAction("Index"));
            }
            return(View(editPricePlanViewModel));
        }
        // GET: PricePlan/Edit/5
        public async Task <ActionResult> Edit(int id)
        {
            var pricePlan = await _pricePlanRepository.GetByIdAsync(id);

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

            var allProductTypes = await GetAllProductTypes();

            var viewModel = new EditPricePlanViewModel()
            {
                CustomerId    = pricePlan.CustomerId,
                Description   = pricePlan.Description,
                Name          = pricePlan.Name,
                ProductTypeId = pricePlan.ProductTypeId,
                ProductTypes  = allProductTypes,
                Id            = pricePlan.Id
            };

            return(View(viewModel));
        }