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();
            }
        }
Esempio n. 2
0
 public ElectionsManager(ElectronicElectionsDbContext ctx, EncryptionManager encryptionManager)
 {
     this.ctx = ctx;
     this.encryptionManager = encryptionManager;
 }