Ejemplo n.º 1
0
        public async Task <Result <Accounts> > SetStateAsync(int accountID, AccountStateTypes state)
        {
            var result = await GetAccountbyIDAsync(accountID);

            if (result.Code == ResultCodes.Success)
            {
                var account = result.Data;

                if (account.Balance != 0.0m && state == AccountStateTypes.Closed)
                {
                    // Account has balance and therefor cannot be closed
                    return(new Result <Accounts>()
                    {
                        Code = ResultCodes.BadRequest,
                        Message = $"Account has balance and therefor cannot be closed",
                        Data = account
                    });
                }
                else
                {
                    account.State = state;
                    _dBContext.Update(account);
                    await _dBContext.SaveChangesAsync();

                    return(new Result <Accounts>()
                    {
                        Code = result.Code,
                        Message = $"Account ID {accountID} changed to {state} successfully",
                        Data = account
                    });
                }
            }
            else
            {
                return(new Result <Accounts>()
                {
                    Code = result.Code,
                    Message = result.Message
                });
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> SetAccountState(int accountID, AccountStateTypes state)
        {
            var result = await _account.SetStateAsync(accountID, state);

            return(Json(result));
        }