public ActionResult Edit(EditServiceFunctionViewModel model) { if (_appUserContext.Current.CurrentCustomer == null || _appUserContext.Current.CurrentCustomer.Id == 0) { return(GetRedirect(model.EditLevel)); } if (_contextManager.RequestManager.Form[FormValuesNames.Return] != null) { return(GetRedirect(model.EditLevel, model.ServiceFunction.ServiceDomainId)); } if (ModelState.IsValid) { var serviceFunction = _serviceFunctionService.GetById(model.ServiceFunction.Id); if (serviceFunction == null) { return(GetRedirect(model.EditLevel, model.ServiceFunction.ServiceDomainId)); } var now = DateTime.Now; serviceFunction.FunctionTypeId = model.ServiceFunction.FunctionTypeId; serviceFunction.AlternativeName = model.ServiceFunction.AlternativeName; serviceFunction.DiagramOrder = model.ServiceFunction.DiagramOrder ?? 5; serviceFunction.UpdatedBy = _contextManager.UserManager.Name; serviceFunction.UpdatedDate = now; _serviceFunctionService.Update(Mapper.Map <ServiceFunction>(serviceFunction)); var customerSpecificTypeThreshold = _parameterService.GetParameterByNameAndCache <int>(ParameterNames.CustomerSpecificTypeThreshold); var functionType = _functionTypeRefDataService.GetById(serviceFunction.FunctionTypeId); if (!functionType.Visible && _functionTypeRefDataService.GetNumberOfFunctionTypeReferences(serviceFunction.FunctionTypeId) >= customerSpecificTypeThreshold) { functionType.Visible = true; _functionTypeRefDataService.Update(functionType); } return(GetRedirect(model.EditLevel, serviceFunction.ServiceDomainId)); } return(View("Edit" + model.EditLevel, model)); }
public ActionResult Edit(string level, int id) { var customerId = _appUserContext.Current.CurrentCustomer.Id; var customerFunctionCount = _serviceFunctionService .CustomerServiceFunctions(customerId).Count(); var serviceFunction = _serviceFunctionService.GetById(id); var vm = new EditServiceFunctionViewModel { ServiceFunction = Mapper.Map <ServiceFunctionViewModel>(serviceFunction), EditLevel = level, CanMoveServiceComponent = customerFunctionCount > 1, }; return(View("Edit" + level, vm)); }