public void FinaliseModel(UserSessionModel admin, UserModel model, bool isEditing = false, bool userTypeChanged = false) { businessService.FinaliseModel(admin, model.Business, isEditing); addressService.FinaliseModel(model.Address); if (!model.IsRegistering) { // Dropdowns model.Businesses = htmlService.DropDownModelBusinesses(admin, model.Business.BusinessId); model.UserTypes = htmlService.DropDownModelUserTypes(admin, model.UserTypeId); // Permissions var id = model.UserId ?? 0; var businessId = (model.Business != null && model.Business.BusinessId.HasValue) ? model.Business.BusinessId.Value : 0; if (!model.Approved.HasValue || !model.Approved.Value) { // Pull from business defaults model.CityAreas = htmlService.CheckBoxListModelBusinessPermissions(admin, businessId, model.CityAreas, PermissionTypeEnum.CityArea); model.Brands = htmlService.CheckBoxListModelBusinessPermissions(admin, businessId, model.Brands, PermissionTypeEnum.Brand); model.ProductFamilies = htmlService.CheckBoxListModelBusinessPermissions(admin, businessId, model.ProductFamilies, PermissionTypeEnum.ProductFamily); model.Tools = htmlService.CheckBoxListModelBusinessPermissions(admin, businessId, model.Tools, PermissionTypeEnum.Tool); } else { model.CityAreas = htmlService.CheckBoxListModelUserPermissions(admin, id, model.CityAreas, PermissionTypeEnum.CityArea, isEditing); model.Brands = htmlService.CheckBoxListModelUserPermissions(admin, id, model.Brands, PermissionTypeEnum.Brand, isEditing); model.ProductFamilies = htmlService.CheckBoxListModelUserPermissions(admin, id, model.ProductFamilies, PermissionTypeEnum.ProductFamily, isEditing); model.Tools = htmlService.CheckBoxListModelUserPermissions(admin, id, model.Tools, PermissionTypeEnum.Tool, isEditing); } if (userTypeChanged || !model.Approved.HasValue || !model.Approved.Value) { model.SystemAccesses = htmlService.CheckBoxListModelUserPermissions(admin, businessId, model.UserTypeId, model.SystemAccesses, PermissionTypeEnum.SystemAccess, isEditing); } else { model.SystemAccesses = htmlService.CheckBoxListModelUserPermissions(admin, id, model.SystemAccesses, PermissionTypeEnum.SystemAccess, isEditing); } } }
public void FinaliseModel(Messages messages, UserSessionModel user, WidgetContainerModel model) { model.ProjectOpenStatusTypes = htmlService.DropDownModelProjectOpenTypes((model == null) ? null : model.ProjectOpenStatusTypeId); model.ProjectStatusTypes = htmlService.DropDownModelProjectStatuses((model == null) ? null : model.ProjectStatusTypeId, DropDownMode.Filtering); model.ProjectTypes = htmlService.DropDownModelProjectTypes(null); model.UsersInGroup = htmlService.DropDownModelUsersInGroup(user, (model == null && !String.IsNullOrEmpty(model.UserId)) ? null : CheckAndConvert(model.UserId)); model.BusinessesInGroup = htmlService.DropDownModelBusinesses(user, (model == null && !String.IsNullOrEmpty(model.BusinessId)) ? null : CheckAndConvert(model.BusinessId)); model.ProjectExportTypes = htmlService.DropDownModelProjectExportTypes(null); model.FinancialYears = htmlService.DropDownFinancialYears(user, (model == null) ? null : model.Year); model.ProjectDateTypes = htmlService.DropDownDateTypes(projectService.GetProjectDateTypes(), model.DateTypeId); }