public async Task <string> GetVersionAsync(CancellationToken cancellationToken) { await _getDataLock.WaitAsync(cancellationToken); try { if (cancellationToken.IsCancellationRequested) { return(null); } if (string.IsNullOrEmpty(_version)) { DbContextOptions <OrganisationsContext> options = new DbContextOptionsBuilder <OrganisationsContext>().UseSqlServer(_orgConfiguration.OrgConnectionString).Options; using (OrganisationsContext organisations = new OrganisationsContext(options)) { await GetVersion(organisations, cancellationToken); } } } catch (Exception ex) { _logger.LogError("Failed to get org version", ex); } finally { _getDataLock.Release(); } return(_version); }
public async Task <decimal?> GetCofRemoval(IReportServiceContext reportServiceContext, CancellationToken cancellationToken) { await _getDataLock.WaitAsync(cancellationToken); try { if (cancellationToken.IsCancellationRequested) { return(null); } string ukPrnStr = reportServiceContext.Ukprn.ToString(); long ukPrn = Convert.ToInt64(ukPrnStr); DbContextOptions <OrganisationsContext> options = new DbContextOptionsBuilder <OrganisationsContext>().UseSqlServer(_orgConfiguration.OrgConnectionString).Options; using (OrganisationsContext organisations = new OrganisationsContext(options)) { _cofRemoval = organisations.ConditionOfFundingRemovals.Where(x => x.Ukprn == ukPrn).OrderByDescending(x => x.EffectiveFrom).Select(x => x.CoFremoval).SingleOrDefault(); } } catch (Exception ex) { _logger.LogError("Failed to get org provider name", ex); } finally { _getDataLock.Release(); } return(_cofRemoval); }
private async Task GetVersion(OrganisationsContext organisations, CancellationToken cancellationToken) { string version = "Unknown"; OrgVersion versionObj = await organisations.OrgVersions.OrderByDescending(x => x.CreatedOn) .FirstOrDefaultAsync(cancellationToken); if (versionObj != null) { version = $"{versionObj.MajorNumber}.{versionObj.MinorNumber}.{versionObj.MaintenanceNumber}"; } _version = version; }
protected void Application_Start() { Database.SetInitializer(new OrganisationsDbInitializer()); OrganisationsContext db = new OrganisationsContext(); db.Database.Initialize(true); AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); NinjectModule registrations = new NinjectRegistrations(); var kernel = new StandardKernel(registrations); DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel)); }
public async Task <string> GetProviderName(IReportServiceContext reportServiceContext, CancellationToken cancellationToken) { await _getDataLock.WaitAsync(cancellationToken); try { if (_loadedDataAlready) { return(_loadedData); } if (cancellationToken.IsCancellationRequested) { return(null); } _loadedDataAlready = true; string ukPrnStr = reportServiceContext.Ukprn.ToString(); long ukPrn = Convert.ToInt64(ukPrnStr); DbContextOptions <OrganisationsContext> options = new DbContextOptionsBuilder <OrganisationsContext>().UseSqlServer(_orgConfiguration.OrgConnectionString).Options; using (OrganisationsContext organisations = new OrganisationsContext(options)) { _loadedData = organisations.OrgDetails.Where(x => x.Ukprn == ukPrn).Select(x => x.Name) .SingleOrDefault(); await GetVersion(organisations, cancellationToken); } } catch (Exception ex) { _logger.LogError("Failed to get org provider name", ex); } finally { _getDataLock.Release(); } return(_loadedData); }