Ejemplo n.º 1
0
        public void TestSearchAccount()
        {
            var model = new AccountLaunch
            {
                AccountCredit = "9baaa92e-7945-47ba-aee5-6d7e9386322b",
                AccountDebit  = "d61fd10c-9f1b-4995-9c3b-3c531f489ca0",
                Value         = 100
            };


            var accountAppService = new Mock <IAccountAppService>();

            accountAppService.Setup(r => r.LaunchDispenseAccountAsync(model));

            Assert.Equal(model, model);
            //var mocker = new AutoMoqer();
            //mocker.Create<AccountService>();
            //var customerService = mocker.Resolve<AccountService>();
            //var repo = mocker.GetMock<IAccountRepository>();

            ////ACT
            // var result = accountAppService.Object.LaunchDispenseAccountAsync(model);

            ////ASERT
            //repo.Verify(r => r.GetAccountAsync("9baaa92e-7945-47ba-aee5-6d7e9386322b"));
        }
Ejemplo n.º 2
0
 public async Task <AccountLaunch> LaunchDispenseAccountAsync(AccountLaunch accountLaunch) =>
 await GetService().LaunchDispenseAccountAsync(accountLaunch);
Ejemplo n.º 3
0
        public async Task <AccountLaunch> LaunchDispenseAccountAsync(AccountLaunch accountLaunch)
        {
            var accountCredit = await GetAccountAsync(accountLaunch.AccountCredit);

            var accountDebit = await GetAccountAsync(accountLaunch.AccountDebit);

            if (accountDebit == null)
            {
                return new AccountLaunch {
                           Message = messages.ACCOUNT_DEBIT_NOT_EXISTS(), State = false
                }
            }
            ;


            if (accountLaunch.Value > accountDebit.CreditInCash)
            {
                return new AccountLaunch {
                           Message = messages.ACCOUNT_FOUNDS_INSUFFICIENT(), State = false
                }
            }
            ;

            if (accountCredit == null)
            {
                return new AccountLaunch {
                           Message = messages.ACCOUNT_NOT_FOUND(), State = false
                }
            }
            ;

            var list = new List <AccountLaunch>
            {
                new AccountLaunch
                {
                    AccountCredit = accountCredit.Account,
                    Value         = (accountCredit.CreditInCash + accountLaunch.Value),
                    State         = true,
                    Debit         = false
                },
                new AccountLaunch
                {
                    AccountDebit = accountDebit.Account,
                    Value        = (accountDebit.CreditInCash - accountLaunch.Value),
                    State        = true,
                    Debit        = true
                }
            };

            await UpdateAccountsAsync(list);

            logsService.SaveLog(list);

            return(new AccountLaunch {
                Message = messages.DEBIT_MADE_SUCCESS(), State = true
            });
        }

        #endregion
    }
}