예제 #1
0
        public Task <IBudgetAccount> DeleteBudgetAccountAsync(int accountingNumber, string accountNumber)
        {
            NullGuard.NotNullOrWhiteSpace(accountNumber, nameof(accountNumber));

            return(ExecuteAsync(async() =>
            {
                using BudgetAccountModelHandler budgetAccountModelHandler = new BudgetAccountModelHandler(DbContext, AccountingModelConverter.Create(), _eventPublisher, DateTime.Today, true, true);
                return await budgetAccountModelHandler.DeleteAsync(new Tuple <int, string>(accountingNumber, accountNumber), new AccountingIdentificationState(accountingNumber));
            },
                                MethodBase.GetCurrentMethod()));
        }
예제 #2
0
        public Task <IBudgetAccount> UpdateBudgetAccountAsync(IBudgetAccount budgetAccount)
        {
            NullGuard.NotNull(budgetAccount, nameof(budgetAccount));

            return(ExecuteAsync(async() =>
            {
                using BudgetAccountModelHandler budgetAccountModelHandler = new BudgetAccountModelHandler(DbContext, AccountingModelConverter.Create(), _eventPublisher, DateTime.Today, true, true);
                return await budgetAccountModelHandler.UpdateAsync(budgetAccount, new AccountingIdentificationState(budgetAccount.Accounting.Number));
            },
                                MethodBase.GetCurrentMethod()));
        }
예제 #3
0
        public Task <bool> BudgetAccountExistsAsync(int accountingNumber, string accountNumber)
        {
            NullGuard.NotNullOrWhiteSpace(accountNumber, nameof(accountNumber));

            return(ExecuteAsync(async() =>
            {
                using BudgetAccountModelHandler budgetAccountModelHandler = new BudgetAccountModelHandler(DbContext, AccountingModelConverter.Create(), _eventPublisher, DateTime.Today, false, false);
                return await budgetAccountModelHandler.ExistsAsync(accountingNumber, accountNumber);
            },
                                MethodBase.GetCurrentMethod()));
        }
예제 #4
0
        public Task <IBudgetAccount> GetBudgetAccountAsync(int accountingNumber, string accountNumber, DateTime statusDate)
        {
            NullGuard.NotNullOrWhiteSpace(accountNumber, nameof(accountNumber));

            return(ExecuteAsync(async() =>
            {
                using BudgetAccountModelHandler budgetAccountModelHandler = new BudgetAccountModelHandler(DbContext, AccountingModelConverter.Create(), _eventPublisher, statusDate, true, true);
                return await budgetAccountModelHandler.ReadAsync(accountingNumber, accountNumber);
            },
                                MethodBase.GetCurrentMethod()));
        }
예제 #5
0
        public Task <IBudgetAccountCollection> GetBudgetAccountsAsync(int accountingNumber, DateTime statusDate)
        {
            return(ExecuteAsync(async() =>
            {
                using BudgetAccountModelHandler budgetAccountModelHandler = new BudgetAccountModelHandler(DbContext, AccountingModelConverter.Create(), _eventPublisher, statusDate, true, true);

                IBudgetAccountCollection budgetAccountCollection = new BudgetAccountCollection
                {
                    await budgetAccountModelHandler.ReadAsync(budgetAccountModel => budgetAccountModel.AccountingIdentifier == accountingNumber, prepareReadState: new AccountingIdentificationState(accountingNumber))
                };

                return budgetAccountCollection;
            },
                                MethodBase.GetCurrentMethod()));
        }