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); } }
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); } }