diff --git a/TestHosts/TestHosts/Controllers/DeveloperController.cs b/TestHosts/TestHosts/Controllers/DeveloperController.cs index 7919b99..8266c87 100644 --- a/TestHosts/TestHosts/Controllers/DeveloperController.cs +++ b/TestHosts/TestHosts/Controllers/DeveloperController.cs @@ -18,7 +18,7 @@ namespace TestHosts.Controllers public class DeveloperController : ControllerBase { private readonly IDbContextResolver ContextResolver; - + private const String PataPawaReadModelKey = "PataPawaReadModel"; public DeveloperController(IDbContextResolver contextResolver) { this.ContextResolver = contextResolver; } @@ -27,7 +27,7 @@ public DeveloperController(IDbContextResolver contextResolver) [Route("patapawaprepay/createuser")] public async Task CreatePrepayUser([FromBody] CreatePatapawaPrePayUser request, CancellationToken cancellationToken){ - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); Guid userId = Guid.NewGuid(); @@ -57,7 +57,7 @@ await resolvedContext.Context.PrePayUsers.AddAsync(new PrePayUser [Route("patapawaprepay/adduserdebt")] public async Task AddUserDebt([FromBody] AddPatapawaPrePayUserDebt request, CancellationToken cancellationToken) { - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); PrePayUser user = await resolvedContext.Context.PrePayUsers.SingleOrDefaultAsync(u => u.UserName == request.UserName, cancellationToken); @@ -75,7 +75,7 @@ public async Task AddUserDebt([FromBody] AddPatapawaPrePayUserDeb [HttpPost] [Route("patapawaprepay/createmeter")] public async Task CreatePrepayMeter([FromBody] CreatePatapawaPrePayMeter request, CancellationToken cancellationToken){ - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); Guid meterId = Guid.NewGuid(); @@ -101,7 +101,7 @@ await resolvedContext.Context.PrePayMeters.AddAsync(new PrePayMeter public async Task CreateHostConfiguration([FromBody] CreatePataPawaPostPayBill request, CancellationToken cancellationToken) { - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); Guid billIdentifier = Guid.NewGuid(); diff --git a/TestHosts/TestHosts/Controllers/PataPawaPrePaidController.cs b/TestHosts/TestHosts/Controllers/PataPawaPrePaidController.cs index 91485d0..fc24867 100644 --- a/TestHosts/TestHosts/Controllers/PataPawaPrePaidController.cs +++ b/TestHosts/TestHosts/Controllers/PataPawaPrePaidController.cs @@ -16,9 +16,9 @@ [ApiController] public class PataPawaPrePaidController : ControllerBase{ private readonly IDbContextResolver ContextResolver; - + private const String PataPawaReadModelKey = "PataPawaReadModel"; #region Fields - + //private List<(String username, String password, String key, String balance)> users = new(); #endregion @@ -175,7 +175,7 @@ private async Task HandleBalanceRequest(IFormCollection requestFo String key = requestForm["key"].ToString(); String meter = requestForm["meter"].ToString(); - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); PrePayUser user = await resolvedContext.Context.PrePayUsers.SingleOrDefaultAsync(u => u.UserName == username && u.Key == key, cancellationToken); @@ -196,7 +196,7 @@ private async Task HandleLastVendRequest(RequestType xlatedReques if (meterValidation.result != null) return meterValidation.result; - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); IQueryable transactions = resolvedContext.Context.Transactions.Where(t => t.MeterNumber == meter).AsQueryable(); @@ -223,7 +223,7 @@ private async Task HandleLoginRequest(IFormCollection requestForm String username = requestForm["username"].ToString(); String password = requestForm["password"].ToString(); - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); PrePayUser user = await resolvedContext.Context.PrePayUsers.SingleOrDefaultAsync(u => u.UserName == username && u.Password == password, cancellationToken); @@ -272,7 +272,7 @@ private async Task HandleVendRequest(IFormCollection requestForm, if (meterValidation.result != null) return meterValidation.result; - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); Database.PataPawa.Transaction transaction = this.CreateTransactionRecord(amount, meterValidation.meterDetails); @@ -320,7 +320,7 @@ private RequestType TranslateRequestType(String formRequest){ })); } - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); PrePayMeter meterDetails = await resolvedContext.Context.PrePayMeters.SingleOrDefaultAsync(m => m.MeterNumber == meterNumber, cancellationToken); diff --git a/TestHosts/TestHosts/Database/PataPawa/PataPawaContext.cs b/TestHosts/TestHosts/Database/PataPawa/PataPawaContext.cs index 7b67eb8..a6c5181 100644 --- a/TestHosts/TestHosts/Database/PataPawa/PataPawaContext.cs +++ b/TestHosts/TestHosts/Database/PataPawa/PataPawaContext.cs @@ -7,13 +7,13 @@ namespace TestHosts.Database.PataPawa public class PataPawaContext : DbContext { private readonly String ConnectionString; - + private const String PataPawaReadModelKey = "PataPawaReadModel"; public PataPawaContext() { // This is the migration connection string // Get connection string from configuration. - this.ConnectionString = ConfigurationReader.GetConnectionString("PataPawaReadModel"); + this.ConnectionString = ConfigurationReader.GetConnectionString(PataPawaReadModelKey); } public PataPawaContext(String connectionString) diff --git a/TestHosts/TestHosts/Program.cs b/TestHosts/TestHosts/Program.cs index 8d5e154..4cc616e 100644 --- a/TestHosts/TestHosts/Program.cs +++ b/TestHosts/TestHosts/Program.cs @@ -20,6 +20,7 @@ using Shared.Middleware; using System; using System.IO; + using System.Security; using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; @@ -31,7 +32,9 @@ using TestHosts.SoapServices; using LogLevel = Microsoft.Extensions.Logging.LogLevel; - try { + const String PataPawaReadModelKey = "PataPawaReadModel"; + const String TestBankReadModelKey = "TestBankReadModel"; +try { WebApplicationBuilder builder = WebApplication.CreateBuilder(new WebApplicationOptions { Args = args, ContentRootPath = AppContext.BaseDirectory }); @@ -93,16 +96,16 @@ builder.Services.AddSingleton(typeof(IDbContextResolver<>), typeof(DbContextResolver<>)); if (builder.Environment.IsEnvironment("IntegrationTest") || builder.Configuration.GetValue("ServiceOptions:UseInMemoryDatabase") == true) { - builder.Services.AddDbContext(builder => builder.UseInMemoryDatabase("TestBankReadModel")); - builder.Services.AddDbContext(builder => builder.UseInMemoryDatabase("PataPawaReadModel")); + builder.Services.AddDbContext(builder => builder.UseInMemoryDatabase(TestBankReadModelKey)); + builder.Services.AddDbContext(builder => builder.UseInMemoryDatabase(PataPawaReadModelKey)); } else { - String testBankConnectionString = ConfigurationReader.GetConnectionString("TestBankReadModel"); + String testBankConnectionString = ConfigurationReader.GetConnectionString(TestBankReadModelKey); builder.Services.AddDbContext(builder => builder.UseSqlServer(testBankConnectionString)); - String pataPawaConnectionString = ConfigurationReader.GetConnectionString("PataPawaReadModel"); + String pataPawaConnectionString = ConfigurationReader.GetConnectionString(PataPawaReadModelKey); builder.Services.AddDbContext(builder => builder.UseSqlServer(pataPawaConnectionString)); } builder.Services.AddScoped(x => new TenantContext()); diff --git a/TestHosts/TestHosts/SoapServices/PataPawaPostPayService.cs b/TestHosts/TestHosts/SoapServices/PataPawaPostPayService.cs index d3a188b..7e089b2 100644 --- a/TestHosts/TestHosts/SoapServices/PataPawaPostPayService.cs +++ b/TestHosts/TestHosts/SoapServices/PataPawaPostPayService.cs @@ -12,7 +12,7 @@ namespace TestHosts.SoapServices; public class PataPawaPostPayService : IPataPawaPostPayService { private readonly IDbContextResolver ContextResolver; - + private const String PataPawaReadModelKey = "PataPawaReadModel"; #region Constructors public PataPawaPostPayService(IDbContextResolver contextResolver) { @@ -26,7 +26,7 @@ public PataPawaPostPayService(IDbContextResolver contextResolve public LoginResponse Login(String username, String password) { // Check if we have an api key - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); PostPaidAccount account = PataPawaPostPayService.GetPostPaidAccount(username, resolvedContext.Context); if (account == null) { @@ -67,7 +67,7 @@ public ProcessBillResponse ProcessBill(String username, String mobile_no, String customer_name, Decimal amount) { - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); PostPaidAccount account = PataPawaPostPayService.GetAccount(username, api_key, resolvedContext.Context); if (account == null) { // TODO: this might not be the correct way to respond in this case @@ -104,7 +104,7 @@ public ProcessBillResponse ProcessBill(String username, public VerifyResponse VerifyAccount(String username, String api_key, String account_no) { - using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve("PataPawaReadModel"); + using ResolvedDbContext? resolvedContext = this.ContextResolver.Resolve(PataPawaReadModelKey); PostPaidAccount account = PataPawaPostPayService.GetAccount(username, api_key, resolvedContext.Context); if (account == null) { // TODO: this might not be the correct way to respond in this case