/// <summary> /// SaveRoleFeatures /// </summary> /// <param name="addroleFeaturesRequest"></param> /// <returns></returns> public ServiceResponse SaveRoleFeatures(AddRoleFeaturesRequest addroleFeaturesRequest) { ServiceResponse addRoleFeaturesResponse = new ServiceResponse(); try { SetContext(); List <FeatureResult> lstFeatures = new List <FeatureResult>(); foreach (ModuleFeatureDC feature in addroleFeaturesRequest.Features) { FeatureResult featureResult = new FeatureResult(); featureResult.FeatureId = feature.FeatureId; featureResult.RoleFeaturePermissions = new List <FeaturePermissionResult>(); foreach (FeaturePermissionDC featurePermission in feature.RoleFeaturePermissions) { featureResult.RoleFeaturePermissions.Add(new FeaturePermissionResult { FeatureId = feature.FeatureId, ContentPermissionId = featurePermission.ContentPermissionId }); } lstFeatures.Add(featureResult); } _securityManager.SaveRoleFeatures(addroleFeaturesRequest.RoleId, lstFeatures); } catch (Exception ex) { HandleError(ex, addRoleFeaturesResponse); } return(addRoleFeaturesResponse); }
public void SaveRoleFeatures(RoleFeaturesModel roleFeatures) { AddRoleFeaturesRequest addRoleFeaturesRequest = new AddRoleFeaturesRequest(); addRoleFeaturesRequest.RoleId = roleFeatures.RoleId; addRoleFeaturesRequest.Features = new List <ModuleFeatureDC>(); foreach (ModuleModel module in roleFeatures.Features) { foreach (ModuleFeatureModel feature in module.ModuleFeatures) { if (feature.IsSelected) { ModuleFeatureDC featureDC = new ModuleFeatureDC(); featureDC.FeatureId = feature.FeatureId; featureDC.RoleFeaturePermissions = new List <FeaturePermissionDC>(); foreach (FeaturePermissionModel permission in feature.RoleFeaturePermissions) { if (permission.IsAssigned) { featureDC.RoleFeaturePermissions.Add(new FeaturePermissionDC { FeatureId = feature.FeatureId, ContentPermissionId = permission.ContentPermissionId }); } } addRoleFeaturesRequest.Features.Add(featureDC); } } } ServiceResponse addRoleFeaturesResponse = _securityProxy.Execute(opt => opt.SaveRoleFeatures(addRoleFeaturesRequest)); if (addRoleFeaturesResponse.Status != ResponseStatus.Success) { HandleError(addRoleFeaturesResponse.Status, addRoleFeaturesResponse.ResponseMessage); } }