コード例 #1
0
        public async Task <IActionResult> CreateAccount([FromBody] PandaAccountCreateContract account)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCode(500,
                                  new
                {
                    Error = ModelState.Values.SelectMany(s => s.Errors.Select(ss => ss.ErrorMessage)).ToList(),
                    Structure = new PandaAccountCreateContract
                    {
                        PandaStatement = new List <PandaStatementCreateContract> {
                            new PandaStatementCreateContract {
                            }
                        },
                    }
                }
                                  ));
            }

            var result = await _gatewayFacade.GateWayInvoke(
                method : BaseMethod,
                token : Token,
                path : BasePath,
                account,
                query : BaseQueryString
                );

            if (result.IsError())
            {
                return(StatusCode(500, result));
            }
            return(Ok(result));
        }
コード例 #2
0
        public async Task <Results <bool> > CreateAccount(PandaAccountCreateContract account)
        {
            var newAccount = new PandaAccount();

            _mapper.Map(account, newAccount);
            var createResult = await _accountRepository.Create(newAccount);

            return(createResult);
        }
コード例 #3
0
        public async Task <IActionResult> CreateAccount([FromBody] PandaAccountCreateContract account)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCode(500,
                                  new
                {
                    Error = ModelState.Values.SelectMany(s => s.Errors.Select(ss => ss.ErrorMessage)).ToList(),
                    Structure = new PandaAccountCreateContract {
                    }
                }
                                  ));
            }
            Results <bool> result = await _accountFacade.CreateAccount(IdentityUser, account);

            if (result.IsError())
            {
                return(StatusCode(500, result));
            }
            return(Ok(result));
        }
コード例 #4
0
        public async Task <Results <bool> > CreateAccount(long identityUser, PandaAccountCreateContract account)
        {
            account.Balances     = 0;
            account.Active       = true;
            account.UserAccounts = new List <UserAccountCreateContract> {
                new UserAccountCreateContract {
                    PandaUserId = identityUser
                }
            };
            account.Id = await _accountLogic.GenerateAccountId();

            if (string.IsNullOrEmpty(account.Id))
            {
                return(PandaResponse.CreateErrorResponse <bool>("Error while generate account id"));
            }

            Results <bool> createAccountResult = await _accountLogic.CreateAccount(account);

            if (string.IsNullOrEmpty(account.Id))
            {
                createAccountResult.Errors.Insert(0, "Error while create account");
                return(createAccountResult);
            }

            //_accountLogic.AddPaticipant

            account.PandaStatement.FirstOrDefault().PandaAccountId = account.Id;
            var depositInitResult = await UpdateStatement(identityUser, account.PandaStatement.FirstOrDefault(), Enums.PandaStatementStatus.Deposit);

            if (depositInitResult.IsError())
            {
                depositInitResult.Errors.Insert(0, "Error while deposit money");
                return(depositInitResult);
            }

            return(PandaResponse.CreateSuccessResponse(true));
        }