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

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

            if (result.IsError())
            {
                return(StatusCode(500, result));
            }
            return(Ok(result));
        }
コード例 #2
0
        public async Task <Results <PandaUserContract> > GetMyAccount(long IdentityUser)
        {
            var pandaUser = await _userManager.FindByIdAsync(IdentityUser.ToString());

            var newPanda = new PandaUserContract();

            _mapper.Map(pandaUser, newPanda);
            if (newPanda != null && pandaUser != null)
            {
                return(PandaResponse.CreateSuccessResponse(newPanda));
            }

            return(PandaResponse.CreateErrorResponse <PandaUserContract>("User not exist"));
        }
コード例 #3
0
        public async Task CreateSuccess()
        {
            var jsonData = new PandaUserContract
            {
                Email     = "*****@*****.**",
                Password  = "******",
                LastName  = "test123456",
                FirstName = "test123456",
            };

            HttpContent content = new StringContent(JsonConvert.SerializeObject(jsonData), Encoding.UTF8, "application/json");

            content.Headers.Add("Panda", "PandaBankUserSecureKey");
            var profile = await client.PostAsync("/api/User", content);

            var result = await profile.Content.ReadAsStringAsync();

            Assert.Equal(HttpStatusCode.OK, profile.StatusCode);
        }
コード例 #4
0
        public async Task <Results <long> > CreateUser(PandaUserContract account)
        {
            var emailValid = PandaValidator.EmailIsValid(account.Email);

            if (!emailValid)
            {
                return(PandaResponse.CreateErrorResponse <long>("Email Invalid"));
            }

            var user = await _userManager.FindByEmailAsync(account.Email);

            if (user != null)
            {
                return(PandaResponse.CreateSuccessResponse(user.Id));
            }

            var newAccount = new PandaUser
            {
                Email     = account.Email,
                FirstName = account.FirstName,
                LastName  = account.LastName,
                UserName  = account.Email,
                CreatedAt = now,
                UpdatedAt = now,
            };

            var result = await _userManager.CreateAsync(newAccount, account.Password);

            if (result.Succeeded)
            {
                return(PandaResponse.CreateSuccessResponse(newAccount.Id));
            }
            else
            {
                return(PandaResponse.CreateErrorResponse <long>(result.Errors.Select(s => s.Code + " : " + s.Description).ToArray()));
            }
        }
コード例 #5
0
 public async Task <Results <long> > CreateUser(PandaUserContract newAccount)
 {
     return(await _userLogic.CreateUser(newAccount));
 }