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 }); } }
public async Task <IActionResult> SetAccountState(int accountID, AccountStateTypes state) { var result = await _account.SetStateAsync(accountID, state); return(Json(result)); }