Esempio n. 1
0
 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;
     }
 }
Esempio n. 2
0
        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);
        }