public ReportMetadataController( TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger, ICacher cacher = null) : base(AspHelpers.MainNavigationPageKeys.NotSpecified, db, current, logger, cacher) { }
public AuthMessageSender(ITrackingEmailer emailer, CurrentContextServices current, TraffkTenantModelDbContext db, ITwilioSmsSender twilioSmsSender) { Emailer = emailer; Current = current; DB = db; TwilioSmsSender = twilioSmsSender; }
protected BasePageController(MainNavigationPageKeys mainNavPageKey, TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger, ICacher cacher = null) { Requires.NonNull(db, nameof(db)); Requires.NonNull(current, nameof(current)); Requires.NonNull(logger, nameof(logger)); MainNavPageKey = mainNavPageKey; Rdb = db; Current = current; Logger = logger.ForContext(new ILogEventEnricher[] { new PropertyEnricher(typeof(Type).Name, this.GetType().Name), }); var u = current.User; if (cacher != null) { Cacher = cacher.CreateScope(GetType(), TenantId); } }
public TrackingEmailer(IEmailer emailer, TraffkTenantModelDbContext rdb, ITraffkTenantFinder tenantFinder, ICommunicationBlastFinder blastFinder) { Inner = emailer; Rdb = rdb; TenantFinder = tenantFinder; BlastFinder = blastFinder; TenantId = tenantFinder.GetTenantIdAsync().ExecuteSynchronously(); }
public DataController(TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger, ICacher cacher, TraffkGlobalDbContext gdb) : base(AspHelpers.MainNavigationPageKeys.Manage, db, current, logger, cacher) { GDB = gdb; }
public HomeController( TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger ) : base(AspHelpers.MainNavigationPageKeys.Main, db, current, logger) { }
public ErrorController( TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger, IHostingEnvironment hostingEnvironment ) : base(AspHelpers.MainNavigationPageKeys.Main, db, current, logger) { HostingEnvironment_p = hostingEnvironment; }
public CommunicationsController( BlobStorageServices blobs, TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger ) : base(AspHelpers.MainNavigationPageKeys.Messaging, db, current, logger) { Blobs = blobs; }
public TableauAuthorizationService(IOptions <TableauSignInOptions> options, IOptions <TableauAdminCredentials> adminSignInOptions, TraffkTenantModelDbContext rdb, IHttpClientFactory httpClientFactory, ILogger logger) { TableauAdminCredentials = adminSignInOptions.Value; AdminTableauRestService = new TableauViewerService(options, TableauAdminCredentials, httpClientFactory, logger); Options = options.Value; Rdb = rdb; }
public RiskIndexController( TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger, ICacher cacher, IReportVisualService reportVisualService ) : base(AspHelpers.MainNavigationPageKeys.RiskIndex, db, current, logger, cacher) { ReportVisualService = reportVisualService; IsOnline = ReportVisualService.IsOnline; }
public JobsController( TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger, IBackgroundJobClient backgrounder, TraffkGlobalDbContext gdb ) : base(AspHelpers.MainNavigationPageKeys.Setup, db, current, logger) { Backgrounder = backgrounder; GDB = gdb; }
public CrmController( IEmailSender emailSender, TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger, ICacher cacher, IReportVisualService reportVisualService ) : base(AspHelpers.MainNavigationPageKeys.CRM, db, current, logger, cacher) { ReportVisualService = reportVisualService; EmailSender = emailSender; IsReportingOnline = ReportVisualService.IsOnline; }
public TenantsController( BlobStorageServices blobs, UserManager <ApplicationUser> userManager, TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger, IBackgroundJobClient backgrounder ) : base(AspHelpers.MainNavigationPageKeys.Setup, db, current, logger) { UserManager = userManager; Blobs = blobs; Backgrounder = backgrounder; }
public PingdomController( TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger, ITableauStatusService tableauStatusService, OrchestraApiService orchestraApiService, IRedisCache redis, ICacher cacher = null) : base(AspHelpers.MainNavigationPageKeys.NotSpecified, db, current, logger, cacher) { TableauStatusService = tableauStatusService; OrchestraApiService = orchestraApiService; Redis = redis; }
public UsersController( IEmailSender emailSender, IUserClaimsPrincipalFactory <ApplicationUser> userClaimsPrincipalFactory, IAuthorizationService authorizationService, UserManager <ApplicationUser> userManager, TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger) : base(AspHelpers.MainNavigationPageKeys.Setup, db, current, logger) { EmailSender = emailSender; UserClaimsPrincipalFactory = userClaimsPrincipalFactory; AuthorizationService = authorizationService; UserManager = userManager; }
private async Task AddTenantToShardManagerAsync(TenantInitializeDetails details, string shardMapName) { var shardMapId = (await Smdb.ShardMapsGlobal.Where(z => z.Name == shardMapName).FirstAsync()).ShardMapId; var shardId = Guid.NewGuid(); var shardVersion = Guid.NewGuid(); var lastOperationId = Guid.NewGuid(); var finder = new MyDummyTenantFinder(details.DatabaseName, details.TenantId); using (var rdb = new TraffkTenantModelDbContext(RdbOptions, finder, new ConfigStringFormatter(finder) { })) { rdb.ShardMapsLocal.Add(new ShardMapsLocal { ShardMapId = shardMapId, Name = shardMapName, MapType = 1, KeyType = 1, LastOperationId = lastOperationId }); rdb.ShardsLocal.Add(new ShardsLocal { ShardId = shardId, Version = shardVersion, ShardMapId = shardMapId, Protocol = 0, ServerName = details.DatabaseServer, Port = 0, DatabaseName = details.DatabaseName, Status = 1, LastOperationId = lastOperationId }); await rdb.SaveChangesAsync(); } Smdb.ShardsGlobal.Add(new ShardsGlobal { ShardId = shardId, Readable = true, Version = shardVersion, ShardMapId = shardMapId, Protocol = 0, ServerName = ConfigOptions.Value.FullyQualifiedServerName, Port = 0, DatabaseName = details.DatabaseName, Status = 1 }); await Smdb.SaveChangesAsync(); }
public ManageController( TraffkTenantModelDbContext db, UserManager <ApplicationUser> userManager, SignInManager <ApplicationUser> signInManager, IEmailSender emailSender, ISmsSender smsSender, CurrentContextServices current, ILogger logger ) : base(AspHelpers.MainNavigationPageKeys.Manage, db, current, logger) { UserManager = userManager; SignInManager = signInManager; EmailSender = emailSender; SmsSender = smsSender; IsSigninPersistent = Startup.IsSigninPersistent; }
public ReportingController( TraffkTenantModelDbContext db, CurrentContextServices current, ILogger logger, ICacher cacher, IReportVisualService reportVisualService, IBackgroundJobClient backgrounder, ITraffkRecurringJobManager recurringJobManager, BlobStorageServices blobStorageService ) : base(AspHelpers.MainNavigationPageKeys.Reporting, db, current, logger, cacher) { ReportVisualService = reportVisualService; Backgrounder = backgrounder; RecurringJobManager = recurringJobManager; BlobStorageService = blobStorageService; IsOnline = ReportVisualService.IsOnline; }
public TenantedJobRunner( TraffkTenantModelDbContext db, TraffkGlobalDbContext globalContext, IJobInfoFinder jobInfoFinder, CurrentTenantServices current, ITableauAdminService tableauAdminService, ILogger logger, ITableauVisualServices tableauVisualService, BlobStorageServices blobStorageService, IBackgroundJobClient innerBackgroundJobClient) : base(globalContext, jobInfoFinder, logger) { DB = db; Current = current; TableauAdminService = tableauAdminService; TableauVisualService = tableauVisualService; BlobStorageService = blobStorageService; InnerBackgroundJobClient = innerBackgroundJobClient; }
public CurrentContextServices( ConfigStringFormatter stringer, ITraffkTenantFinder tenantFinder, TraffkTenantModelDbContext rdb, IHttpContextAccessor httpContextAccessor, UserManager <ApplicationUser> userManager, IOptions <TableauSignInOptions> tableauSigninOptions, ITableauAuthorizationService tableauAuthorizationService ) : base(tenantFinder, rdb) { TableauSignInOptions = tableauSigninOptions.Value; Stringer = stringer; TenantFinder = tenantFinder; Rdb = rdb; HttpContextAccessor = httpContextAccessor; UserManager = userManager; TableauAuthorizationService = tableauAuthorizationService; }
public ReportVisualService(ITableauViewerService tableauViewerService, TraffkTenantModelDbContext rdb, ITableauTenantFinder tableauTenantFinder, ICurrentUser currentUser, IPhiAuthorizer phiAuthorizer, ICacher cacher = null) { CanSeePhi = phiAuthorizer.CanSeePhi; TableauViewerService = tableauViewerService; Rdb = rdb; TableauTenantFinder = tableauTenantFinder; CurrentUser = currentUser.User; Cacher = cacher.CreateScope(CurrentUser.UserName, CanSeePhi); TableauTenantId = TableauTenantFinder.GetTenantIdAsync().Result; ReportIndexCacheTimeout = TableauViewerService.ReportIndexCacheTimeout; ((IReportVisualService)this).IsOnline = TableauViewerService.IsOnline; }
public NoteService(TraffkTenantModelDbContext rdb) { Rdb = rdb; }
async Task ITenantManagementJobs.InitializeNewTenantAsync(TenantInitializeDetails details) { var finder = new MyDummyTenantFinder(details.DatabaseName, details.TenantId); using (var rdb = new TraffkTenantModelDbContext(RdbOptions, finder, new ConfigStringFormatter(finder) { })) { try { rdb.Database.OpenConnection(); } catch (Exception sex) { throw new Exception("Database has not been created yet", sex); } using (var trans = await rdb.Database.BeginTransactionAsync()) { var t = await rdb.Tenants.FindAsync(details.TenantId); if (t == null) { t = new Tenant { TenantId = details.TenantId, TenantName = details.TenantName, TenantType = Tenant.TenantTypes.Normal, }; rdb.Tenants.Add(t); rdb.Apps.Add(new App { Tenant = t, AppType = AppTypes.Portal, AppName = AppTypes.Portal.ToString(), }); await rdb.SaveChangesAsync(); var r = new ApplicationRole { Tenant = t, Name = "Bootstrap", NormalizedName = "bootstrap", }; rdb.Roles.Add(r); var u = new ApplicationUser { Tenant = t, Email = details.AdminUsername, NormalizedEmail = details.AdminUsername.ToUpper(), NormalizedUserName = details.AdminUsername.ToUpper(), }; rdb.Users.Add(u); await rdb.SaveChangesAsync(); u.PasswordHash = PasswordHasher.HashPassword(u, details.AdminPassword); rdb.UserRoles.Add(new ApplicationUserRole { UserId = u.Id, RoleId = r.Id, }); foreach (var p in new[] { PermissionNames.ManageJobs, PermissionNames.ManageUsers, PermissionNames.ManageRoles, PermissionNames.ManageTenants, PermissionNames.CustomerRelationshipData, PermissionNames.DirectMessaging, PermissionNames.ReleaseLog, }) { rdb.RoleClaims.Add(new RoleClaim { RoleId = r.Id, ClaimType = PermissionHelpers.CreateClaimType(p), ClaimValue = new PermissionClaimValue(true).ToJson() }); } } await rdb.SaveChangesAsync(); trans.Commit(); } } }
public TableauTenantFinder(IOptions <TenantSettings> options, TraffkTenantModelDbContext rdb, ITraffkTenantFinder traffkTenantFinder) { TraffkTenantId = traffkTenantFinder.GetTenantIdAsync().Result; Options = options; Rdb = rdb; }
public SystemCommunicationCommunicationBlastFinder(TraffkTenantModelDbContext rdb, ICreativeSettingsFinder creativeSettingsFinder) { Requires.NonNull(rdb, nameof(rdb)); Rdb = rdb; CreativeSettingsFinder = creativeSettingsFinder; }
public SmtpSettingsAdaptor(ITraffkTenantFinder finder, TraffkTenantModelDbContext rdb) { Finder = finder; Rdb = rdb; }
public CurrentTenantServices(ITraffkTenantFinder tenantFinder, TraffkTenantModelDbContext rdb) { TenantFinder = tenantFinder; Rdb = rdb; }
public EmailRedirectorController(TraffkTenantModelDbContext rdb, ILoggerFactory loggerFactory) { Rdb = rdb; Logger = loggerFactory.CreateLogger(this.GetType()); }