public async Task Usuario_RealizarCadastro_DeveExecutarComSucesso() { // Arrange CreateUsuarioViewModel _usuario = _testsFixture.GerarUsuarioValido(); // Act HttpResponseMessage _response = await _testsFixture.Client.PostAsync(_baseEndpoint, new StringContent(ExtensionMethodHelpers.ToJson(_usuario), Encoding.UTF8, "application/json")); // Assert _response.EnsureSuccessStatusCode(); }
public ActionResult <ReturnUserViewModel> CreateUser(CreateUsuarioViewModel usuario) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { if (!usuario.Contraseña.Equals(usuario.ContraseñaConfirmada)) { return(BadRequest(new Response { Code = Models.Response.ResponseCode.Error.ToString(), Message = "Error: Las contraseñas no coinciden", Description = "Contraseña y ContraseñaConfirmada son diferentes" })); } var encryptedPassword = EncryptionService.GetSHA256(usuario.Contraseña); var userToCreate = new Usuario { NombreUsuario = usuario.NombreUsuario, NombreCompleto = usuario.NombreCompleto, Edad = usuario.Edad, Contraseña = encryptedPassword }; _usuarioRepository.AddUsuario(userToCreate); return(Ok(new ReturnUserViewModel { Id = userToCreate.Id, Edad = userToCreate.Edad, NombreCompleto = userToCreate.NombreCompleto, NombreUsuario = userToCreate.NombreUsuario })); } catch (Exception e) { return(BadRequest(new Response { Code = Models.Response.ResponseCode.Error.ToString(), Message = "Error: Ah ocurrido un error", Description = e.Message })); } }
public async Task <bool> CreateAsync(CreateUsuarioViewModel usuario) { ValidationResult _result = new CreateUsuarioValidation().Validate(usuario); if (!_result.IsValid) { throw new ApiException(_result.GetErrors(), ApiErrorCodes.MODNOTVALD); } Perfil _perfil = _repositoryPerfil.GetByKey(Perfil.ADM); if (_repository.ExistsWithUserName(usuario.Email)) { throw new ApiException(ApiErrorCodes.EXUSU); } Usuario _usuario = _mapper.Map <Usuario>(usuario); IdentityResult _identityResult = await _userManager.AddPasswordAsync(_usuario, usuario.Senha); if (!_identityResult.Succeeded) { throw new ApiException(ApiErrorCodes.INVPASS, nameof(usuario.Senha)); } IdentityResult _createResult = await _userManager.CreateAsync(_usuario, usuario.Senha); if (!_createResult.Succeeded || _createResult.Errors.Any()) { throw new ApiException(_createResult.GetErrorsToString(), ApiErrorCodes.CRUSIDNT); } _usuario.SetPerfilId(_perfil.Id); _repository.Create(_usuario); if (!_uow.Commit()) { throw new ApiException(ApiErrorCodes.ERROPBD); } return(true); }
public async Task <IActionResult> Create(CreateUsuarioViewModel account) { if (!ModelState.IsValid) { return(View(account)); } var user = new Usuario() { UserName = account.Email, Nome = account.Nome, Apelido = account.Apelido ?? account.Nome.Split(' ', StringSplitOptions.None)[0], DataNascimento = account.DataNascimento, Email = account.Email, EmailConfirmed = true }; var result = await userManager.CreateAsync(user, account.Senha); if (!result.Succeeded) { foreach (var error in result.Errors) { // Lista de erros do UserManager // https://stackoverflow.com/questions/40583707/list-of-error-cases-in-use-usermanager-createasyncuser-password if (error.Code == "DuplicateEmail") { ModelState.AddModelError("", "O E-mail informado já encontra-se cadastrado em nosso sistema!"); } } return(View(account)); } await userManager.AddToRoleAsync(user, account.Perfil); return(RedirectToAction("Index")); }
public ActionResult CriarLogin(CreateUsuarioViewModel usuario) { MapperConfiguration config = new MapperConfiguration(cfg => cfg.CreateMap <CreateUsuarioViewModel, Usuario>()); var mapper = config.CreateMapper(); Usuario domain = mapper.Map <Usuario>(usuario); try { bll.Inserir(domain); Cookie.Set(domain.ID.ToString()); return(RedirectToAction("Lista", "Home")); } catch (PetShopException ex) { StringBuilder errors = new StringBuilder(); foreach (ErrorField item in ex.Errors) { errors.Append("<div style='display: block'>" + item.Error + "</div>"); } ViewBag.Erros = errors.ToString(); } return(View()); }
public async Task <IActionResult> CreateAsync(CreateUsuarioViewModel usuario) { bool _result = await _service.CreateAsync(usuario); return(Ok(_result)); }