public async Task CreatePaymentInDataStore(Payment payment) { using var dbContext = new DataStoreDbContext(this.DBOptions); await dbContext.Payments.AddAsync(payment); await dbContext.SaveChangesAsync(); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, DataStoreDbContext dataStoreDbContext, ILogger <Startup> logger) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); dataStoreDbContext.Database.EnsureCreated(); } dataStoreDbContext.Database.Migrate(); app.UseRouting(); app.UseExceptionHandler( a => a.Run(async context => { var exceptionHandlerPathFeature = context.Features.Get <IExceptionHandlerPathFeature>(); var requestTrackingService = context.RequestServices.GetRequiredService <RequestTrackingService>(); var ex = exceptionHandlerPathFeature.Error; logger.LogError(ex, ex.Message); var result = Newtonsoft.Json.JsonConvert.SerializeObject(new StandardErrorResponse { Type = ex.GetType().ToString(), Error = ex.Message, RequestTraceId = requestTrackingService.RequestTraceId.ToString() }); context.Response.ContentType = "application/json"; await context.Response.WriteAsync(result); }) ); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
public RetrievePaymentQuery( RequestTrackingService requestTrackingService, ILogger <RetrievePaymentController> logger, DataStoreDbContext dataStoreDbContext ) { this._requestTrackingService = requestTrackingService; this._logger = logger; this._dataStoreDbContext = dataStoreDbContext; }
public PayoutCommand( IBankService bank, DataStoreDbContext dataStoreDbContext, ILogger <PayoutCommand> logger, RequestTrackingService requestTrackingService ) { this._bank = bank; this._logger = logger; this._requestTrackingService = requestTrackingService; this._dataStoreDbContext = dataStoreDbContext; }
public DbContextOptionsBuilder <DataStoreDbContext <T> > Initialize <T>(string connectionString) where T : class, new() { var dbContextOptionsBuilder = new DbContextOptionsBuilder <DataStoreDbContext <T> >() .UseSqlServer(connectionString); using (var dbContext = new DataStoreDbContext <T>(dbContextOptionsBuilder.Options)) { dbContext.Database.EnsureCreated(); } return(dbContextOptionsBuilder); }
public async Task DropDBAsync() { using var dbContext = new DataStoreDbContext(this.DBOptions); await dbContext.Database.EnsureDeletedAsync(); }
public async Task <Payment> GetPaymentAsync(Guid Id) { using var dbContext = new DataStoreDbContext(this.DBOptions); return(await dbContext.Payments.Where <Payment>(r => r.PaymentId == Id) .FirstOrDefaultAsync <Payment>()); }
public async Task <int> GetNumberOfRecordsInDBAsync() { using var dbContext = new DataStoreDbContext(this.DBOptions); return(await dbContext.Payments.CountAsync <Payment>()); }