예제 #1
0
        public IActionResult Register([FromBody] User user)
        {
            //Validate the user
            var validation = new RegisterUserValidation();
            var results    = validation.Validate(user);

            //If if valid, then register
            if (results.IsValid)
            {
                try
                {
                    var userRegistred = this.userServices.Register(user);
                    return(Ok(userRegistred));
                }
                catch (UserExistentException ex)
                {
                    logger.LogInformation(ex.Message);
                    return(BadRequest(new { ex.Message }));
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, ex.Message);
                    return(StatusCode(StatusCodes.Status500InternalServerError));
                }
            }
            else
            {
                return(BadRequest(results.Errors.Select(x => new { x.PropertyName, x.ErrorMessage })));
            }
        }
예제 #2
0
        public void RegisterUser(UserRegisterDTO User)
        {
            try
            {
                RegisterUserValidation rv = new RegisterUserValidation();

                if (!rv.ValidationUser(User.DS_LOGIN))
                {
                    throw new HttpException("Erro no Usuario", "Este Usuario ja esta cadastrado", HttpStatusCode.Unauthorized);
                }

                TB_LE_USUARIO us = new TB_LE_USUARIO();
                us.DS_USUARIO       = User.DS_USUARIO;
                us.DS_LOGIN         = User.DS_LOGIN;
                us.DS_SENHA         = EncryptProvider.Sha1(User.DS_SENHA);
                us.FL_ADMINISTRADOR = false;
                us.FL_ATIVO         = true;
                us.NR_IDADE         = User.NR_IDADE;

                db.TB_LE_USUARIOs.Add(us);
                db.SaveChanges();
            }
            catch (HttpException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new HttpException("Erro Interno no Sistema", string.Format("Ocorrou um erro durante o cadastro. Contate o administrador. {0}", ex.Message), HttpStatusCode.InternalServerError);
            }
        }
예제 #3
0
        public IActionResult Register([FromBody] User user)
        {
            //Validate the user
            var validation = new RegisterUserValidation();
            var results    = validation.Validate(user);

            //If if valid, then register
            if (results.IsValid)
            {
                try
                {
                    return(Ok(this.userServices.Register(user)));
                }
                catch (UserExistentException ex)
                {
                    return(BadRequest(new Error <UserExistentException>(ex)));
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, ex.Message);
                    return(StatusCode(StatusCodes.Status500InternalServerError));
                }
            }
            else
            {
                return(BadRequest(results.Errors));
            }
        }
        public async Task <IActionResult> Register([FromBody] User user)
        {
            //Validate the user
            var validation = new RegisterUserValidation();
            var results    = validation.Validate(user);

            //If if valid, then register
            if (results.IsValid)
            {
                try
                {
                    var userRegistred = this.userServices.Register(user);

                    var pageModel = new AccountCreatedSuccessfullyModel();
                    pageModel.Name  = user.Name;
                    pageModel.Email = user.Email;

                    var         emailConfig = EmailConfiguration.GetFromConfiguration(configuration, "No Reply");
                    EmailSender emailSender = new EmailSender(emailConfig);
                    emailSender.To = user.Email;

                    templateEmailSender.EmailSender = emailSender;
                    templateEmailSender.SendAsync(pageModel);

                    return(Ok(userRegistred));
                }
                catch (UserExistentException ex)
                {
                    logger.LogInformation(ex.Message);
                    return(BadRequest(new { ex.Message, ex.ErrorCode }));
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, ex.Message);
                    return(StatusCode(StatusCodes.Status500InternalServerError));
                }
            }
            else
            {
                return(BadRequest(results.Errors));
            }
        }
예제 #5
0
 public override bool IsValid()
 {
     ValidationResult = new RegisterUserValidation().Validate(this);//注意:这个就是命令验证,我们会在下边实现它
     return(ValidationResult.IsValid);
 }