Merge branch 'develop' into feature/dark-theme

This commit is contained in:
Timofey 2022-01-25 16:35:20 +08:00
commit d4a500beb9
38 changed files with 59 additions and 126 deletions

View File

@ -14,12 +14,14 @@ namespace ASC.Core.Common.EF.Context
public class AuditTrailContext : BaseDbContext
{
public DbSet<AuditEvent> AuditEvents { get; set; }
public DbSet<User> Users { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
ModelBuilderWrapper
.From(modelBuilder, Provider)
.AddAuditEvent()
.AddUser()
.AddDbFunction();
}

View File

@ -13,6 +13,7 @@ namespace ASC.Core.Common.EF.Context
public class MessagesContext : BaseDbContext
{
public DbSet<LoginEvents> LoginEvents { get; set; }
public DbSet<User> Users { get; set; }
protected override Dictionary<Provider, Func<BaseDbContext>> ProviderContext
{
@ -31,6 +32,7 @@ namespace ASC.Core.Common.EF.Context
ModelBuilderWrapper
.From(modelBuilder, Provider)
.AddLoginEvents()
.AddUser()
.AddDbFunction();
}
}

View File

@ -12,7 +12,7 @@ namespace ASC.Data.Backup.EF.Context
{
public DbSet<BackupRecord> Backups { get; set; }
public DbSet<BackupSchedule> Schedules { get; set; }
public DbSet<DbTenant> Tenants { get; set; }
public BackupsContext() { }
public BackupsContext(DbContextOptions<BackupsContext> options)
: base(options)
@ -23,8 +23,7 @@ namespace ASC.Data.Backup.EF.Context
{
ModelBuilderWrapper
.From(modelBuilder, Provider)
.AddDbTenant()
.AddDbTariff();
.AddDbTenant();
}
}

View File

@ -34,80 +34,79 @@ using ASC.Core.Common.EF.Context;
using ASC.Core.Tenants;
using ASC.Data.Backup.EF.Context;
using ASC.Data.Backup.EF.Model;
using Microsoft.EntityFrameworkCore;
namespace ASC.Data.Backup.Storage
{
[Scope]
public class BackupRepository : IBackupRepository
{
private Lazy<BackupsContext> LazyBackupsContext { get; }
private BackupsContext BackupContext { get => LazyBackupsContext.Value; }
private Lazy<TenantDbContext> LazyTenantDbContext { get; }
private TenantDbContext TenantDbContext { get => LazyTenantDbContext.Value; }
public BackupRepository(DbContextManager<BackupsContext> backupContext, DbContextManager<TenantDbContext> tenantDbContext)
private readonly Lazy<BackupsContext> _backupContext;
public BackupRepository(DbContextManager<BackupsContext> dbContactManager)
{
LazyBackupsContext = new Lazy<BackupsContext>(() => backupContext.Value);
LazyTenantDbContext = new Lazy<TenantDbContext>(() => tenantDbContext.Value);
_backupContext = new Lazy<BackupsContext>(() => dbContactManager.Value);
}
public void SaveBackupRecord(BackupRecord backup)
{
BackupContext.AddOrUpdate(r => r.Backups, backup);
BackupContext.SaveChanges();
_backupContext.Value.AddOrUpdate(r => r.Backups, backup);
_backupContext.Value.SaveChanges();
}
public BackupRecord GetBackupRecord(Guid id)
{
return BackupContext.Backups.SingleOrDefault(b => b.Id == id);
return _backupContext.Value.Backups.Find(id);
}
public BackupRecord GetBackupRecord(string hash, int tenant)
{
return BackupContext.Backups.SingleOrDefault(b => b.Hash == hash && b.TenantId == tenant);
return _backupContext.Value.Backups.AsNoTracking().SingleOrDefault(b => b.Hash == hash && b.TenantId == tenant);
}
public List<BackupRecord> GetExpiredBackupRecords()
{
return BackupContext.Backups.Where(b => b.ExpiresOn != DateTime.MinValue && b.ExpiresOn <= DateTime.UtcNow).ToList();
return _backupContext.Value.Backups.AsNoTracking().Where(b => b.ExpiresOn != DateTime.MinValue && b.ExpiresOn <= DateTime.UtcNow).ToList();
}
public List<BackupRecord> GetScheduledBackupRecords()
{
return BackupContext.Backups.Where(b => b.IsScheduled == true).ToList();
return _backupContext.Value.Backups.AsNoTracking().Where(b => b.IsScheduled == true).ToList();
}
public List<BackupRecord> GetBackupRecordsByTenantId(int tenantId)
{
return BackupContext.Backups.Where(b => b.TenantId == tenantId).ToList();
return _backupContext.Value.Backups.AsNoTracking().Where(b => b.TenantId == tenantId).ToList();
}
public void DeleteBackupRecord(Guid id)
{
var backup = _backupContext.Value.Backups.Find(id);
var backup = BackupContext.Backups.FirstOrDefault(b => b.Id == id);
if (backup != null)
{
BackupContext.Backups.Remove(backup);
BackupContext.SaveChanges();
_backupContext.Value.Backups.Remove(backup);
_backupContext.Value.SaveChanges();
}
}
public void SaveBackupSchedule(BackupSchedule schedule)
{
BackupContext.AddOrUpdate(r => r.Schedules, schedule);
BackupContext.SaveChanges();
_backupContext.Value.AddOrUpdate(r => r.Schedules, schedule);
_backupContext.Value.SaveChanges();
}
public void DeleteBackupSchedule(int tenantId)
{
var shedule = BackupContext.Schedules.Where(s => s.TenantId == tenantId).ToList();
BackupContext.Schedules.RemoveRange(shedule);
BackupContext.SaveChanges();
var shedule = _backupContext.Value.Schedules.Where(s => s.TenantId == tenantId).ToList();
_backupContext.Value.Schedules.RemoveRange(shedule);
_backupContext.Value.SaveChanges();
}
public List<BackupSchedule> GetBackupSchedules()
{
var query = BackupContext.Schedules.Join(TenantDbContext.Tenants,
var query = _backupContext.Value.Schedules.Join(_backupContext.Value.Tenants,
s => s.TenantId,
t => t.Id,
(s, t) => new { schedule = s, tenant = t })
@ -119,7 +118,7 @@ namespace ASC.Data.Backup.Storage
public BackupSchedule GetBackupSchedule(int tenantId)
{
return BackupContext.Schedules.SingleOrDefault(s => s.TenantId == tenantId);
return _backupContext.Value.Schedules.AsNoTracking().SingleOrDefault(s => s.TenantId == tenantId);
}
}
}

View File

@ -45,17 +45,14 @@ namespace ASC.AuditTrail
private MessageTarget MessageTarget { get; set; }
private UserFormatter UserFormatter { get; set; }
private Lazy<AuditTrailContext> LazyAuditTrailContext { get; }
private Lazy<UserDbContext> LazyUserDbContext { get; }
private AuditTrailContext AuditTrailContext { get => LazyAuditTrailContext.Value; }
private UserDbContext UserDbContext { get => LazyUserDbContext.Value; }
private AuditActionMapper AuditActionMapper { get; }
public AuditEventsRepository(MessageTarget messageTarget, UserFormatter userFormatter, DbContextManager<AuditTrailContext> dbContextManager, AuditActionMapper auditActionMapper, DbContextManager<UserDbContext> DbContextManager)
public AuditEventsRepository(MessageTarget messageTarget, UserFormatter userFormatter, DbContextManager<AuditTrailContext> dbContextManager, AuditActionMapper auditActionMapper)
{
MessageTarget = messageTarget;
UserFormatter = userFormatter;
LazyAuditTrailContext = new Lazy<AuditTrailContext>(() => dbContextManager.Value );
LazyUserDbContext = new Lazy<UserDbContext>(() => DbContextManager.Value);
AuditActionMapper = auditActionMapper;
}
@ -79,7 +76,7 @@ namespace ASC.AuditTrail
{
var query =
from q in AuditTrailContext.AuditEvents
from p in UserDbContext.Users.Where(p => q.UserId == p.Id).DefaultIfEmpty()
from p in AuditTrailContext.Users.Where(p => q.UserId == p.Id).DefaultIfEmpty()
where q.TenantId == tenant
orderby q.Date descending
select new Query { AuditEvent = q, User = p };

View File

@ -44,19 +44,13 @@ namespace ASC.AuditTrail.Data
public class LoginEventsRepository
{
private UserFormatter UserFormatter { get; }
private Lazy<AuditTrailContext> LazyAuditTrailContext { get; }
private AuditTrailContext AuditTrailContext { get => LazyAuditTrailContext.Value; }
private AuditActionMapper AuditActionMapper { get; }
private UserDbContext UserDbContext { get => LazyUserDbContext.Value; }
private Lazy<UserDbContext> LazyUserDbContext { get; }
private MessagesContext MessagesContext { get => LazyMessagesContext.Value; }
private Lazy<MessagesContext> LazyMessagesContext { get; }
public LoginEventsRepository(UserFormatter userFormatter, DbContextManager<AuditTrailContext> dbContextManager, AuditActionMapper auditActionMapper, DbContextManager<UserDbContext> DbContextManager, DbContextManager<MessagesContext> dbMessagesContext)
public LoginEventsRepository(UserFormatter userFormatter, AuditActionMapper auditActionMapper, DbContextManager<MessagesContext> dbMessagesContext)
{
UserFormatter = userFormatter;
LazyAuditTrailContext = new Lazy<AuditTrailContext>(() => dbContextManager.Value);
LazyUserDbContext = new Lazy<UserDbContext>(() => DbContextManager.Value);
AuditActionMapper = auditActionMapper;
LazyMessagesContext = new Lazy<MessagesContext>(() => dbMessagesContext.Value);
}
@ -71,7 +65,7 @@ namespace ASC.AuditTrail.Data
{
var query =
(from b in MessagesContext.LoginEvents
from p in UserDbContext.Users.Where(p => b.UserId == p.Id).DefaultIfEmpty()
from p in MessagesContext.Users.Where(p => b.UserId == p.Id).DefaultIfEmpty()
where b.TenantId == tenant
orderby b.Date descending
select new Query { LoginEvents = b, User = p })
@ -84,7 +78,7 @@ namespace ASC.AuditTrail.Data
{
var query =
from q in MessagesContext.LoginEvents
from p in UserDbContext.Users.Where(p => q.UserId == p.Id).DefaultIfEmpty()
from p in MessagesContext.Users.Where(p => q.UserId == p.Id).DefaultIfEmpty()
where q.TenantId == tenant
where q.Date >= fromDate
where q.Date <= to

View File

@ -50,8 +50,6 @@ namespace ASC.CRM.Core.Dao
private Lazy<CrmDbContext> LazyCrmDbContext { get; }
public CrmDbContext CrmDbContext { get => LazyCrmDbContext.Value; }
private Lazy<TenantDbContext> LazyTenantDbContext { get; }
public TenantDbContext TenantDbContext { get => LazyTenantDbContext.Value; }
protected readonly SecurityContext _securityContext;
protected readonly ICache _cache;
protected ILog _logger;
@ -59,7 +57,6 @@ namespace ASC.CRM.Core.Dao
public AbstractDao(
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
@ -73,7 +70,6 @@ namespace ASC.CRM.Core.Dao
_cache = ascCache;
LazyCrmDbContext = new Lazy<CrmDbContext>(() => dbContextManager.Get(CrmConstants.DatabaseId));
LazyTenantDbContext = new Lazy<TenantDbContext>(() => dbContextManager1.Get(CrmConstants.DatabaseId));
TenantID = tenantManager.GetCurrentTenant().TenantId;
_securityContext = securityContext;

View File

@ -65,7 +65,6 @@ namespace ASC.CRM.Core.Dao
public CasesDao(
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
CrmSecurity crmSecurity,
@ -78,7 +77,6 @@ namespace ASC.CRM.Core.Dao
IMapper mapper
) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -67,7 +67,6 @@ namespace ASC.CRM.Core.Dao
public ContactDao(
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
CrmSecurity crmSecurity,
@ -83,7 +82,6 @@ namespace ASC.CRM.Core.Dao
IMapper mapper
) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -54,7 +54,6 @@ namespace ASC.CRM.Core.Dao
public ContactInfoDao(
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
TenantUtil tenantUtil,
@ -63,7 +62,6 @@ namespace ASC.CRM.Core.Dao
FactoryIndexerContactInfo factoryIndexerContactInfo,
IMapper mapper)
: base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -46,14 +46,12 @@ namespace ASC.CRM.Core.Dao
public class CurrencyInfoDao : AbstractDao
{
public CurrencyInfoDao(DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
ICache ascCache,
IMapper mapper) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -47,14 +47,12 @@ namespace ASC.CRM.Core.Dao
{
public CurrencyRateDao(
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
ICache ascCache,
IMapper mapper) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -58,7 +58,6 @@ namespace ASC.CRM.Core.Dao
public CustomFieldDao(
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
TenantUtil tenantUtil,
@ -68,7 +67,6 @@ namespace ASC.CRM.Core.Dao
IMapper mapper
) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -65,7 +65,6 @@ namespace ASC.CRM.Core.Dao
private readonly AuthorizationManager _authorizationManager;
public DealDao(DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
CrmSecurity crmSecurity,
@ -78,7 +77,6 @@ namespace ASC.CRM.Core.Dao
IMapper mapper,
BundleSearch bundleSearch) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -54,14 +54,12 @@ namespace ASC.CRM.Core.Dao
{
public DealMilestoneDao(DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
ICache ascCache,
IMapper mapper) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -50,14 +50,12 @@ namespace ASC.CRM.Core.Dao
private FilesIntegration _filesIntegration;
public FileDao(FilesIntegration filesIntegration,
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
ICache ascCache,
IMapper mapper) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -76,7 +76,6 @@ namespace ASC.CRM.Core.Dao
public InvoiceDao(
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
FactoryIndexerInvoice factoryIndexer,
@ -89,7 +88,6 @@ namespace ASC.CRM.Core.Dao
TenantUtil tenantUtil,
IMapper mapper)
: base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -54,7 +54,6 @@ namespace ASC.CRM.Core.Dao
public InvoiceItemDao(
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
CrmSecurity crmSecurity,
@ -62,7 +61,6 @@ namespace ASC.CRM.Core.Dao
ICache ascCache,
IMapper mapper
) : base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -51,14 +51,12 @@ namespace ASC.CRM.Core.Dao
public class InvoiceLineDao : AbstractDao
{
public InvoiceLineDao(DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
ICache ascCache,
IMapper mapper)
: base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -51,7 +51,6 @@ namespace ASC.CRM.Core.Dao
public InvoiceTaxDao(
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
@ -59,7 +58,6 @@ namespace ASC.CRM.Core.Dao
IMapper mapper
)
: base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -53,14 +53,12 @@ namespace ASC.CRM.Core.Dao
public ListItemDao(
CrmSecurity crmSecurity,
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
ICache ascCache,
IMapper mapper)
: base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -62,7 +62,6 @@ namespace ASC.CRM.Core.Dao
private readonly FactoryIndexerEvents _factoryIndexer;
public RelationshipEventDao(DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
FilesIntegration filesIntegration,
@ -74,7 +73,6 @@ namespace ASC.CRM.Core.Dao
IMapper mapper
) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -79,7 +79,6 @@ namespace ASC.CRM.Core.Dao
#region Constructor
public ReportDao(DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
FilesIntegration filesIntegration,
@ -95,7 +94,6 @@ namespace ASC.CRM.Core.Dao
DisplayUserSettingsHelper displayUserSettingsHelper,
IMapper mapper) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -73,7 +73,6 @@ namespace ASC.CRM.Core.Dao
public SearchDao(DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
DaoFactory daoFactory,
SecurityContext securityContext,
@ -89,7 +88,6 @@ namespace ASC.CRM.Core.Dao
IMapper mapper
) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -50,13 +50,12 @@ namespace ASC.CRM.Core.Dao
public class TagDao : AbstractDao
{
public TagDao(DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
ICache ascCache,
IMapper mapper) :
base(dbContextManager,dbContextManager1,
base(dbContextManager,
tenantManager,
securityContext,
logger,

View File

@ -61,7 +61,6 @@ namespace ASC.CRM.Core.Dao
private UserDbContext _userDbContext { get => LazyUserDbContext.Value; }
public TaskDao(DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
CrmSecurity crmSecurity,
@ -72,7 +71,6 @@ namespace ASC.CRM.Core.Dao
DbContextManager<UserDbContext> userDbContext,
IMapper mapper) :
base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -49,7 +49,6 @@ namespace ASC.CRM.Core.Dao
{
public TaskTemplateContainerDao(
DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
@ -57,7 +56,6 @@ namespace ASC.CRM.Core.Dao
IMapper mapper
)
: base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,
@ -123,14 +121,12 @@ namespace ASC.CRM.Core.Dao
public class TaskTemplateDao : AbstractDao
{
public TaskTemplateDao(DbContextManager<CrmDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
SecurityContext securityContext,
IOptionsMonitor<ILog> logger,
ICache cache,
IMapper mapper)
: base(dbContextManager,
dbContextManager1,
tenantManager,
securityContext,
logger,

View File

@ -35,6 +35,7 @@ namespace ASC.CRM.Core.EF
public virtual DbSet<DbTaskTemplateTask> TaskTemplateTask { get; set; }
public virtual DbSet<DbVoipCalls> VoipCalls { get; set; }
public virtual DbSet<DbVoipNumber> VoipNumber { get; set; }
public virtual DbSet<DbTenant> Tenants { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
@ -45,7 +46,8 @@ namespace ASC.CRM.Core.EF
.AddDbCase()
.AddDbRelationshipEvent()
.AddDbDeal()
.AddDbTask();
.AddDbTask()
.AddDbTenant();
modelBuilder.Entity<DbCurrencyInfo>(entity =>
{

View File

@ -52,9 +52,6 @@ namespace ASC.Files.Core.Data
private Lazy<EF.FilesDbContext> LazyFilesDbContext { get; }
public EF.FilesDbContext FilesDbContext { get => LazyFilesDbContext.Value; }
private Lazy<TenantDbContext> LazyTenantDbContext { get; }
public TenantDbContext TenantDbContext { get => LazyTenantDbContext.Value; }
private int tenantID;
protected internal int TenantID { get => tenantID != 0 ? tenantID : (tenantID = TenantManager.GetCurrentTenant().TenantId); }
protected UserManager UserManager { get; }
@ -71,7 +68,6 @@ namespace ASC.Files.Core.Data
protected AbstractDao(
DbContextManager<EF.FilesDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
UserManager userManager,
TenantManager tenantManager,
TenantUtil tenantUtil,
@ -87,7 +83,6 @@ namespace ASC.Files.Core.Data
{
this.cache = cache;
LazyFilesDbContext = new Lazy<EF.FilesDbContext>(() => dbContextManager.Get(FileConstant.DatabaseId));
LazyTenantDbContext = new Lazy<TenantDbContext>(() => dbContextManager1.Get(FileConstant.DatabaseId));
UserManager = userManager;
TenantManager = tenantManager;
TenantUtil = tenantUtil;

View File

@ -79,7 +79,6 @@ namespace ASC.Files.Core.Data
FactoryIndexerFile factoryIndexer,
UserManager userManager,
DbContextManager<EF.FilesDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
TenantUtil tenantUtil,
SetupInfo setupInfo,
@ -102,7 +101,6 @@ namespace ASC.Files.Core.Data
Settings settings)
: base(
dbContextManager,
dbContextManager1,
userManager,
tenantManager,
tenantUtil,

View File

@ -78,7 +78,6 @@ namespace ASC.Files.Core.Data
FactoryIndexerFolder factoryIndexer,
UserManager userManager,
DbContextManager<EF.FilesDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
TenantUtil tenantUtil,
SetupInfo setupInfo,
@ -96,7 +95,6 @@ namespace ASC.Files.Core.Data
CrossDao crossDao)
: base(
dbContextManager,
dbContextManager1,
userManager,
tenantManager,
tenantUtil,

View File

@ -40,7 +40,6 @@ namespace ASC.Files.Core.Data
public LinkDao(
UserManager userManager,
DbContextManager<EF.FilesDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
TenantUtil tenantUtil,
SetupInfo setupInfo,
@ -54,7 +53,6 @@ namespace ASC.Files.Core.Data
ICache cache)
: base(
dbContextManager,
dbContextManager1,
userManager,
tenantManager,
tenantUtil,

View File

@ -49,7 +49,6 @@ namespace ASC.Files.Core.Data
{
public SecurityDao(UserManager userManager,
DbContextManager<EF.FilesDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
TenantUtil tenantUtil,
SetupInfo setupInfo,
@ -62,7 +61,6 @@ namespace ASC.Files.Core.Data
IServiceProvider serviceProvider,
ICache cache)
: base(dbContextManager,
dbContextManager1,
userManager,
tenantManager,
tenantUtil,

View File

@ -54,7 +54,6 @@ namespace ASC.Files.Core.Data
public TagDao(
UserManager userManager,
DbContextManager<EF.FilesDbContext> dbContextManager,
DbContextManager<TenantDbContext> dbContextManager1,
TenantManager tenantManager,
TenantUtil tenantUtil,
SetupInfo setupInfo,
@ -67,7 +66,6 @@ namespace ASC.Files.Core.Data
IServiceProvider serviceProvider,
ICache cache)
: base(dbContextManager,
dbContextManager1,
userManager,
tenantManager,
tenantUtil,

View File

@ -22,8 +22,11 @@ namespace ASC.Files.Core.EF
public DbSet<DbFilesTagLink> TagLink { get; set; }
public DbSet<DbFilesTag> Tag { get; set; }
public DbSet<DbFilesThirdpartyApp> ThirdpartyApp { get; set; }
public DbSet<DbFilesLink> FilesLink { get; set; }
public DbSet<DbTariff> Tariffs { get; set; }
public DbSet<DbQuota> Quotas { get; set; }
public DbSet<DbTenant> Tenants { get; set; }
protected override Dictionary<Provider, Func<BaseDbContext>> ProviderContext
{
get
@ -48,7 +51,11 @@ namespace ASC.Files.Core.EF
.AddDbFilesThirdpartyIdMapping()
.AddDbFilesTagLink()
.AddDbFilesTag()
.AddDbDbFilesThirdpartyApp() .AddDbFilesLink();
.AddDbDbFilesThirdpartyApp()
.AddDbFilesLink()
.AddDbTariff()
.AddDbQuota()
.AddDbTenant();
}
}

View File

@ -132,7 +132,7 @@ namespace ASC.Web.Files.Core.Search
IQueryable<FileTenant> GetBaseQuery(DateTime lastIndexed) => fileDao.FilesDbContext.Files
.Where(r => r.ModifiedOn >= lastIndexed)
.Join(fileDao.TenantDbContext.Tenants, r => r.TenantId, r => r.Id, (f, t) => new FileTenant { DbFile = f, DbTenant = t })
.Join(fileDao.FilesDbContext.Tenants, r => r.TenantId, r => r.Id, (f, t) => new FileTenant { DbFile = f, DbTenant = t })
.Where(r => r.DbTenant.Status == ASC.Core.Tenants.TenantStatus.Active);
try

View File

@ -128,7 +128,7 @@ namespace ASC.Web.Files.Core.Search
IQueryable<FolderTenant> GetBaseQuery(DateTime lastIndexed) => folderDao.FilesDbContext.Folders
.Where(r => r.ModifiedOn >= lastIndexed)
.Join(folderDao.TenantDbContext.Tenants, r => r.TenantId, r => r.Id, (f, t) => new FolderTenant { DbFolder = f, DbTenant = t })
.Join(folderDao.FilesDbContext.Tenants, r => r.TenantId, r => r.Id, (f, t) => new FolderTenant { DbFolder = f, DbTenant = t })
.Where(r => r.DbTenant.Status == ASC.Core.Tenants.TenantStatus.Active);
try

View File

@ -38,25 +38,16 @@ namespace ASC.Files.ThumbnailBuilder
private readonly ICache cache;
private Lazy<Core.EF.FilesDbContext> LazyFilesDbContext { get; }
private Core.EF.FilesDbContext filesDbContext { get => LazyFilesDbContext.Value; }
private Lazy<TenantDbContext> LazyTenantDbContext { get; }
private TenantDbContext TenantDbContext { get => LazyTenantDbContext.Value; }
private Lazy<CoreDbContext> LazyCoreDbContext { get; }
private CoreDbContext coreDbContext { get => LazyCoreDbContext.Value; }
private readonly string cacheKey;
public FileDataProvider(
ThumbnailSettings settings,
ICache ascCache,
DbContextManager<Core.EF.FilesDbContext> dbContextManager,
DbContextManager<TenantDbContext> tenantdbContextManager,
DbContextManager<CoreDbContext> coredbContextManager
)
DbContextManager<Core.EF.FilesDbContext> dbContextManager)
{
thumbnailSettings = settings;
cache = ascCache;
LazyFilesDbContext = new Lazy<Core.EF.FilesDbContext>(() => dbContextManager.Get(thumbnailSettings.ConnectionStringName));
LazyTenantDbContext = new Lazy<TenantDbContext>(() => tenantdbContextManager.Get(thumbnailSettings.ConnectionStringName));
LazyCoreDbContext = new Lazy<CoreDbContext>(() => coredbContextManager.Get(thumbnailSettings.ConnectionStringName));
cacheKey = "PremiumTenants";
}
@ -97,8 +88,8 @@ namespace ASC.Files.ThumbnailBuilder
*/
var search =
coreDbContext.Tariffs
.Join(coreDbContext.Quotas.DefaultIfEmpty(), a => a.Tariff, b => b.Tenant, (tariff, quota) => new { tariff, quota })
filesDbContext.Tariffs
.Join(filesDbContext.Quotas.DefaultIfEmpty(), a => a.Tariff, b => b.Tenant, (tariff, quota) => new { tariff, quota })
.Where(r =>
(
r.tariff.Comment == null ||
@ -139,7 +130,7 @@ namespace ASC.Files.ThumbnailBuilder
}
return search
.Join(TenantDbContext.Tenants, r => r.TenantId, r => r.Id, (f, t) => new FileTenant { DbFile = f, DbTenant = t })
.Join(filesDbContext.Tenants, r => r.TenantId, r => r.Id, (f, t) => new FileTenant { DbFile = f, DbTenant = t })
.Where(r => r.DbTenant.Status == TenantStatus.Active)
.Select(r => new FileData<int>(r.DbFile.TenantId, r.DbFile.Id, ""))
.ToList();