Exemple #1
0
        public async Task <IActionResult> Register(ApplicationUserRegisterRequest model)
        {
            Response oR = new Response();

            try
            {
                if (!ModelState.IsValid)
                {
                    oR.Status  = StatusCodes.Status400BadRequest;
                    oR.Message = Messages.ValidationsFailed;
                    oR.Data    = GetModelErrors(ModelState);

                    return(BadRequest(oR));
                }

                if (await _service.ExistsUserName(model.UserName))
                {
                    oR.Status  = StatusCodes.Status400BadRequest;
                    oR.Message = "El nombre de usuario ya está en uso.";

                    return(BadRequest(oR));
                }

                if (await _service.ExistsEmail(model.Email))
                {
                    oR.Status  = StatusCodes.Status400BadRequest;
                    oR.Message = "El correo electronico ya está en uso.";

                    return(BadRequest(oR));
                }

                if (!await _service.Register(model))
                {
                    oR.Status  = StatusCodes.Status500InternalServerError;
                    oR.Message = Messages.InternalServerError;

                    return(StatusCode(StatusCodes.Status500InternalServerError, oR));
                }

                oR.Status = StatusCodes.Status200OK;

                return(Ok(oR));
            }
            catch (Exception ex)
            {
                oR.Status  = StatusCodes.Status500InternalServerError;
                oR.Message = Messages.InternalServerError;

                return(StatusCode(StatusCodes.Status500InternalServerError, oR));
            }
        }
Exemple #2
0
        public async Task <bool> Register(ApplicationUserRegisterRequest model)
        {
            byte[] passwordHash, passwordSalt;
            var    oUser = _mapper.Map <ApplicationUser>(model);

            CreatePasswordHashAndSalt(model.Password, out passwordHash, out passwordSalt);

            oUser.ApplicationUserStatusId = 1;
            oUser.CreatedDate             = DateTime.Now;
            oUser.PasswordHash            = passwordHash;
            oUser.PasswordSalt            = passwordSalt;

            return(await _repository.Register(oUser));
        }
Exemple #3
0
        public async Task <ActionResult <MessageResponse> > CreateUser(ApplicationUserRegisterRequest user)
        {
            try
            {
                if (_userRepository.GetUser(user.Username) != null)
                {
                    return(new BadRequestObjectResult(new MessageResponse {
                        Message = $"User {user.Username} already exists"
                    }));
                }

                ApplicationUser registeredUser = new ApplicationUser
                {
                    Salary         = user.Salary,
                    ProfilePicture = _applicationService.StoreUploadedImage(user.ProfilePicture),
                    Address        = user.Address,
                    Country        = user.Country,
                    DateOfBirth    = user.DateOfBirth,
                    DisplayName    = user.DisplayName,
                    Email          = user.Email,
                    UserName       = user.Username
                };

                await _userManager.CreateAsync(registeredUser, user.Password);

                if (_configuration.GetValue <bool?>("signInUserOnregister") != null && _configuration.GetValue <bool?>("signInUserOnregister").Value)
                {
                    await _signInManager.SignInAsync(registeredUser, isPersistent : false);
                }

                return(new CreatedResult($"/usernames{user.Username}", registeredUser));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(new BadRequestObjectResult(_applicationService.GetExceptionMessage(e)));
            }
        }
 public async Task <ActionResult <MessageResponse> > CreateUser([FromBody] ApplicationUserRegisterRequest request)
 {
     _logger.LogInformation($"Creating new user {request.Username}");
     return(await _userService.CreateUser(request));
 }