public MensajesUsuarios RecuperarPassword([FromBody] string infoCorreo)
        {
            MensajesUsuarios msjUsuarios  = new MensajesUsuarios();
            Usuarios         datosUsuario = new Usuarios();

            try
            {
                if (infoCorreo != null)
                {
                    ConsultasUsuarios objConsultasUsuariosBD = new ConsultasUsuarios();
                    datosUsuario = objConsultasUsuariosBD.ObtenerUsuarios("usuarioshabilitados").ListaObjetoInventarios.Find(x => x.CorreoUsuario == infoCorreo);
                    if (datosUsuario != null)
                    {
                        datosUsuario.PasswordUsuario  = ConfigEncryption.EncriptarValor(datosUsuario.PasswordUsuario);
                        msjUsuarios.ObjetoInventarios = datosUsuario;
                        msjUsuarios.OperacionExitosa  = true;
                        Logs.Info(string.Format("Solicitud de datos exitosa para recuperación de contraseña para el correo: {0}.", infoCorreo));
                    }
                    else
                    {
                        msjUsuarios.ObjetoInventarios = null;
                        msjUsuarios.OperacionExitosa  = false;
                        Logs.Error(string.Format("Solicitud de datos fallida para recuperación de contraseña para el correo: {0}.", infoCorreo));
                    }
                }
            }
            catch (Exception e)
            {
                Logs.Error(string.Format("Solicitud de datos fallida para recuperación de contraseña para el correo: {0}: {1}", infoCorreo, e.Message));
                msjUsuarios.ObjetoInventarios = null;
                msjUsuarios.OperacionExitosa  = false;
            }
            return(msjUsuarios);
        }
        public MensajesUsuarios AutenticarUsuario([FromBody] Usuarios infoUsuario)
        {
            MensajesUsuarios msjUsuarios  = new MensajesUsuarios();
            Usuarios         datosUsuario = new Usuarios();

            try
            {
                if (infoUsuario.NickUsuario != null && infoUsuario.NickUsuario != null)
                {
                    ConsultasUsuarios objConUsuarios = new ConsultasUsuarios();
                    datosUsuario = objConUsuarios.ObtenerUsuarios("usuarioshabilitados").ListaObjetoInventarios.Find(x => x.NickUsuario == infoUsuario.NickUsuario && x.PasswordUsuario == infoUsuario.PasswordUsuario);
                    if (datosUsuario != null)
                    {
                        msjUsuarios.ObjetoInventarios = datosUsuario;
                        msjUsuarios.OperacionExitosa  = true;
                        Logs.Info(string.Format("Autenticación exitosa con el Web Service del usuario: {0}.", infoUsuario.NickUsuario));
                    }
                    else
                    {
                        msjUsuarios.ObjetoInventarios = null;
                        msjUsuarios.OperacionExitosa  = false;
                        Logs.Error(string.Format("Autenticación fallida con el Web Service del usuario: {0}.", infoUsuario.NickUsuario));
                    }
                }
            }
            catch (Exception e)
            {
                Logs.Error(string.Format("Autenticación fallida con el Web Service del usuario: {0}: {1}", infoUsuario.NickUsuario, e.Message));
                msjUsuarios.ObjetoInventarios = null;
                msjUsuarios.OperacionExitosa  = false;
            }
            return(msjUsuarios);
        }
示例#3
0
        public MensajesUsuarios ObtenerUsuariosRespTickets()
        {
            MensajesUsuarios  msjUsuarios            = new MensajesUsuarios();
            ConsultasUsuarios objConsultasUsuariosBD = new ConsultasUsuarios();

            msjUsuarios = objConsultasUsuariosBD.ObtenerUsuarios("responsablestickets");
            if (msjUsuarios.OperacionExitosa)
            {
                Logs.Info("Consulta de Usuarios realizada exitosamente.");
            }
            else
            {
                Logs.Error(msjUsuarios.MensajeError);
            }
            return(msjUsuarios);
        }
示例#4
0
        public MensajesUsuarios ObtenerUsuariosHab()
        {
            MensajesUsuarios  msjUsuarios            = new MensajesUsuarios();
            ConsultasUsuarios objConsultasUsuariosBD = new ConsultasUsuarios();

            msjUsuarios = objConsultasUsuariosBD.ObtenerUsuarios("usuarioshabilitados");
            if (msjUsuarios.OperacionExitosa)
            {
                Logs.Info("Consulta de Usuarios realizada exitosamente.");
            }
            else
            {
                Logs.Error(msjUsuarios.MensajeError);
            }
            return(msjUsuarios);
        }
        public IActionResult ObtenerTokenTransacciones([FromBody] string infoUsuarioSesion)
        {
            JwtToken token = null;

            try
            {
                if (infoUsuarioSesion != null)
                {
                    ConsultasUsuarios objConsultasUsuariosBD = new ConsultasUsuarios();
                    MensajesUsuarios  msjUsuarios            = new MensajesUsuarios();
                    msjUsuarios = objConsultasUsuariosBD.ObtenerUsuarios("usuarioshabilitados");
                    if (msjUsuarios.OperacionExitosa)
                    {
                        Usuarios infoUsuario = msjUsuarios.ListaObjetoInventarios.Find(x => x.NickUsuario == infoUsuarioSesion);
                        if (infoUsuario != null)
                        {
                            token = ConfiguracionToken();
                            ConfigBaseDatos.SetCadenaConexion(string.Format("Server=localhost;Port=5432;User Id={0};Password={1};Database=DCICC_BDInventario; CommandTimeout=3020;", infoUsuario.NickUsuario.ToLower(), ConfigEncryption.EncriptarValor(infoUsuario.PasswordUsuario)));
                        }
                        else
                        {
                            return(Unauthorized());
                        }
                    }
                    else
                    {
                        return(Unauthorized());
                    }
                }
                else
                {
                    return(Unauthorized());
                }
            }
            catch (Exception e)
            {
                Logs.Error(string.Format("No se pudo generar el token de autorización para transacciones del usuario: {0}: {1}", infoUsuarioSesion, e.Message));
                return(Unauthorized());
            }
            return(Ok(token.Value));
        }
示例#6
0
        /// <summary>
        /// Método para enviar correo a todos los administradores acerca de un nuevo ticket.
        /// </summary>
        /// <param name="infoTicket"></param>
        public void EnviarCorreoNuevoTicket(Tickets infoTicket)
        {
            ConfigSeguridad   confServSeguridad     = new ConfigSeguridad();
            ConsultasUsuarios objConsultaUsuariosBD = new ConsultasUsuarios();
            string            emailEmisor           = confServSeguridad.ObtenerEmailEmisor();
            string            claveEmailEmisor      = confServSeguridad.ObtenerClaveEmailEmisor();
            List <Usuarios>   lstUsuariosAdmin      = objConsultaUsuariosBD.ObtenerUsuariosAdministradores().ListaObjetoInventarios;

            foreach (var item in lstUsuariosAdmin)
            {
                Mail objMail = new Mail();
                infoTicket.NombreUsuarioResponsable = item.NombresUsuario;
                Correo correo = new Correo
                {
                    Body             = objMail.FormatBody(infoTicket),
                    EmailEmisor      = emailEmisor,
                    ClaveEmailEmisor = claveEmailEmisor,
                    EmailReceptor    = item.CorreoUsuario,
                    Asunto           = "Nuevo Ticket para Soporte Técnico"
                };
                objMail.SendMail(correo);
            }
        }
        /// <summary>
        /// Método para actualizar el Nick de un Usuario en la base de datos.
        /// </summary>
        /// <param name="infoUsuario"></param>
        /// <returns></returns>
        public MensajesUsuarios ActualizacionNickUsuario(Usuarios infoUsuario)
        {
            MensajesUsuarios msjUsuarios = new MensajesUsuarios();

            try
            {
                ConsultasUsuarios objConsultaUsuarios = new ConsultasUsuarios();
                Usuarios          infoUsuarioBD       = objConsultaUsuarios.ObtenerUsuarioPorId(infoUsuario.IdUsuario).ObjetoInventarios;
                string            nickAnterior        = infoUsuarioBD.NickUsuario;
                NpgsqlTransaction tran = conn_BD.BeginTransaction();
                using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set nick_usuario = @niu where id_usuario = @iu", conn_BD))
                {
                    cmd.Parameters.Add("niu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NickUsuario.Trim();
                    cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value  = infoUsuario.IdUsuario;
                    cmd.ExecuteNonQuery();
                }
                string queryUser = string.Format("ALTER USER {0} RENAME TO {1};", nickAnterior, infoUsuario.NickUsuario.Trim());
                using (var cmd = new NpgsqlCommand(queryUser, conn_BD))
                {
                    cmd.ExecuteNonQuery();
                }
                string queryPwd = string.Format("ALTER USER {0} with password '{1}';", infoUsuario.NickUsuario, ConfigEncryption.EncriptarValor(infoUsuario.PasswordUsuario.Trim()));
                using (var cmd = new NpgsqlCommand(queryPwd, conn_BD))
                {
                    cmd.ExecuteNonQuery();
                }
                tran.Commit();
                msjUsuarios.OperacionExitosa = true;
            }
            catch (Exception e)
            {
                conn_BD.Close();
                msjUsuarios.OperacionExitosa = false;
                msjUsuarios.MensajeError     = e.Message;
            }
            return(msjUsuarios);
        }
        /// <summary>
        /// Método para actualizar un Usuario en la base de datos.
        /// </summary>
        /// <param name="infoUsuario"></param>
        /// <returns></returns>
        public MensajesUsuarios ActualizacionUsuario(Usuarios infoUsuario)
        {
            MensajesUsuarios msjUsuarios = new MensajesUsuarios();

            try
            {
                NpgsqlTransaction tran                = conn_BD.BeginTransaction();
                string            pwdUsuario          = ConfigEncryption.EncriptarValor(infoUsuario.PasswordUsuario);
                ConsultasUsuarios objConsultaUsuarios = new ConsultasUsuarios();
                if (objConsultaUsuarios.ObtenerUsuarioPorNick(infoUsuario.NickUsuario).ObjetoInventarios == null)
                {
                    using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set id_rol = @ir,nombres_usuario = @nu,password_usuario = @pu,correo_usuario = @cu,telefono_usuario = @tu,telefonocelular_usuario = @tcu,direccion_usuario = @du,habilitado_usuario = @hu where id_usuario = @iu", conn_BD))
                    {
                        cmd.Parameters.Add("ir", NpgsqlTypes.NpgsqlDbType.Integer).Value  = infoUsuario.IdRol;
                        cmd.Parameters.Add("nu", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = infoUsuario.NombresUsuario.Trim();
                        cmd.Parameters.Add("pu", NpgsqlTypes.NpgsqlDbType.Text).Value     = pwdUsuario.Trim();
                        cmd.Parameters.Add("cu", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = infoUsuario.CorreoUsuario.Trim();
                        cmd.Parameters.Add("tu", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = !string.IsNullOrEmpty(infoUsuario.TelefonoUsuario) ? (object)infoUsuario.TelefonoUsuario.Trim() : DBNull.Value;
                        cmd.Parameters.Add("tcu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoCelUsuario) ? (object)infoUsuario.TelefonoCelUsuario.Trim() : DBNull.Value;
                        cmd.Parameters.Add("du", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = !string.IsNullOrEmpty(infoUsuario.DireccionUsuario) ? (object)infoUsuario.DireccionUsuario.Trim() : DBNull.Value;
                        cmd.Parameters.Add("hu", NpgsqlTypes.NpgsqlDbType.Boolean).Value  = infoUsuario.HabilitadoUsuario;
                        cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value  = infoUsuario.IdUsuario;
                        cmd.ExecuteNonQuery();
                    }
                    tran.Commit();
                    msjUsuarios = ActualizacionNickUsuario(infoUsuario);
                    if (infoUsuario.NombreRolAntiguo != null)
                    {
                        ActualizarRolUsuario(infoUsuario.NombreRolAntiguo.Trim(), infoUsuario.NombreRol.Trim(), infoUsuario.NickUsuario.Trim());
                    }
                    conn_BD.Close();
                }
                else
                {
                    using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set id_rol = @ir,nombres_usuario = @nu,nick_usuario = @niu,password_usuario = @pu,correo_usuario = @cu,telefono_usuario = @tu,telefonocelular_usuario = @tcu,direccion_usuario = @du,habilitado_usuario = @hu where id_usuario = @iu", conn_BD))
                    {
                        cmd.Parameters.Add("ir", NpgsqlTypes.NpgsqlDbType.Integer).Value  = infoUsuario.IdRol;
                        cmd.Parameters.Add("nu", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = infoUsuario.NombresUsuario.Trim();
                        cmd.Parameters.Add("niu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NickUsuario.Trim();
                        cmd.Parameters.Add("pu", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = pwdUsuario.Trim();
                        cmd.Parameters.Add("cu", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = infoUsuario.CorreoUsuario.Trim();
                        cmd.Parameters.Add("tu", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = !string.IsNullOrEmpty(infoUsuario.TelefonoUsuario) ? (object)infoUsuario.TelefonoUsuario.Trim() : DBNull.Value;
                        cmd.Parameters.Add("tcu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoCelUsuario) ? (object)infoUsuario.TelefonoCelUsuario.Trim() : DBNull.Value;
                        cmd.Parameters.Add("du", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = !string.IsNullOrEmpty(infoUsuario.DireccionUsuario) ? (object)infoUsuario.DireccionUsuario.Trim() : DBNull.Value;
                        cmd.Parameters.Add("hu", NpgsqlTypes.NpgsqlDbType.Boolean).Value  = infoUsuario.HabilitadoUsuario;
                        cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value  = infoUsuario.IdUsuario;
                        cmd.ExecuteNonQuery();
                    }
                    if (infoUsuario.NombreRolAntiguo != null)
                    {
                        ActualizarRolUsuario(infoUsuario.NombreRolAntiguo.Trim(), infoUsuario.NombreRol.Trim(), infoUsuario.NickUsuario.Trim());
                    }
                    string query = string.Format("ALTER USER {0} with password '{1}';", infoUsuario.NickUsuario.Trim(), pwdUsuario.Trim());
                    using (var cmd = new NpgsqlCommand(query, conn_BD))
                    {
                        cmd.ExecuteNonQuery();
                    }
                    tran.Commit();
                    conn_BD.Close();
                    msjUsuarios.OperacionExitosa = true;
                }
            }
            catch (Exception e)
            {
                conn_BD.Close();
                msjUsuarios.OperacionExitosa = false;
                msjUsuarios.MensajeError     = e.Message;
            }
            return(msjUsuarios);
        }
        /// <summary>
        /// Método para actualizar el perfil de un Usuario en la base de datos.
        /// </summary>
        /// <param name="infoUsuario"></param>
        /// <returns></returns>
        public MensajesUsuarios ActualizacionPerfilUsuario(Usuarios infoUsuario)
        {
            MensajesUsuarios msjUsuarios = new MensajesUsuarios();

            try
            {
                NpgsqlTransaction tran = conn_BD.BeginTransaction();
                using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set nombres_usuario = @nu,correo_usuario = @cu,telefono_usuario = @tu,telefonocelular_usuario = @tcu,direccion_usuario = @du where id_usuario = @iu", conn_BD))
                {
                    cmd.Parameters.Add("nu", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = infoUsuario.NombresUsuario.Trim();
                    cmd.Parameters.Add("cu", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = infoUsuario.CorreoUsuario.Trim();
                    cmd.Parameters.Add("tu", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = !string.IsNullOrEmpty(infoUsuario.TelefonoUsuario) ? (object)infoUsuario.TelefonoUsuario.Trim() : DBNull.Value;
                    cmd.Parameters.Add("tcu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoCelUsuario) ? (object)infoUsuario.TelefonoCelUsuario.Trim() : DBNull.Value;
                    cmd.Parameters.Add("du", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = !string.IsNullOrEmpty(infoUsuario.DireccionUsuario) ? (object)infoUsuario.DireccionUsuario.Trim() : DBNull.Value;
                    cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value  = infoUsuario.IdUsuario;
                    cmd.ExecuteNonQuery();
                }
                ConsultasUsuarios objConsultaUsuarios = new ConsultasUsuarios();
                if (objConsultaUsuarios.ObtenerUsuarioPorNick(infoUsuario.NickUsuario).ObjetoInventarios == null)
                {
                    ConsultasUsuarios objConsultaUsuariosBD = new ConsultasUsuarios();
                    Usuarios          infoUsuarioBD         = objConsultaUsuariosBD.ObtenerUsuarioPorId(infoUsuario.IdUsuario).ObjetoInventarios;
                    string            nickAnterior          = infoUsuarioBD.NickUsuario.Trim();
                    using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set nick_usuario = @niu where id_usuario = @iu", conn_BD))
                    {
                        cmd.Parameters.Add("niu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NickUsuario.Trim();
                        cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value  = infoUsuario.IdUsuario;
                        cmd.ExecuteNonQuery();
                    }
                    tran.Commit();
                    conn_BD.Close();
                    NpgsqlConnection connBD = new NpgsqlConnection("Server=localhost;Port=5432;User Id=postgres;Password=Admin*1234;Database=DCICC_BDInventario; CommandTimeout=3020;");
                    connBD.Open();
                    NpgsqlTransaction tranBD    = connBD.BeginTransaction();
                    string            queryUser = string.Format("ALTER USER {0} RENAME TO {1};", nickAnterior.Trim(), infoUsuario.NickUsuario.Trim());
                    using (var cmd = new NpgsqlCommand(queryUser, connBD))
                    {
                        cmd.ExecuteNonQuery();
                    }
                    string queryPwd = string.Format("ALTER USER {0} with password '{1}';", infoUsuario.NickUsuario.Trim(), ConfigEncryption.EncriptarValor(infoUsuario.PasswordUsuario.Trim()));
                    using (var cmd = new NpgsqlCommand(queryPwd, connBD))
                    {
                        cmd.ExecuteNonQuery();
                    }
                    tranBD.Commit();
                    connBD.Close();
                }
                else
                {
                    tran.Commit();
                    conn_BD.Close();
                }
                msjUsuarios.OperacionExitosa = true;
            }
            catch (Exception e)
            {
                conn_BD.Close();
                msjUsuarios.OperacionExitosa = false;
                msjUsuarios.MensajeError     = e.Message;
            }
            return(msjUsuarios);
        }