public static bool CreateOrModify(RoleGroupConfigurationModel model, int OrgId) { try { int success = 0; foreach (RoleGroup group in model.RoleGroups) { foreach (Role role in group.Roles) { success = (int)Db.ExecuteScalar("prcSaveRoleGroupConfiguration", CommandType.StoredProcedure, Db.CreateParameter("@RoleGroupConfigurationID", role.RoleGroupConfigurationID), Db.CreateParameter("@OrganizationID", OrgId), Db.CreateParameter("@RoleGroupID", group.RoleGroupID), Db.CreateParameter("@RoleID", role.RoleID), Db.CreateParameter("@IsGranted", role.IsGranted) ); if (success == 0) { break; } } if (success == 0) { break; } } return(Convert.ToBoolean(success)); } catch (Exception) { throw; } }
public static RoleGroupConfigurationModel GetRoleGroupConfiguration(int orgId) { DataSet configDataSet = Db.ExecuteDataSet("prcGetRoleGroupConfiguration", CommandType.StoredProcedure, Db.CreateParameter("@OrganizationID", orgId) ); RoleGroupConfigurationModel cm = new RoleGroupConfigurationModel(); if (configDataSet != null && configDataSet.Tables.Count > 2) { List <RoleGroupConfiguration> configList = new List <RoleGroupConfiguration>(); if (configDataSet.Tables[0] != null && configDataSet.Tables[0].Rows.Count > 0) { configList = Db.MapReader <RoleGroupConfiguration>(configDataSet.Tables[0]).ToList(); } IList <RoleGroup> rgList = Db.MapReader <RoleGroup>(configDataSet.Tables[1]); IList <Role> roleList = Db.MapReader <Role>(configDataSet.Tables[2]); cm.RoleGroups = new List <RoleGroup>(); foreach (RoleGroup rg in rgList) { RoleGroup newGroup = new RoleGroup() { RoleGroupID = rg.RoleGroupID, RoleGroupName = rg.RoleGroupName }; newGroup.Roles = new List <Role>(); foreach (Role r in roleList) { Role newRole = new Role() { RoleID = r.RoleID, IsGranted = false, RoleGroupConfigurationID = 0, RoleName = r.RoleName }; newGroup.Roles.Add(newRole); } cm.RoleGroups.Add(newGroup); } foreach (RoleGroupConfiguration rgconf in configList) { RoleGroup rolegroup = cm.RoleGroups.Find(delegate(RoleGroup _field) { if (_field.RoleGroupID == rgconf.RoleGroupID) { return(true); } return(false); }); if (rolegroup != null) { Role role = rolegroup.Roles.Find(delegate(Role _field) { if (_field.RoleID == rgconf.RoleID) { return(true); } return(false); }); if (role != null) { role.IsGranted = rgconf.IsGranted; role.RoleGroupConfigurationID = rgconf.RoleGroupConfigurationID; } } } } return(cm); }