Example #1
0
        public async Task CreatePaymentInDataStore(Payment payment)
        {
            using var dbContext = new DataStoreDbContext(this.DBOptions);
            await dbContext.Payments.AddAsync(payment);

            await dbContext.SaveChangesAsync();
        }
Example #2
0
 // 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();
     });
 }
Example #3
0
 public RetrievePaymentQuery(
     RequestTrackingService requestTrackingService,
     ILogger <RetrievePaymentController> logger,
     DataStoreDbContext dataStoreDbContext
     )
 {
     this._requestTrackingService = requestTrackingService;
     this._logger             = logger;
     this._dataStoreDbContext = dataStoreDbContext;
 }
Example #4
0
 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);
        }
Example #6
0
 public async Task DropDBAsync()
 {
     using var dbContext = new DataStoreDbContext(this.DBOptions);
     await dbContext.Database.EnsureDeletedAsync();
 }
Example #7
0
 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>());
 }
Example #8
0
 public async Task <int> GetNumberOfRecordsInDBAsync()
 {
     using var dbContext = new DataStoreDbContext(this.DBOptions);
     return(await dbContext.Payments.CountAsync <Payment>());
 }