diff --git a/BMA.EHR.Command.Service/Program.cs b/BMA.EHR.Command.Service/Program.cs index f41085cd..35f257f2 100644 --- a/BMA.EHR.Command.Service/Program.cs +++ b/BMA.EHR.Command.Service/Program.cs @@ -128,6 +128,7 @@ var app = builder.Build(); // seed default data await CommandDataSeeder.SeedData(app); + await CommandDataSeeder.SeedCommandType(app); app.Run(); } diff --git a/BMA.EHR.Command.Service/SeedCommand.xlsx b/BMA.EHR.Command.Service/SeedCommand.xlsx index eb4c4747..1f41ddf9 100644 Binary files a/BMA.EHR.Command.Service/SeedCommand.xlsx and b/BMA.EHR.Command.Service/SeedCommand.xlsx differ diff --git a/BMA.EHR.Infrastructure/Persistence/CommandDataSeeder.cs b/BMA.EHR.Infrastructure/Persistence/CommandDataSeeder.cs index cb41da76..66f788da 100644 --- a/BMA.EHR.Infrastructure/Persistence/CommandDataSeeder.cs +++ b/BMA.EHR.Infrastructure/Persistence/CommandDataSeeder.cs @@ -44,5 +44,41 @@ namespace BMA.EHR.Infrastructure.Persistence } } } + + public static async Task SeedCommandType(WebApplication app) + { + using var scope = app.Services.CreateScope(); + var service = scope.ServiceProvider.GetRequiredService(); + + if ((await service.GetAllAsync()).Count() == 0) + { + // read excels into object + var excelFile = "SeedCommand.xlsx"; + using (var excel = new ExcelPackage(new FileInfo(excelFile))) + { + var workSheet = excel.Workbook.Worksheets.FirstOrDefault(x => x.Name.ToLower() == "commandtype"); + var totalRows = workSheet?.Dimension.Rows; + + int row = 2; + + while (row <= totalRows) + { + var cell1 = workSheet?.Cells[row, 1]?.GetValue(); + if (cell1 == "" || cell1 == null) break; + + var inserted = new CommandType + { + Id = Guid.Parse(workSheet?.Cells[row, 1]?.GetValue()!), + Name = workSheet?.Cells[row, 2]?.GetValue()!, + Category = workSheet?.Cells[row, 3]?.GetValue()! + }; + + await service.AddAsync(inserted); + + row++; + } + } + } + } } }