Ejemplo n.º 1
0
 public static void DeleteGroupInstanceRoles(Guid groupId, Guid instanceId)
 {
     using (GroupsInstancesRolesTableAdapter adapter = new GroupsInstancesRolesTableAdapter(OrganizationProvider.GetConnectionString(UserContext.Current.OrganizationId)))
     {
         adapter.Delete(groupId, instanceId);
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Assignes the specified role for specified group in specified instance in specified organization.
 /// </summary>
 /// <param name="groupId">Specifies the group's identifier.</param>
 /// <param name="instanceId">Specifies the instance's identifier.</param>
 /// <param name="roleId">Specifies the role's identifier.</param>
 /// <param name="organizationId">Specifies the organization's identifier.</param>
 internal static void InsertGroupInstanceRole(Guid groupId, Guid instanceId, Guid roleId, Guid organizationId)
 {
     using (GroupsInstancesRolesTableAdapter adapter = new GroupsInstancesRolesTableAdapter(OrganizationProvider.GetConnectionString(organizationId)))
     {
         adapter.Insert(groupId, instanceId, roleId);
     }
 }
Ejemplo n.º 3
0
        public static DataTable GetGroupInstancesRoles(Guid groupId)
        {
            Guid organizationId = UserContext.Current.OrganizationId;

            ClientDataSet.GroupsInstancesRolesDataTable table = null;
            using (GroupsInstancesRolesTableAdapter adapter = new GroupsInstancesRolesTableAdapter(OrganizationProvider.GetConnectionString(organizationId)))
            {
                table = adapter.GetGroupsInstancesRolesByGroupId(organizationId, groupId);
            }
            table.Columns.Add("RoleName", typeof(string));

            Instance firstInstance = InstanceProvider.GetFirstInstance(organizationId);

            foreach (ClientDataSet.GroupsInstancesRolesRow row in table)
            {
                Guid roleId = row.RoleId;

                if (!FrameworkConfiguration.Current.WebApplication.EnableMultipleInstances)
                {
                    if ((roleId == RoleProvider.InstanceAdministratorRoleId) || ((firstInstance != null) && (row.InstanceId != firstInstance.InstanceId)))
                    {
                        continue;
                    }
                }

                ConfigurationDataSet.RoleRow roleRow = RoleProvider.GetRoleRow(roleId);
                if (roleRow != null)
                {
                    row["RoleName"] = roleRow.Name;
                }
            }

            return(table);
        }
Ejemplo n.º 4
0
 internal static ClientDataSet.GroupsInstancesRolesDataTable GetGroupsInstancesRolesByGroups(Guid organizationId, IList groupIds)
 {
     using (GroupsInstancesRolesTableAdapter adapter = new GroupsInstancesRolesTableAdapter(OrganizationProvider.GetConnectionString(organizationId)))
     {
         return(adapter.GetGroupsInstancesRolesByGroups(organizationId, Support.ConvertListToString(groupIds).ToUpperInvariant()));
     }
 }
Ejemplo n.º 5
0
 internal static ClientDataSet.GroupsInstancesRolesDataTable GetGroupsInstancesRolesByRoleId(Guid organizationId, Guid roleId)
 {
     using (GroupsInstancesRolesTableAdapter adapter = new GroupsInstancesRolesTableAdapter(OrganizationProvider.GetConnectionString(organizationId)))
     {
         return(adapter.GetGroupsInstancesRolesByRoleId(organizationId, roleId));
     }
 }
Ejemplo n.º 6
0
        public static DataTable GetGroups()
        {
            Guid organizationId = UserContext.Current.OrganizationId;

            if (FrameworkConfiguration.Current.WebApplication.EnableMultipleInstances)
            {
                return(GetGroups(organizationId));
            }
            else
            {
                ClientDataSet.GroupDataTable table = GetGroups(organizationId);

                Instance firstInstance = InstanceProvider.GetFirstInstance(organizationId);

                if (firstInstance != null)
                {
                    ArrayList list = new ArrayList();
                    ClientDataSet.GroupsInstancesRolesDataTable girTable = null;

                    using (GroupsInstancesRolesTableAdapter adapter = new GroupsInstancesRolesTableAdapter(OrganizationProvider.GetConnectionString(organizationId)))
                    {
                        girTable = adapter.GetGroupsInstancesRolesByInstanceId(organizationId, firstInstance.InstanceId);
                    }

                    foreach (ClientDataSet.GroupsInstancesRolesRow girRow in girTable)
                    {
                        if (girRow.RoleId == RoleProvider.InstanceAdministratorRoleId)
                        {
                            if (!list.Contains(girRow.GroupId))
                            {
                                list.Add(girRow.GroupId);
                            }
                        }
                    }

                    foreach (Guid groupId in list)
                    {
                        ClientDataSet.GroupRow row = table.FindByGroupId(groupId);
                        if (row != null)
                        {
                            table.RemoveGroupRow(row);
                        }
                    }

                    table.AcceptChanges();
                }

                return(table);
            }
        }
Ejemplo n.º 7
0
        internal static Guid GetGroupInstanceRole(Guid organizationId, Guid groupId, Guid instanceId)
        {
            Guid roleId = Guid.Empty;

            using (GroupsInstancesRolesTableAdapter adapter = new GroupsInstancesRolesTableAdapter(OrganizationProvider.GetConnectionString(organizationId)))
            {
                ClientDataSet.GroupsInstancesRolesDataTable table = adapter.GetGroupsInstancesRolesByGroupIdInstanceId(organizationId, groupId, instanceId);
                if (table.Count > 0)
                {
                    roleId = table[0].RoleId;
                }
            }
            return(roleId);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Gets the collection of group/role identifiers pairs for the specified instance.
        /// </summary>
        public static SortedList GetGroupIdRoleIdList(Guid organizationId, Guid instanceId)
        {
            SortedList list = new SortedList();

            using (GroupsInstancesRolesTableAdapter adapter = new GroupsInstancesRolesTableAdapter(OrganizationProvider.GetConnectionString(organizationId)))
            {
                foreach (ClientDataSet.GroupsInstancesRolesRow row in adapter.GetGroupsInstancesRolesByInstanceId(organizationId, instanceId))
                {
                    if ((!list.Contains(row.GroupId) && (RoleProvider.GetRoleRow(row.RoleId) != null)))
                    {
                        list.Add(row.GroupId, row.RoleId);
                    }
                }
            }

            return(list);
        }