Exemple #1
0
        public static void Build(ReconciliationDbContext context)
        {
            var incomeOrExpenseTypes = new List <IncomeOrExpenseType>()
            {
                new IncomeOrExpenseType(ExpenseType1, IncomeOrExpenseFlag.Expense),
                new IncomeOrExpenseType(ExpenseType2, IncomeOrExpenseFlag.Expense),
                new IncomeOrExpenseType(ExpenseType3, IncomeOrExpenseFlag.Expense),

                new IncomeOrExpenseType(IncomeType1, IncomeOrExpenseFlag.Income),
                new IncomeOrExpenseType(IncomeType2, IncomeOrExpenseFlag.Income),
                new IncomeOrExpenseType(IncomeType3, IncomeOrExpenseFlag.Income),
            };

            if (!context.IncomeOrExpenseTypes.AsNoTracking().Any())
            {
                context.IncomeOrExpenseTypes.AddRange(incomeOrExpenseTypes);
            }
            else
            {
                var types = context.IncomeOrExpenseTypes.AsNoTracking().ToList();

                foreach (var incomeOrExpenseType in incomeOrExpenseTypes)
                {
                    if (!types.Any(x => x.Flag == incomeOrExpenseType.Flag && x.SystemName == incomeOrExpenseType.SystemName))
                    {
                        context.IncomeOrExpenseTypes.Add(incomeOrExpenseType);
                    }
                }
            }

            context.SaveChanges();
        }
Exemple #2
0
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using var context = new ReconciliationDbContext(serviceProvider.GetRequiredService <DbContextOptions <ReconciliationDbContext> >());


            context.Database.Migrate();


            IncomeOrExpenseTypeSeedBuilder.Build(context);
            IncomeOrExpenseSeedBuilder.Build(context);
            ReconciliationSeedBuilder.Build(context);
        }
Exemple #3
0
        public static void Build(ReconciliationDbContext context)
        {
            //Ensure income or expense has only seed data
            context.IncomeOrExpenses.RemoveRange(context.IncomeOrExpenses);
            context.SaveChanges();

            var types = context.IncomeOrExpenseTypes.AsNoTracking().ToList();

            var incomeType1Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.Collection).Id;
            var incomeType2Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.IncomeType2).Id;
            var incomeType3Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.IncomeType3).Id;

            var expenseType1Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.ExpenseType1).Id;
            var expenseType2Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.ExpenseType2).Id;
            var expenseType3Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.ExpenseType3).Id;

            var incomeOrExpenseTypes = new List <IncomeOrExpense>()
            {
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 01, 01), 100),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 02, 01), 50),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 03, 01), 150),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 04, 01), 0),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 05, 01), 800),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 06, 01), 50),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 07, 01), 100),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 08, 01), 0),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 09, 01), 0),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 10, 01), 0),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 11, 01), 0),
                new IncomeOrExpense(incomeType1Id, new DateTime(2019, 12, 01), 0),


                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 01, 01), 200),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 02, 01), 70),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 03, 01), 120),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 04, 01), 200),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 05, 01), 300),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 06, 01), 50),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 07, 01), 50),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 08, 01), 0),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 09, 01), 0),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 10, 01), 0),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 11, 01), 0),
                new IncomeOrExpense(expenseType1Id, new DateTime(2019, 12, 01), 0),
            };

            if (!context.IncomeOrExpenses.Any())
            {
                context.IncomeOrExpenses.AddRange(incomeOrExpenseTypes);
            }

            context.SaveChanges();
        }
Exemple #4
0
        public static void Build(ReconciliationDbContext context)
        {
            //Ensure reconciliation has only seed data
            context.Reconciliations.RemoveRange(context.Reconciliations);
            context.SaveChanges();

            var types = context.IncomeOrExpenseTypes.AsNoTracking().ToList();

            var incomeType1Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.Collection).Id;
            var incomeType2Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.IncomeType2).Id;
            var incomeType3Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.IncomeType3).Id;

            var expenseType1Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.ExpenseType1).Id;
            var expenseType2Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.ExpenseType2).Id;
            var expenseType3Id = types.First(x => x.SystemName == IncomeOrExpenseTypeSeedBuilder.ExpenseType3).Id;

            var reconciliations = new List <Reconciliation>()
            {
                new Reconciliation(incomeType1Id, Month.January, 1200),
                new Reconciliation(incomeType2Id, Month.January, 251),
                new Reconciliation(expenseType2Id, Month.January, 200),

                new Reconciliation(incomeType2Id, Month.March, 152),
                new Reconciliation(expenseType3Id, Month.March, 250),

                new Reconciliation(incomeType1Id, Month.April, 52),
                new Reconciliation(incomeType3Id, Month.April, 225),
                new Reconciliation(expenseType1Id, Month.April, 300),

                new Reconciliation(incomeType2Id, Month.May, 522),

                new Reconciliation(expenseType2Id, Month.June, 500),

                new Reconciliation(expenseType1Id, Month.August, 100),
            };

            if (!context.Reconciliations.Any())
            {
                context.Reconciliations.AddRange(reconciliations);
            }

            context.SaveChanges();
        }
Exemple #5
0
 public ReconciliationLogicService(ReconciliationDbContext context) : base(context)
 {
 }
 public IncomeOrExpenseLogicService(ReconciliationDbContext context) : base(context)
 {
 }