Example #1
0
        private IEnumerable <ManagedRole> UpdateRoles(IManagedTenant tenant, RoleList roles, ICollection <IEntity> entities)
        {
            using (Profiler.Measure("PlatformService.UpdateRoles:tenant"))
            {
                if (tenant == null)
                {
                    throw new ArgumentNullException("tenant");
                }

                var ids = roles == null?Enumerable.Empty <string>() : roles.Select(r => r.RemoteId.ToString());

                CastEntityHelper.Delete(tenant.Roles.Where(r => !ids.Contains(r.RemoteId)).Select(t => new EntityRef(t.Id)));

                if (roles == null)
                {
                    return(Enumerable.Empty <ManagedRole>());
                }

                var updatedEntities = roles.Where(r => r.RemoteId > 0).Select(r => UpdateRole(tenant, r, entities)).ToList();

                entities.AddRange(updatedEntities);

                return(updatedEntities);
            }
        }
Example #2
0
        private IEnumerable <ManagedUser> UpdateUsers(IManagedTenant tenant, UserList users, ICollection <IEntity> entities)
        {
            using (Profiler.Measure("PlatformService.UpdateUsers"))
            {
                if (tenant == null)
                {
                    throw new ArgumentNullException("tenant");
                }

                var ids = users == null?Enumerable.Empty <string>() : users.Select(u => u.RemoteId.ToString());

                CastEntityHelper.Delete(tenant.Users.Where(u => !ids.Contains(u.RemoteId)).Select(t => new EntityRef(t.Id)));

                if (users == null)
                {
                    return(Enumerable.Empty <ManagedUser>());
                }

                var updatedEntities = users.Where(u => u.RemoteId > 0).Select(u => UpdateUser(tenant, u, entities)).ToList();

                entities.AddRange(updatedEntities);

                return(updatedEntities);
            }
        }
Example #3
0
        private IEnumerable <ManagedTenant> UpdateTenants(IManagedPlatform platform, IList <RemoteTenantInfo> tenants, ICollection <IEntity> entities, ICollection <ManagedApp> existingApps)
        {
            using (Profiler.Measure("PlatformService.UpdateTenants"))
            {
                if (platform == null)
                {
                    throw new ArgumentNullException("platform");
                }

                var ids = tenants == null?Enumerable.Empty <string>() : tenants.Select(t => t.RemoteId.ToString());

                CastEntityHelper.Delete(platform.ContainsTenants.Where(t => !ids.Contains(t.RemoteId)).Select(t => new EntityRef(t.Id)));

                if (tenants == null)
                {
                    return(new List <ManagedTenant>());
                }

                var updatedEntities = tenants.Select(t => UpdateTenant(platform, t, entities, existingApps)).ToList();

                entities.AddRange(updatedEntities);

                return(updatedEntities);
            }
        }