public static void Seed(ElectronicElectionsDbContext ctx) { if (!ctx.ElectionTypes.Any()) { var electionTypes = GetAllElectionTypes(); ctx.ElectionTypes.AddRange(electionTypes); ctx.SaveChanges(); } if (!ctx.Candidates.Any()) { //Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); DataTable table; using (var stream = File.Open("../ElectronicElections.Data/TestData/Candidates.xlsx", FileMode.Open, FileAccess.Read)) { using var reader = ExcelReaderFactory.CreateReader(stream); var spreadSheet = reader.AsDataSet(new ExcelDataSetConfiguration { ConfigureDataTable = _ => new ExcelDataTableConfiguration { UseHeaderRow = true } }); table = spreadSheet.Tables[0]; } var candidates = ExtractCandidates(table); ctx.Candidates.AddRange(candidates); ctx.SaveChanges(); } }
public ElectionsManager(ElectronicElectionsDbContext ctx, EncryptionManager encryptionManager) { this.ctx = ctx; this.encryptionManager = encryptionManager; }