Пример #1
0
        private void CreateExpenseGroupAsNeeded(SummaryRebalanceTransactionModel model, DateTime transactionDate)
        {
            const string RebalanceApprovalNote = "Rebalance";

            var provider = new ExpenseProvider(_dbContext);

            foreach (RebalanceTransactionModel t in model.Transactions)
            {
                int id = provider.GetGroupByKey(t.FromProperty, DebitGroupCategory, transactionDate);
                if (id == 0)
                {
                    var expense = new Expense
                    {
                        ExpenseDate      = transactionDate,
                        Category         = DebitGroupCategory,
                        ExpenseAmount    = 0,
                        PropertyCode     = t.FromProperty,
                        ApprovalStatus   = RevenueApprovalStatus.Approved,
                        ApprovedNote     = RebalanceApprovalNote,
                        ConfirmationCode = string.Empty,
                    };
                    provider.CreateExpenseGroup(expense);
                }

                id = provider.GetGroupByKey(t.ToProperty, CreditGroupCategory, transactionDate);
                if (id == 0)
                {
                    var expense = new Expense
                    {
                        ExpenseDate      = transactionDate,
                        Category         = CreditGroupCategory,
                        ExpenseAmount    = 0,
                        PropertyCode     = t.ToProperty,
                        ApprovalStatus   = RevenueApprovalStatus.Approved,
                        ApprovedNote     = RebalanceApprovalNote,
                        ConfirmationCode = string.Empty,
                    };
                    provider.CreateExpenseGroup(expense);
                }
            }
        }