public static void Init(NameValueCollection appSettings, string appRoot) { AppRootPath = appRoot; //DocDB config DocDBRepo.Settings.AppRootPath = appRoot; DocDBRepo.Settings.DocDBUri = appSettings["DocDBUri"]; DocDBRepo.Settings.DocDBAuthKey = appSettings["DocDBAuthKey"]; DocDBRepo.Settings.DocDBName = appSettings["DocDBName"]; DocDBRepo.Settings.DocDBCollection = appSettings["DocDBCollection"]; //IMPORTANT: Set Regions before setting CurrentRegion DocDBRepo.Settings.DocDBRegions = (appSettings["DocDBRegions"] as string).Split(','); DocDBRepo.Settings.DocDBCurrentRegion = Environment.GetEnvironmentVariable("REGION_NAME"); //Identity config LabAdminClientId = appSettings["ida:ClientId"]; LabAdminSecret = appSettings["ida:ClientSecret"]; LabAdminTenantId = appSettings["ida:TenantId"]; Authority = "https://login.microsoftonline.com/{0}"; AdminAuthority = string.Format(Authority, LabAdminTenantId); LabUserClientId = appSettings["LinkAdminClientId"]; LabUserSecret = appSettings["LinkAdminSecret"]; UserAuthority = string.Format(Authority, "common"); AESEncryption.Password = LabAdminSecret; StorageConnectionString = appSettings["StorageConnectionString"]; LabQueueName = appSettings["LabQueueName"]; GraphResource = "https://graph.microsoft.com"; var client = DocDBRepo.Initialize().Result; }
// Please set the following connection strings in app.config for this WebJob to run: // AzureWebJobsDashboard and AzureWebJobsStorage static void Main() { DocDBRepo.Settings.DocDBUri = ConfigurationManager.AppSettings["DocDBUri"]; DocDBRepo.Settings.DocDBAuthKey = ConfigurationManager.AppSettings["DocDBAuthKey"]; DocDBRepo.Settings.DocDBName = ConfigurationManager.AppSettings["DocDBName"]; var config = new JobHostConfiguration(); config.StorageConnectionString = ConfigurationManager.AppSettings["StorageConnectionString"]; config.DashboardConnectionString = ConfigurationManager.AppSettings["StorageConnectionString"]; //TODO: comment out for production config.Queues.BatchSize = 1; var client = DocDBRepo.Initialize().Result; if (config.IsDevelopment) { config.UseDevelopmentSettings(); } var host = new JobHost(); // The following code ensures that the WebJob will be running continuously host.RunAndBlock(); }
private static async Task Init(NameValueCollection appSettings, string appRoot) { //DocDB config DocDBRepo.Settings.AppRootPath = appRoot; DocDBRepo.Settings.DocDBUri = appSettings["DocDBUri"]; DocDBRepo.Settings.DocDBAuthKey = appSettings["DocDBAuthKey"]; DocDBRepo.Settings.DocDBName = appSettings["DocDBName"]; DocDBRepo.Settings.DocDBCollection = appSettings["DocDBCollection"]; //IMPORTANT: Set Regions before setting CurrentRegion DocDBRepo.Settings.DocDBRegions = (appSettings["DocDBRegions"] as string).Split(','); DocDBRepo.Settings.DocDBCurrentRegion = Environment.GetEnvironmentVariable("REGION_NAME"); //Identity config Settings.LabAdminClientId = appSettings["ida:ClientId"]; Settings.LabAdminSecret = appSettings["ida:ClientSecret"]; Settings.LabAdminTenantId = appSettings["ida:TenantId"]; Settings.Authority = "https://login.microsoftonline.com/{0}"; Settings.AdminAuthority = string.Format(Settings.Authority, Settings.LabAdminTenantId); Settings.LabUserClientId = appSettings["LinkAdminClientId"]; Settings.LabUserSecret = appSettings["LinkAdminSecret"]; Settings.UserAuthority = string.Format(Settings.Authority, "common"); Settings.StorageConnectionString = appSettings["StorageConnectionString"]; Settings.LabQueueName = appSettings["LabQueueName"]; Settings.GraphResource = "https://graph.microsoft.com"; var client = await DocDBRepo.Initialize(); }
// Please set the following connection strings in app.config for this WebJob to run: // AzureWebJobsDashboard and AzureWebJobsStorage static void Main() { _ops = new ServerOp(); DocDBRepo.Settings.DocDBUri = ConfigurationManager.AppSettings["DocDBUri"]; DocDBRepo.Settings.DocDBAuthKey = ConfigurationManager.AppSettings["DocDBAuthKey"]; DocDBRepo.Settings.DocDBName = ConfigurationManager.AppSettings["DocDBName"]; string sbRelayConnectionString = ConfigurationManager.AppSettings["SBRelayConnectionString"]; var config = new JobHostConfiguration(); config.StorageConnectionString = ConfigurationManager.AppSettings["StorageConnectionString"]; config.DashboardConnectionString = ConfigurationManager.AppSettings["StorageConnectionString"]; if (config.IsDevelopment) { config.UseDevelopmentSettings(); } var client = DocDBRepo.Initialize().Result; _relayServer = new OrgRelayServer(sbRelayConnectionString); _relayServer.IncomingMessage += RelayServer_IncomingMessage; _relayServer.Start(); var host = new JobHost(config); // The following code ensures that the WebJob will be running continuously host.RunAndBlock(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); DocDBRepo <UltraReading> .Initialize(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); Settings.SiteName = ConfigurationManager.AppSettings["SiteName"]; Settings.SigningCertificate = ConfigurationManager.AppSettings["SigningCertificate"]; Settings.SigningCertificatePassword = ConfigurationManager.AppSettings["SigningCertificatePassword"]; Settings.Port = ConfigurationManager.AppSettings["Port"]; Settings.HttpLocalhost = ConfigurationManager.AppSettings["HttpLocalhost"]; Settings.STSApiKey = ConfigurationManager.AppSettings["STSApiKey"]; Settings.AdminSiteUrl = ConfigurationManager.AppSettings["AdminSiteUrl"]; Settings.IssuerUri = ConfigurationManager.AppSettings["IssuerUri"]; DocDBRepo.Settings.DocDBUri = ConfigurationManager.AppSettings["DocDBUri"]; DocDBRepo.Settings.DocDBAuthKey = ConfigurationManager.AppSettings["DocDBAuthKey"]; DocDBRepo.Settings.DocDBName = ConfigurationManager.AppSettings["DocDBName"]; var client = DocDBRepo.Initialize().Result; }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AntiForgeryConfig.UniqueClaimTypeIdentifier = "http://schemas.microsoft.com/identity/claims/objectidentifier"; try { DocDBRepo.Settings.DocDBUri = ConfigurationManager.AppSettings["DocDBUri"]; DocDBRepo.Settings.DocDBAuthKey = ConfigurationManager.AppSettings["DocDBAuthKey"]; DocDBRepo.Settings.DocDBName = ConfigurationManager.AppSettings["DocDBName"]; Settings.StorageConnectionString = ConfigurationManager.AppSettings["StorageConnectionString"]; Settings.STSApiKey = ConfigurationManager.AppSettings["STSApiKey"]; Settings.AdminSiteUrl = ConfigurationManager.AppSettings["AdminSiteUrl"]; Settings.AdminApiKey = ConfigurationManager.AppSettings["AdminApiKey"]; Settings.ClientId = ConfigurationManager.AppSettings["ida:ClientId"]; Settings.ClientSecret = ConfigurationManager.AppSettings["ida:ClientSecret"]; Settings.TenantId = ConfigurationManager.AppSettings["ida:TenantId"]; //Zip init ZipCopy.InitZip(Settings.AppRootPath); Settings.CurrSiteScriptVersion = ZipCopy.GetCurrSiteVersion(Path.Combine(Settings.AppRootPath, "Files")); var client = DocDBRepo.Initialize().Result; } catch (Exception ex) { Logging.WriteToAppLog("Error during site initialization", System.Diagnostics.EventLogEntryType.Error, ex); throw; } }
public async Task <ActionResult> IndexAsync() { var items = await DocDBRepo <UltraReading> .GetItemsAsync(r => r.Reading != string.Empty); return(View(items.Reverse().Take(15))); }
protected void Application_Start() { try { //DocDB config DocDBRepo.Settings.DocDBUri = ConfigurationManager.AppSettings["DocDBUri"]; DocDBRepo.Settings.DocDBAuthKey = ConfigurationManager.AppSettings["DocDBAuthKey"]; DocDBRepo.Settings.DocDBName = ConfigurationManager.AppSettings["DocDBName"]; DocDBRepo.Settings.DocDBCollection = ConfigurationManager.AppSettings["DocDBCollection"]; var client = DocDBRepo.Initialize().Result; var s = client.AuthKey; ControllerBuilder.Current.DefaultNamespaces.Add("B2BPortal.Controllers"); AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AntiForgeryConfig.UniqueClaimTypeIdentifier = "http://schemas.microsoft.com/identity/claims/objectidentifier"; //Settings var isConfig = Settings.LoadCurrSiteConfig(); if (isConfig) { //if new site, no config but invites are disabled until config is complete AdalUtil.Settings.SiteRedemptionSettings = Settings.CurrSiteConfig.SiteRedemptionSettings; MailSender.MailFrom = Settings.CurrSiteConfig.SiteRedemptionSettings.InviterResponseEmailAddr; } AdalUtil.Settings.AADInstanceLocal = ConfigurationManager.AppSettings["ida:AADInstanceLocal"]; AdalUtil.Settings.AADInstanceMulti = ConfigurationManager.AppSettings["ida:AADInstanceMulti"]; AdalUtil.Settings.TenantID = ConfigurationManager.AppSettings["ida:TenantId"]; AdalUtil.Settings.Tenant = ConfigurationManager.AppSettings["ida:Tenant"]; AdalUtil.Settings.AppClientId_Admin = ConfigurationManager.AppSettings["ida:ClientId_Admin"]; AdalUtil.Settings.AppClientSecret_Admin = ConfigurationManager.AppSettings["ida:ClientSecret_Admin"]; AdalUtil.Settings.AppClientId_Preauth = ConfigurationManager.AppSettings["ida:ClientId_PreAuth"]; AdalUtil.Settings.AppClientSecret_Preauth = ConfigurationManager.AppSettings["ida:ClientSecret_PreAuth"]; AdalUtil.Settings.GraphApiVersion = ConfigurationManager.AppSettings["GraphApiVersion"]; AdalUtil.Settings.InvitationEmailSubject = ConfigurationManager.AppSettings["InvitationEmailSubject"]; AdalUtil.Settings.DefaultBodyTemplateName = ConfigurationManager.AppSettings["DefaultBodyTemplateName"]; AdalUtil.Settings.InviterRoleNames = (ConfigurationManager.AppSettings["InviterRoleNames"] as string).Split(','); AdalUtil.Settings.AssignedInviterRole = ConfigurationManager.AppSettings["AssignedInviterRole"]; //SMTP config MailSender.MailEnabled = (ConfigurationManager.AppSettings["MailEnabled"] == "1"); MailSender.LogoPath = Server.MapPath(ConfigurationManager.AppSettings["MailLogoPath"]); MailSender.MailTemplate = Settings.GetMailTemplate(ConfigurationManager.AppSettings["MailTemplateName"]); MailSender.MailServer = ConfigurationManager.AppSettings["MailServer"]; MailSender.MailServerPort = Convert.ToInt32(ConfigurationManager.AppSettings["SMTPPort"]); MailSender.SMTPLogin = ConfigurationManager.AppSettings["SMTPLogin"]; MailSender.SMTPPassword = ConfigurationManager.AppSettings["SMTPPassword"]; Settings.UseSMTP = (!string.IsNullOrEmpty(MailSender.MailServer)); AdalUtil.Settings.UseSMTP = Settings.UseSMTP; /* * TODO: Prefetching the app token here because initializing this library during admin * authentication is timing out/failing. * don't know if this is due to the api call or spinning up this code * see AdalUtil.CallGraph... */ AdalUtil.AuthenticateApp(); } catch (Exception ex) { Logging.WriteToAppLog("Error during site initialization", System.Diagnostics.EventLogEntryType.Error, ex); throw; } }
protected void Application_Start() { try { //DocDB config DocDBRepo.Settings.DocDBUri = ConfigurationManager.AppSettings["DocDBUri"]; DocDBRepo.Settings.DocDBAuthKey = ConfigurationManager.AppSettings["DocDBAuthKey"]; DocDBRepo.Settings.DocDBName = ConfigurationManager.AppSettings["DocDBName"]; DocDBRepo.Settings.DocDBCollection = ConfigurationManager.AppSettings["DocDBCollection"]; var client = DocDBRepo.Initialize().Result; var s = client.AuthKey; ControllerBuilder.Current.DefaultNamespaces.Add("B2BPortal.Controllers"); AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AntiForgeryConfig.UniqueClaimTypeIdentifier = "http://schemas.microsoft.com/identity/claims/objectidentifier"; //Settings bool isConfig = false; var task = Task.Run(async() => { isConfig = await SiteConfigRules.LoadCurrSiteConfig(); }); task.Wait(); if (isConfig) { //if new site, no config but invites are disabled until config is complete MailSender.MailFrom = Settings.CurrSiteConfig.SiteRedemptionSettings.InviterResponseEmailAddr; } Settings.AADInstanceLocal = ConfigurationManager.AppSettings["ida:AADInstanceLocal"]; Settings.AADInstanceMulti = ConfigurationManager.AppSettings["ida:AADInstanceMulti"]; Settings.TenantID = ConfigurationManager.AppSettings["ida:TenantId"]; Settings.Tenant = ConfigurationManager.AppSettings["ida:Tenant"]; Settings.AppRootPath = HttpRuntime.AppDomainAppPath; Settings.AppClientId_Admin = ConfigurationManager.AppSettings["ida:ClientId_Admin"]; Settings.AppClientSecret_Admin = ConfigurationManager.AppSettings["ida:ClientSecret_Admin"]; //using same client password for token cache encryption AESEncryption.Password = Settings.AppClientSecret_Admin; Settings.AppClientId_Preauth = ConfigurationManager.AppSettings["ida:ClientId_PreAuth"]; Settings.AppClientSecret_Preauth = ConfigurationManager.AppSettings["ida:ClientSecret_PreAuth"]; Settings.GraphApiVersion = ConfigurationManager.AppSettings["GraphApiVersion"]; Settings.DefaultSubjectTemplateName = ConfigurationManager.AppSettings["DefaultSubjectTemplateName"]; Settings.DefaultBodyTemplateName = ConfigurationManager.AppSettings["DefaultBodyTemplateName"]; Settings.InviterRoleNames = (ConfigurationManager.AppSettings["InviterRoleNames"] as string).Split(','); Settings.AssignedInviterRole = ConfigurationManager.AppSettings["AssignedInviterRole"]; //SMTP config MailSender.MailEnabled = (ConfigurationManager.AppSettings["MailEnabled"] == "1"); MailSender.MailTemplate = MailSender.GetTemplateContents(ConfigurationManager.AppSettings["MailTemplateName"]); MailSender.MailServer = ConfigurationManager.AppSettings["MailServer"]; MailSender.MailServerPort = Convert.ToInt32(ConfigurationManager.AppSettings["SMTPPort"]); MailSender.SMTPLogin = ConfigurationManager.AppSettings["SMTPLogin"]; MailSender.SMTPPassword = ConfigurationManager.AppSettings["SMTPPassword"]; Settings.UseSMTP = (!string.IsNullOrEmpty(MailSender.MailServer)); StorageRepo.StorageConnectionString = ConfigurationManager.AppSettings["StorageConnectionString"]; /* * TODO: Prefetching the app token here because initializing this library during admin * authentication is timing out/failing. * don't know if this is due to the api call or spinning up this code * see AdalUtil.CallGraph... */ AdalUtil.AuthenticateApp(); AdalUtil.GetTenantBranding(); if (Settings.Branding.TileLogo.Image == null) { //assign default logo var imgPath = Path.Combine(Settings.AppRootPath, "Content\\Images\\AADB2BTile.png"); var img = File.ReadAllBytes(imgPath); Settings.Branding.TileLogo.Image = img; } MailSender.Logo = Settings.Branding.TileLogo.Image; } catch (Exception ex) { Logging.WriteToAppLog("Error during site initialization", System.Diagnostics.EventLogEntryType.Error, ex); throw; } }
private static void Setup() { try { //DocDB config DocDBRepo.Settings.DocDBUri = ConfigurationManager.AppSettings["DocDBUri"]; DocDBRepo.Settings.DocDBAuthKey = ConfigurationManager.AppSettings["DocDBAuthKey"]; DocDBRepo.Settings.DocDBName = ConfigurationManager.AppSettings["DocDBName"]; DocDBRepo.Settings.DocDBCollection = ConfigurationManager.AppSettings["DocDBCollection"]; var client = DocDBRepo.Initialize().Result; var s = client.AuthKey; bool isConfig = false; var task = Task.Run(async() => { isConfig = await SiteConfigRules.LoadCurrSiteConfig(); }); task.Wait(); if (isConfig) { //if new site, no config but invites are disabled until config is complete Settings.CurrSiteConfig.SiteRedemptionSettings = Settings.CurrSiteConfig.SiteRedemptionSettings; Settings.CurrSiteConfig.InvitingOrg = Settings.CurrSiteConfig.InvitingOrg; MailSender.MailFrom = Settings.CurrSiteConfig.SiteRedemptionSettings.InviterResponseEmailAddr; } Settings.AppRootPath = Environment.CurrentDirectory; Settings.AADInstanceLocal = ConfigurationManager.AppSettings["ida:AADInstanceLocal"]; Settings.AADInstanceMulti = ConfigurationManager.AppSettings["ida:AADInstanceMulti"]; Settings.TenantID = ConfigurationManager.AppSettings["ida:TenantId"]; Settings.Tenant = ConfigurationManager.AppSettings["ida:Tenant"]; Settings.AppClientId_Admin = ConfigurationManager.AppSettings["ida:ClientId_Admin"]; Settings.AppClientSecret_Admin = ConfigurationManager.AppSettings["ida:ClientSecret_Admin"]; //using same client password for token cache encryption AESEncryption.Password = Settings.AppClientSecret_Admin; Settings.AppClientId_Preauth = ConfigurationManager.AppSettings["ida:ClientId_PreAuth"]; Settings.AppClientSecret_Preauth = ConfigurationManager.AppSettings["ida:ClientSecret_PreAuth"]; Settings.GraphApiVersion = ConfigurationManager.AppSettings["GraphApiVersion"]; Settings.InviterRoleNames = (ConfigurationManager.AppSettings["InviterRoleNames"] as string).Split(','); Settings.AssignedInviterRole = ConfigurationManager.AppSettings["AssignedInviterRole"]; //these are the mail content templates Settings.DefaultSubjectTemplateName = ConfigurationManager.AppSettings["DefaultSubjectTemplateName"]; Settings.DefaultBodyTemplateName = ConfigurationManager.AppSettings["DefaultBodyTemplateName"]; //SMTP config MailSender.MailEnabled = (ConfigurationManager.AppSettings["MailEnabled"] == "1"); //this is the mail formatting template - subject and body are injected into this MailSender.MailTemplate = MailSender.GetTemplateContents(ConfigurationManager.AppSettings["MailTemplateName"]); MailSender.MailServer = ConfigurationManager.AppSettings["MailServer"]; MailSender.MailServerPort = Convert.ToInt32(ConfigurationManager.AppSettings["SMTPPort"]); MailSender.SMTPLogin = ConfigurationManager.AppSettings["SMTPLogin"]; MailSender.SMTPPassword = ConfigurationManager.AppSettings["SMTPPassword"]; StorageRepo.StorageConnectionString = ConfigurationManager.AppSettings["StorageConnectionString"]; Settings.UseSMTP = (!string.IsNullOrEmpty(MailSender.MailServer)); /* * TODO: Prefetching the app token here because initializing this library during admin * authentication is timing out/failing. * don't know if this is due to the api call or spinning up this code * see AdalUtil.CallGraph... */ AdalUtil.AuthenticateApp(); AdalUtil.GetTenantBranding(); if (Settings.Branding.TileLogo.Image == null) { //assign default logo var imgPath = Path.Combine(Settings.AppRootPath, "Content\\Images\\AADB2BTile.png"); var img = File.ReadAllBytes(imgPath); Settings.Branding.TileLogo.Image = img; } MailSender.Logo = Settings.Branding.TileLogo.Image; } catch (Exception ex) { Logging.WriteToAppLog("Error during site initialization", System.Diagnostics.EventLogEntryType.Error, ex); throw; } }