public async Task <bool> SaveAllowedOriginsAsync(int tenantId, IEnumerable <string> origins)
        {
            try
            {
                var entities = await GetAllowedOriginEntities(tenantId);

                foreach (var entity in entities.Where(entity => !origins.Contains(entity.AllowedOrigin)))
                {
                    _context.Entry(entity).State = EntityState.Deleted;
                }

                foreach (var origin in origins)
                {
                    if (!entities.Select(x => x.AllowedOrigin).Contains(origin))
                    {
                        _context.TenantAllowedOrigins
                        .Add(new TenantAllowedOriginEntity {
                            TenantId = tenantId, AllowedOrigin = origin
                        });
                    }
                }

                await _context.SaveChangesAsync();

                return(true);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
                return(false);
            }
        }
Ejemplo n.º 2
0
        public async Task <bool> RemoveTenantProviderSettings(int tenantId, AuthProviderType providerType)
        {
            try
            {
                var tenantSettings = await GetTenantProviderSettingsQuery(tenantId, providerType)
                                     .FirstOrDefaultAsync();

                _context.Entry(tenantSettings).State = EntityState.Deleted;
                await _context.SaveChangesAsync();

                return(true);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
                return(false);
            }
        }