fix: enhance database context configuration with retry logic for resilience
Some checks failed
release-dev / release-dev (push) Failing after 14s
Some checks failed
release-dev / release-dev (push) Failing after 14s
This commit is contained in:
parent
ff66aebdfa
commit
18ab28e335
2 changed files with 21 additions and 10 deletions
|
|
@ -20,8 +20,6 @@ namespace BMA.EHR.Infrastructure
|
|||
public static IServiceCollection AddLeavePersistence(this IServiceCollection services,
|
||||
IConfiguration configuration)
|
||||
{
|
||||
|
||||
|
||||
// leave db context
|
||||
var connectionStringLeave = configuration.GetConnectionString("LeaveConnection");
|
||||
|
||||
|
|
@ -31,6 +29,10 @@ namespace BMA.EHR.Infrastructure
|
|||
{
|
||||
b.MigrationsAssembly(typeof(LeaveDbContext).Assembly.FullName);
|
||||
b.MigrationsHistoryTable("__LeaveMigrationsHistory");
|
||||
b.EnableRetryOnFailure(
|
||||
maxRetryCount: 5,
|
||||
maxRetryDelay: System.TimeSpan.FromSeconds(30),
|
||||
errorNumbersToAdd: null);
|
||||
|
||||
}),
|
||||
ServiceLifetime.Transient);
|
||||
|
|
@ -43,8 +45,6 @@ namespace BMA.EHR.Infrastructure
|
|||
public static IServiceCollection AddDisciplinePersistence(this IServiceCollection services,
|
||||
IConfiguration configuration)
|
||||
{
|
||||
|
||||
|
||||
// discipline db context
|
||||
var connectionStringDiscipline = configuration.GetConnectionString("DisciplineConnection");
|
||||
|
||||
|
|
@ -54,7 +54,10 @@ namespace BMA.EHR.Infrastructure
|
|||
{
|
||||
b.MigrationsAssembly(typeof(DisciplineDbContext).Assembly.FullName);
|
||||
b.MigrationsHistoryTable("__DisciplineMigrationsHistory");
|
||||
|
||||
b.EnableRetryOnFailure(
|
||||
maxRetryCount: 5,
|
||||
maxRetryDelay: System.TimeSpan.FromSeconds(30),
|
||||
errorNumbersToAdd: null);
|
||||
}),
|
||||
ServiceLifetime.Transient);
|
||||
|
||||
|
|
@ -67,8 +70,6 @@ namespace BMA.EHR.Infrastructure
|
|||
IConfiguration configuration)
|
||||
{
|
||||
services.AddTransient<MinIOService>();
|
||||
|
||||
|
||||
var connectionString = configuration.GetConnectionString("DefaultConnection");
|
||||
|
||||
services.AddDbContext<ApplicationDBContext>(options =>
|
||||
|
|
@ -77,9 +78,14 @@ namespace BMA.EHR.Infrastructure
|
|||
{
|
||||
b.MigrationsAssembly(typeof(ApplicationDBContext).Assembly.FullName);
|
||||
b.MigrationsHistoryTable("__EHRMigrationsHistory");
|
||||
b.EnableRetryOnFailure(
|
||||
maxRetryCount: 5,
|
||||
maxRetryDelay: System.TimeSpan.FromSeconds(30),
|
||||
errorNumbersToAdd: null);
|
||||
|
||||
}),
|
||||
ServiceLifetime.Transient);
|
||||
|
||||
|
||||
services.AddTransient<IApplicationDBContext>(provider => provider.GetService<ApplicationDBContext>());
|
||||
|
||||
|
|
@ -91,6 +97,10 @@ namespace BMA.EHR.Infrastructure
|
|||
{
|
||||
b.MigrationsAssembly(typeof(ApplicationDBExamContext).Assembly.FullName);
|
||||
b.MigrationsHistoryTable("__EHRMigrationsHistory");
|
||||
b.EnableRetryOnFailure(
|
||||
maxRetryCount: 5,
|
||||
maxRetryDelay: System.TimeSpan.FromSeconds(30),
|
||||
errorNumbersToAdd: null);
|
||||
|
||||
}),
|
||||
ServiceLifetime.Transient);
|
||||
|
|
|
|||
|
|
@ -2167,8 +2167,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
timeStamps.CheckOut != null ?
|
||||
timeStamps.CheckOut.Value.ToThaiFullDate2() :
|
||||
"",
|
||||
checkInTimeRaw = timeStamps?.CheckIn,
|
||||
checkOutTimeRaw = timeStamps?.CheckOut,
|
||||
checkInTimeRaw = timeStamps == null ? dd.date.Date : timeStamps?.CheckIn,
|
||||
checkOutTimeRaw = timeStamps == null ? dd.date.Date : timeStamps?.CheckOut != null ? timeStamps?.CheckOut : null,
|
||||
};
|
||||
|
||||
if (timeStamps != null)
|
||||
|
|
@ -2204,7 +2204,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
count++;
|
||||
}
|
||||
}
|
||||
employees = employees.OrderBy(x => x.checkInDate).ThenBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList();
|
||||
//employees = employees.OrderBy(x => x.checkInDate).ThenBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList();
|
||||
employees = employees.OrderBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList();
|
||||
for (int i = 0; i < employees.Count; i++)
|
||||
{
|
||||
employees[i].no = i + 1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue