Example #1
0
        public TestBase()
        {
            // Adding JSON file into IConfiguration.
            var config = new ConfigurationBuilder()
                         .AddJsonFile("appsettings.json", true, true);

            Configuration = config.Build();

            // Integration Test Setup
            var serviceProvider = new ServiceCollection()
                                  .AddEntityFrameworkSqlServer()
                                  .BuildServiceProvider();

            // Configuration for TaxCalculatorDb
            var builder = new DbContextOptionsBuilder <TaxCalculatorDbContext>();

            builder.UseSqlServer(Configuration.GetConnectionString("TaxCalculationConnetion"))
            .UseInternalServiceProvider(serviceProvider);
            _dbContext = new TaxCalculatorDbContext(builder.Options);
            _dbContext.Database.EnsureCreated();

            taxRepository = new TaxRepository(_dbContext);

            TaxCalculatorInitializer.Initialize(_dbContext);
        }
 public static void Initialize(TaxCalculatorDbContext context)
 {
     // Seed database with sample Taxes if there aren't any
     if (!context.TaxBrackets.Any())
     {
         SeedProgressiveTax(context);
     }
 }
        private static void SeedProgressiveTax(TaxCalculatorDbContext context)
        {
            try
            {
                var taxBrackets = new[]
                {
                    new TaxBracket
                    {
                        // 0 - 8350
                        RatePercentage = 10, SumRate = 8350, Taxes = 835, InsertedDate = DateTime.Now,
                        InsertedUserId = 1, updatedDate = DateTime.Now, UpdatedUserId = 1
                    },
                    new TaxBracket
                    {
                        // 8351 - 33950
                        RatePercentage = 15, SumRate = 25600, Taxes = 3840, InsertedDate = DateTime.Now,
                        InsertedUserId = 1, updatedDate = DateTime.Now, UpdatedUserId = 1
                    },
                    new TaxBracket
                    {
                        // 82250-33951
                        RatePercentage = 25, SumRate = 48300, Taxes = 12075, InsertedDate = DateTime.Now,
                        InsertedUserId = 1, updatedDate = DateTime.Now, UpdatedUserId = 1
                    },
                    new TaxBracket
                    {
                        // 82251 - 171550
                        RatePercentage = 28, SumRate = 89300, Taxes = 25004, InsertedDate = DateTime.Now,
                        InsertedUserId = 1, updatedDate = DateTime.Now, UpdatedUserId = 1
                    },
                    new TaxBracket
                    {
                        // 171551 - 372950
                        RatePercentage = 33, SumRate = 201400, Taxes = 66462, InsertedDate = DateTime.Now,
                        InsertedUserId = 1, updatedDate = DateTime.Now, UpdatedUserId = 1
                    },
                    new TaxBracket
                    {
                        // 372951+
                        RatePercentage = 35, SumRate = 372951, Taxes = 130533, InsertedDate = DateTime.Now,
                        InsertedUserId = 1, updatedDate = DateTime.Now, UpdatedUserId = 1
                    }
                };

                context.TaxBrackets.AddRange(taxBrackets);
                context.SaveChanges();
            }
            catch (Exception)
            {
                // Skip this insert
                //}
            }
        }
 public TaxRepository(TaxCalculatorDbContext dbContext)
     : base(dbContext)
 {
     _dbContext = dbContext;
 }
 public TaxQueryLogRepository(TaxCalculatorDbContext context) : base(context)
 {
 }
Example #6
0
 public GenericRepository(TaxCalculatorDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Example #7
0
 public Repository(TaxCalculatorDbContext context)
 {
     _context = context;
 }
Example #8
0
 public IncomeTaxRepository(TaxCalculatorDbContext context) : base(context)
 {
 }
Example #9
0
 public PostalCodeRepository(TaxCalculatorDbContext context) : base(context)
 {
 }