Example #1
0
        public int Registrar(UsuarioRegistrarDto modelo, ref long idNuevo)
        {
            int resultado = 0;

            try
            {
                const string query = "Seguridad.usp_Usuario_Registrar";

                var p = new DynamicParameters();
                p.Add("IdUsuario", 0, DbType.Int64, ParameterDirection.Output);
                p.Add("CorreoElectronico", modelo.CorreoElectronico);
                p.Add("Usuario", modelo.Usuario);
                p.Add("Contrasenia", modelo.Contrasenia);
                p.Add("Nombre", modelo.Nombre);
                p.Add("Apellido", modelo.Apellido);

                using (var cn = HelperClass.ObtenerConeccion())
                {
                    if (cn.State == ConnectionState.Closed)
                    {
                        cn.Open();
                    }

                    resultado = cn.Execute(query, commandType: CommandType.StoredProcedure, param: p);

                    idNuevo = p.Get <long>("IdUsuario");
                }
            }
            catch (Exception ex)
            {
                Log(Level.Error, (ex.InnerException == null ? ex.Message : ex.InnerException.Message));
            }
            return(resultado);
        }
        public async Task <ActionResult <UsuarioResponseRegistrarDto> > Registrar([FromBody] UsuarioRegistrarDto modelo)
        {
            UsuarioResponseRegistrarDto respuesta = new UsuarioResponseRegistrarDto();

            if (!ModelState.IsValid)
            {
                respuesta.ListaError.Add(new ErrorDto {
                    Mensaje = "Los parametros enviados no son correctos"
                });
                return(BadRequest(respuesta));
            }

            long nuevoId = 0;
            var  result  = await Task.FromResult(_lnUsuario.Registrar(modelo, ref nuevoId));

            if (result == 0)
            {
                respuesta.ListaError.Add(new ErrorDto {
                    Mensaje = "Error al intentar registrar"
                });
                return(BadRequest(respuesta));
            }

            respuesta.ProcesadoOk = true;
            respuesta.IdGenerado  = nuevoId;

            return(Ok(respuesta));
        }
Example #3
0
 public int Registrar(UsuarioRegistrarDto modelo, ref long idNuevo)
 {
     return(_adUsuario.Registrar(modelo, ref idNuevo));
 }
Example #4
0
        public async Task <IActionResult> CreateUsuario(UsuarioRegistrarDto usuarioRegistrarDto)
        {
            string  errMsg         = $"{nameof(CreateUsuario)} un error producido mientras la creacion de un nuevo usuario";
            Usuario usuarioCreated = new Usuario();

            if (ModelState.IsValid)
            {
                try
                {
                    Usuario usuario = new Usuario();
                    usuarioRegistrarDto.NombreUsuario = usuarioRegistrarDto.NombreUsuario.ToLower();
                    usuario = _mapper.Map <Usuario>(usuarioRegistrarDto);

                    if (!usuarioRegistrarDto.NombreUsuario.validarUserName())
                    {
                        return(StatusCode(Status.Accepted, new
                        {
                            error = "No se ha indicado un nombre usuario, debe intentarlo nuevamente."
                        }));
                    }

                    if (!usuarioRegistrarDto.Email.validarEmail())
                    {
                        return(StatusCode(Status.Accepted, new
                        {
                            error = "No se ha indicado un correo electronico, debe intentarlo nuevamente."
                        }));
                    }

                    var usuarioExiste = await _service.GetUsuarioByNombreUsuario(usuarioRegistrarDto.NombreUsuario);

                    if (usuarioExiste == null)
                    {
                        usuarioExiste = await _service.GetUsuarioByEmail(usuarioRegistrarDto.Email);
                    }

                    if (usuarioExiste != null)
                    {
                        if (usuarioExiste.NombreUsuario != null && usuarioExiste.NombreUsuario.Equals(usuarioRegistrarDto.NombreUsuario))
                        {
                            return(StatusCode(Status.Accepted, new
                            {
                                error = "El nombre usuario: " + usuario.NombreUsuario + " actualmente existe."
                            }));
                        }

                        if (usuarioExiste.Email != null && usuarioExiste.Email.Equals(usuarioRegistrarDto.Email))
                        {
                            return(StatusCode(Status.Accepted, new
                            {
                                error = "El correo electronico: " + usuario.Email + " actualmente existe."
                            }));
                        }
                    }

                    usuarioCreated = await _service.CreateUpdateUsuario(usuario, usuarioRegistrarDto.RolId);

                    var createClave = _mapper.Map <UsuarioActualizarClaveDto>(usuarioCreated);
                    createClave.Clave          = usuarioRegistrarDto.Clave;
                    createClave.ConfirmarClave = usuarioRegistrarDto.ConfirmarClave;

                    await UpdateClaveUsuario(createClave);
                }
                catch (Exception ex)
                {
                    return(StatusCode(Status.BadRequest, errMsg + ex));
                }
            }

            return(StatusCode(Status.OK, usuarioCreated));
        }