public static UsuariosEntidad Map(CrearUsuarioDTO entidad) { UsuariosEntidad usuario = new UsuariosEntidad(); //var lstUsuariosRoles = new List<UsuariosRolesEntidad>(); if (entidad != null) { usuario.UserName = entidad.Usuario; usuario.PasswordHash = entidad.Contrasena; usuario.Email = entidad.Email; //if (entidad.Roles.Count > 0) //{ // foreach (var role in entidad.Roles) // { // lstUsuariosRoles.Add(new UsuariosRolesEntidad // { // UserId = usuario.Id, // RoleId = role // }); // } // usuario.UsuariosRoles = lstUsuariosRoles; //} } return(usuario); }
public async Task <IActionResult> CrearUsuarioAsync([FromBody] CrearUsuarioDTO usuarioDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var usuario = UsuarioMapper.Map(usuarioDTO); if (await _usuariosServicios.ObtenerUsuariosNombreAsync(usuarioDTO.Usuario) != null) { return(BadRequest("El nombre de usuario ya esta registrado intentelo con uno diferente")); } if (await _usuariosServicios.ObtenerUsuarioEmailAsync(usuario.Email) != null) { return(BadRequest("El correo electronico ya esta registrado")); } var idUsuarioCreado = await _usuariosServicios.CrearUsuarioAsync(usuario); if (idUsuarioCreado.Equals(Guid.Empty)) { return(BadRequest("El usuario no se creo correctamente")); } var usuarioCreado = await _usuariosServicios.ObtenerUsuarioIdAsync(idUsuarioCreado); var usuarioCreadoDTO = _mapper.Map <UsuariosDTO>(usuarioCreado); var correoEnviado = new Gmail(usuario.Email, "Te has registrado correctamente", "Bienvenido te has registrado en nuestro sistema"); correoEnviado.Enviar(); return(CreatedAtRoute( "ObtenerUsuarioId", new { id = idUsuarioCreado }, usuarioCreadoDTO )); }
public IActionResult Post([FromBody] CrearUsuarioDTO usuarioDTO) { using (EFContext ctx = new EFContext()) { // Hasheamos la contraseña var hash = HashContrasena.GetHash(usuarioDTO.Contrasena); // Construimos nuestro modelo Usuario var usuarioModel = new UsuariosModel() { Usuario = usuarioDTO.Usuario, Correo = usuarioDTO.Correo, Contrasena = hash.Contrasena, Sal = hash.Sal, Sexo = usuarioDTO.Sexo, }; var usuario = ctx.Usuarios.Add(usuarioModel); try { ctx.SaveChanges(); return(Created($"api/usuarios/{usuario.Entity.Id}/", ctx.Usuarios .Where(r => r.Id == usuario.Entity.Id) .Select(r => new { r.Id, r.Correo, r.Usuario, r.Sexo, r.FechaCreacion }) .FirstOrDefault())); } catch (DbUpdateException ex) { SqlException innerException = ex.InnerException as SqlException; if (innerException != null && (innerException.Number == 2627 || innerException.Number == 2601)) { return(Conflict(new { message = "El registro ya existe" })); } else { throw; } } } }