예제 #1
0
        public int Insere_Altera(Tb_Usuario objTabela)
        {
            Conexao    con    = new Conexao();
            SqlCommand cmd    = new SqlCommand();
            int        result = -1;

            if (objTabela.Id <= 0)
            {
                cmd.CommandText = "INSERT INTO usuarios ([nome],[usuario],[senha]) VALUES (@nome, @usuario, @senha)";
            }
            else
            {
                cmd.CommandText = "Update usuarios set nome=@nome, usuario=@usuario, senha=@senha where id = @codigo";
                cmd.Parameters.AddWithValue("@codigo", objTabela.Id);
            }

            cmd.Parameters.AddWithValue("@nome", objTabela.Nome);
            cmd.Parameters.AddWithValue("@usuario", objTabela.Usuario);
            cmd.Parameters.AddWithValue("@senha", objTabela.Senha);

            try
            {
                cmd.Connection = con.Conectar();
                result         = cmd.ExecuteNonQuery();
                con.Desconectar();
            }
            catch (SqlException e)
            {
                Console.WriteLine(e);
            }
            return(result);
        }
예제 #2
0
        public List <Tb_Usuario> Listar()
        {
            Conexao    con = new Conexao();
            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = "Select * From usuarios order by id desc";
            List <Tb_Usuario> lista = new List <Tb_Usuario>();
            SqlDataReader     dr;

            try
            {
                cmd.Connection = con.Conectar();
                dr             = cmd.ExecuteReader();
                Tb_Usuario usuario;
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        usuario         = new Tb_Usuario();
                        usuario.Id      = Convert.ToInt32(dr["id"]);
                        usuario.Nome    = Convert.ToString(dr["nome"]);
                        usuario.Usuario = Convert.ToString(dr["usuario"]);
                        usuario.Senha   = Convert.ToString(dr["senha"]);
                        lista.Add(usuario);
                    }
                }
                con.Desconectar();
            }
            catch (SqlException e)
            {
                Console.WriteLine(e);
            }
            return(lista);
        }
예제 #3
0
        public int PesquisaUsuario(Tb_Usuario objTabela)
        {
            Conexao    con = new Conexao();
            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = "Select * From usuarios where usuario=@usuario";
            cmd.Parameters.AddWithValue("@usuario", objTabela.Usuario);

            SqlDataReader dr;
            int           result = -1;

            try
            {
                cmd.Connection = con.Conectar();
                dr             = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    result = 1;
                }
                con.Desconectar();
            }
            catch (SqlException e)
            {
                Console.WriteLine(e);
            }
            return(result);
        }
예제 #4
0
 public JsonResult Eliminar(int IdUsuario)
 {
     try
     {
         //Saul González 19/10/2020: Validaciones de campos nulos
         if (String.IsNullOrEmpty(IdUsuario.ToString()))
         {
             return(Json(new { status = false, mensaje = "Error al obtener el ID del usuario" }));
         }
         Tb_Usuario Proveedor = db.Tb_Usuario.Where(y => y.Id_usuario.Equals(IdUsuario)).FirstOrDefault();
         if (Proveedor != null)
         {
             db.Tb_Usuario.Remove(Proveedor);
             db.SaveChanges();
         }
         else
         {
             return(Json(new { status = false, mensaje = "Error en la consulta al eliminar el ID del usuario" }));
         }
     }
     catch (Exception error)
     {
         return(Json(new { status = false, mensaje = error.Message }));
     }
     return(Json(new { status = true, mensaje = "Usuario eliminado correctamente" }));
 }
예제 #5
0
        public List <Tb_Usuario> Pesquisar(string pesquisa)
        {
            Conexao    con = new Conexao();
            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = "Select * From usuarios where nome like @nome";
            cmd.Parameters.AddWithValue("@nome", pesquisa + "%");
            List <Tb_Usuario> lista = new List <Tb_Usuario>();
            SqlDataReader     dr;

            try
            {
                cmd.Connection = con.Conectar();
                dr             = cmd.ExecuteReader();
                Tb_Usuario usuario;
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        usuario         = new Tb_Usuario();
                        usuario.Id      = Convert.ToInt32(dr["id"]);
                        usuario.Nome    = Convert.ToString(dr["nome"]);
                        usuario.Usuario = Convert.ToString(dr["usuario"]);
                        usuario.Senha   = Convert.ToString(dr["senha"]);
                        lista.Add(usuario);
                    }
                }
                con.Desconectar();
            }
            catch (SqlException e)
            {
                Console.WriteLine(e);
            }
            return(lista);
        }
예제 #6
0
 public JsonResult Actualizar(int IdUsuario, string Nombre, string Perfil, string CorreoElectronico, string Contraseña)
 {
     try
     {
         //Saul González 23/10/2020: Validaciones de campos nulos
         if (String.IsNullOrEmpty(Nombre))
         {
             return(Json(new { status = false, mensaje = "Debe ingresar un nombre de usuario" }));
         }
         if (String.IsNullOrEmpty(CorreoElectronico))
         {
             return(Json(new { status = false, mensaje = "Debe ingresar una dirección de correo electrónico" }));
         }
         if (!ValidarEmail(CorreoElectronico))
         {
             return(Json(new { status = false, mensaje = "El correo electrónico que ingreso no tiene un formato valido" }));
         }
         if (String.IsNullOrEmpty(Contraseña))
         {
             return(Json(new { status = false, mensaje = "Debe indicar una contraseña" }));
         }
         if (Contraseña.Length < 8)
         {
             return(Json(new { status = false, mensaje = "La contraseña debe tener al menos 8 caracteres" }));
         }
         //Saul Gonzalez 23/10/2020: Traemos la lista de usuarios descartando el id que se esta modificando
         List <Tb_Usuario> ListaFiltrada = db.Tb_Usuario.Where(y => y.Id_usuario != IdUsuario).ToList();
         if (ListaFiltrada != null)
         {
             Tb_Usuario ValidarCorreo = ListaFiltrada.Where(z => z.CorreoElectronico.Equals(CorreoElectronico)).FirstOrDefault();
             if (ValidarCorreo != null)
             {
                 return(Json(new { status = false, mensaje = "El correo electrónico que ingreso ya pertenece al usuario: " + ValidarCorreo.Nombre }));
             }
         }
         Tb_Usuario Usuario = db.Tb_Usuario.Where(x => x.Id_usuario.Equals(IdUsuario)).FirstOrDefault();
         //Saul gonzalez 23/10/2020: Asignamos los nuevos valores a las propiedades del objeto
         Usuario.Nombre            = Nombre;
         Usuario.CorreoElectronico = CorreoElectronico;
         Usuario.Contraseña        = Contraseña;
         Usuario.Permiso           = Perfil;
         //Saul González 23/10/2020: Actualizamos los datos del usuario
         db.Tb_Usuario.Attach(Usuario);
         db.Entry(Usuario).State = EntityState.Modified;
         db.SaveChanges();
     }
     catch (Exception error)
     {
         return(Json(new { status = false, mensaje = error.Message }));
     }
     return(Json(new { status = true, mensaje = "Datos Actualizados" }));
 }
예제 #7
0
        public JsonResult ActualizarDatos(int IdUsuario, string Contraseña, string ContraseñaConfirmada)
        {
            try
            {
                if (String.IsNullOrEmpty(Contraseña.ToString()) && String.IsNullOrEmpty(ContraseñaConfirmada))
                {
                    return(Json(new { status = false, mensaje = "No se realizó ningún cambio" }));
                }
                if (String.IsNullOrEmpty(IdUsuario.ToString()))
                {
                    return(Json(new { status = false, mensaje = "Ocurrió un error al obtener el ID del usuario" }));
                }
                if (String.IsNullOrEmpty(Contraseña.ToString()))
                {
                    return(Json(new { status = false, mensaje = "Debe ingresar una contraseña" }));
                }
                if (String.IsNullOrEmpty(ContraseñaConfirmada.ToString()))
                {
                    return(Json(new { status = false, mensaje = "Por motivos de seguridad, debe confirmar 2 veces la contraseña" }));
                }
                if (Contraseña != ContraseñaConfirmada)
                {
                    return(Json(new { status = false, mensaje = "Las contraseñas no coinciden" }));
                }
                if (Contraseña.Length < 8)
                {
                    return(Json(new { status = false, mensaje = "La contraseña debe tener al menos 8 caracteres" }));
                }
                Tb_Usuario Usuario = db.Tb_Usuario.Where(y => y.Id_usuario.Equals(IdUsuario)).FirstOrDefault();
                if (Usuario != null)
                {
                    Usuario.Contraseña = ContraseñaConfirmada;
                }
                else
                {
                    return(Json(new { status = false, mensaje = "Ocurrió un error al obtener el los datos del usuario" }));
                }
                //Saul González 28/10/2020: Actualizamos los datos del usuario
                db.Tb_Usuario.Attach(Usuario);
                db.Entry(Usuario).State = EntityState.Modified;
                db.SaveChanges();

                return(Json(new { status = true, mensaje = "Contraseña actualizada" }));
            }
            catch (Exception error)
            {
                return(Json(new { status = false, mensaje = error.Message }));
            }
        }
예제 #8
0
        public JsonResult Guardar(string Nombre, string CorreoElectronico, string Contraseña, string Perfil)
        {
            Tb_Usuario Usuario = new Tb_Usuario();

            try
            {
                //Saul González 19/10/2020: Validaciones de campos nulos
                if (String.IsNullOrEmpty(Nombre))
                {
                    return(Json(new { status = false, mensaje = "Debe ingresar un nombre de usuario" }));
                }
                if (String.IsNullOrEmpty(CorreoElectronico))
                {
                    return(Json(new { status = false, mensaje = "Debe ingresar una dirección de correo electrónico" }));
                }
                if (!ValidarEmail(CorreoElectronico))
                {
                    return(Json(new { status = false, mensaje = "El correo electrónico que ingreso no tiene un formato valido" }));
                }
                if (String.IsNullOrEmpty(Contraseña))
                {
                    return(Json(new { status = false, mensaje = "Debe indicar una contraseña" }));
                }
                if (Contraseña.Length < 8)
                {
                    return(Json(new { status = false, mensaje = "La contraseña debe tener al menos 8 caracteres" }));
                }
                //Saul Gonzalez 23/10/2020: Consultamos si el correo electronico que se esta intentando guardar ya pertenece a otro usuario
                Tb_Usuario ConsultarCorreo = db.Tb_Usuario.Where(y => y.CorreoElectronico.Equals(CorreoElectronico)).FirstOrDefault();
                if (ConsultarCorreo != null)
                {
                    return(Json(new { status = false, mensaje = "El correo electrónico que ingreso ya pertenece al usuario: " + ConsultarCorreo.Nombre }));
                }
                //Saul gonzalez 16/10/2020: Asignamos valores al objeto
                Usuario.Nombre            = Nombre;
                Usuario.CorreoElectronico = CorreoElectronico;
                Usuario.Contraseña        = Contraseña;
                Usuario.Permiso           = Perfil;
                Usuario.FechaRegistro     = DateTime.Now;
                //Saul gonzalez 19/10/2020: Guardamos los datos
                db.Tb_Usuario.Add(Usuario);
                db.SaveChanges();
            }
            catch (Exception error)
            {
                string mensaje = error.Message;
            }
            return(Json(new { status = true, mensaje = "Datos guardados" }));
        }
예제 #9
0
        public JsonResult ListarUsuarios()
        {
            try
            {
                //Saul Gonzalez 22/10/2020: Validamos si la sesion sigue activa de no ser asi no se dejara realizar ninguna acccion
                var      Usuario = Session["Usuario"].ToString();
                string[] Nombre  = Usuario.Split(' ');
                if (Nombre.Length > 1)
                {
                    ViewBag.Usuario = Nombre[0] + " " + Nombre[1];
                }
                else
                {
                    ViewBag.Usuario = Nombre[0];
                }
            }
            catch (Exception)
            {
                return(Json(new { status = false, mensaje = "La sesión expiro" }));
            }
            List <Tb_Usuario> Lista = new List <Tb_Usuario>();

            try
            {
                //Saul Gonzalez 14/10/2020: Obtenemos la lista de proveedores
                List <Tb_Usuario> tablaUsuarios = db.Tb_Usuario.ToList();
                foreach (Tb_Usuario Usuario in tablaUsuarios)
                {
                    Tb_Usuario o = new Tb_Usuario();
                    o.Id_usuario        = Usuario.Id_usuario;
                    o.Nombre            = Usuario.Nombre;
                    o.CorreoElectronico = Usuario.CorreoElectronico;
                    if (Usuario.Nombre.Equals("Silvia Rios") && Usuario.Contraseña.Equals("SR109451"))
                    {
                        o.CorreoElectronico = "******************";
                    }
                    o.Permiso       = Usuario.Permiso;
                    o.FechaRegistro = Usuario.FechaRegistro;
                    Lista.Add(o);
                }
            }
            catch (Exception error)
            {
                return(Json(new { status = false, mensaje = error.Message }));
            }
            return(Json(Lista, JsonRequestBehavior.AllowGet));
        }
예제 #10
0
        public Tb_Usuario Logar(string usuario, string senha)
        {
            Tb_Usuario    resultado = new Tb_Usuario();
            StringBuilder sql       = new StringBuilder();

            try
            {
                sql.Append(
                    "Select * from Tb_Usuario" +
                    " where Nome = '" + usuario + "' and Senha = '" + senha + "'");

                resultado = new RepositoryLogin().Get(sql.ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro ao tentar efetuar o login:"******"Erro ao logar", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            return(resultado);
        }
예제 #11
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtUsuario.Text == "")
            {
                MessageBox.Show("Preencha o Campo Usuári");
                txtUsuario.Focus();
            }
            else
            {
                if (txtSenha.Text == "")
                {
                    MessageBox.Show("Preencha o Campo Senha");
                    txtSenha.Focus();
                }
                else
                {
                    Tb_Usuario objTabela = new Tb_Usuario();
                    objTabela.Usuario = txtUsuario.Text;
                    objTabela.Senha   = txtSenha.Text;

                    objTabela = new UsuarioModel().Login(objTabela);

                    if (objTabela == null)
                    {
                        lblMensagem.Text      = "Usuário ou Senha Inválido!";
                        lblMensagem.ForeColor = Color.Red;
                    }
                    else
                    {
                        this.Hide(); //oculta o formulario que esta aberto no momento

                        frmCadUsuario form = new frmCadUsuario();
                        form.FormClosed += (s, args) => this.Close(); //fecha o formulario atual que esta escondido para que ele não volte a tela

                        form.StartPosition = FormStartPosition.CenterScreen;
                        form.Show(); //exibe o novo formulario que no caso é o de cadastro de usuario
                    }
                }
            }
        }
예제 #12
0
        public void AutenticarUsuarioCAS(string pCdFuncional)
        {
            CustomPrincipal vNewUser = new CustomPrincipal("");
            Tb_Usuario      vUsuario = new Tb_Usuario();

            try
            {
                pCdFuncional                = DLL_CAS.Autenticacao.FormatarMatricula(pCdFuncional);
                vUsuario                    = DLL_CAS.Autenticacao.MapearPerfilSQL(pCdFuncional, Settings.Default.SiglaSistema, Settings.Default.Ambiente);
                vNewUser                    = new CustomPrincipal(vUsuario.DsApelido);
                vNewUser.NomeCompleto       = vUsuario.NomeUsuario;
                vNewUser.DsLogin            = vUsuario.DsLogin;
                vNewUser.ListFuncionalidade = vUsuario.ListSistemas.SelectMany(x => x.List_Perfil).SelectMany(x => x.ListFuncionalidade).Select(y => y.SiglaFuncionalidade).Distinct().ToList();
            }
            catch (Exception ex)
            {
                TempData["MsgErro"] = ex.Message;
            }

            Session["UsuarioLogado"]            = vNewUser;
            System.Web.HttpContext.Current.User = vNewUser;
        }
예제 #13
0
 public JsonResult ValidarUsuario(string Usuario, string Contraseña)
 {
     try
     {
         //Saul González 09/03/2021: Validaciones de campos nulos
         if (String.IsNullOrEmpty(Usuario))
         {
             return(Json(new { status = false, mensaje = "El correo electrónico no puede estar vacío" }));
         }
         //Saul González 09/03/2021: Validaciones de campos nulos
         if (String.IsNullOrEmpty(Contraseña))
         {
             return(Json(new { status = false, mensaje = "Debe indicar una contraseña" }));
         }
         //Saul Gonzalez 09/03/2021: Consultamos si existe el usuario segun el correo y contraseña
         //FALTA VALIDAR QUE LA CONSULTA DISTINGA ENTRE MAYUSCULAS Y MINUSCULAS
         Tb_Usuario oUsuario = db.Tb_Usuario.Where(y => y.CorreoElectronico.Equals(Usuario) && y.Contraseña.Equals(Contraseña)).FirstOrDefault();
         if (oUsuario == null)
         {
             return(Json(new { status = false, mensaje = "El correo electrónico o contraseña que ingreso no son correctos, verifique los datos y vuelva a intentarlo." }));
         }
         else
         {
             //Saul Gonzalez 09/03/2021: Almacenamos las variables de sesion
             Session["Usuario"]           = oUsuario.Nombre;
             Session["CorreoElectronico"] = oUsuario.CorreoElectronico;
             Session["Contraseña"]        = oUsuario.CorreoElectronico;
             Session["Permiso"]           = oUsuario.Permiso;
             //Saul Gonzalez 09/03/2021: Establece el tiempo para destruir la sesion si no se realiza alguna peticion
             //Session.Timeout = 0;
         }
     }
     catch (Exception error)
     {
         return(Json(new { status = false, mensaje = error.Message }));
     }
     return(Json(new { status = true, mensaje = "Inicio de sesion exitoso" }));
 }
예제 #14
0
        public int Excluir(Tb_Usuario objTabela)
        {
            Conexao    con    = new Conexao();
            SqlCommand cmd    = new SqlCommand();
            int        result = -1;

            if (objTabela.Id > 0)
            {
                cmd.CommandText = "Delete From usuarios where id = @codigo";
                cmd.Parameters.AddWithValue("@codigo", objTabela.Id);
            }

            try
            {
                cmd.Connection = con.Conectar();
                result         = cmd.ExecuteNonQuery();
                con.Desconectar();
            }
            catch (SqlException e)
            {
                Console.WriteLine(e);
            }
            return(result);
        }
예제 #15
0
        public Tb_Usuario PesquisaUsuarioLogin(Tb_Usuario objTabela)
        {
            Conexao    con = new Conexao();
            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = "Select * From usuarios where usuario=@usuario and senha=@senha";

            cmd.Parameters.AddWithValue("@usuario", objTabela.Usuario);
            cmd.Parameters.AddWithValue("@senha", objTabela.Senha);

            Tb_Usuario    u = null;
            SqlDataReader dr;

            try
            {
                cmd.Connection = con.Conectar();
                dr             = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    if (dr.Read())
                    {
                        u         = new Tb_Usuario();
                        u.Id      = Convert.ToInt32(dr["id"]);
                        u.Nome    = Convert.ToString(dr["nome"]);
                        u.Usuario = Convert.ToString(dr["usuario"]);
                        u.Senha   = Convert.ToString(dr["senha"]);
                    }
                }
                con.Desconectar();
            }
            catch (SqlException e)
            {
                Console.WriteLine(e);
            }
            return(u);
        }
예제 #16
0
 public frmCadUsuario()
 {
     InitializeComponent();
     objTabela = new Tb_Usuario();
 }
예제 #17
0
 public static int Inserir(Tb_Usuario objTabela)
 {
     return(new UsuarioDAO().Insere_Altera(objTabela));
 }
예제 #18
0
 public Tb_Usuario Login(Tb_Usuario objTabela)
 {
     return(new UsuarioDAO().PesquisaUsuarioLogin(objTabela));
 }
예제 #19
0
 public static int Excluir(Tb_Usuario objTabela)
 {
     return(new UsuarioDAO().Excluir(objTabela));
 }
예제 #20
0
        public JsonResult EnviarCorreoDeRecuperacion(string CorreoElectronico)
        {
            try
            {
                //Saul González 23/04/2021: Validaciones de campos nulos
                if (String.IsNullOrEmpty(CorreoElectronico))
                {
                    return(Json(new { status = false, mensaje = "El correo electrónico no puede estar vacío" }));
                }
                if (!ValidarEmail(CorreoElectronico))
                {
                    return(Json(new { status = false, mensaje = "El correo electrónico que ingreso no tiene un formato valido" }));
                }
                //Saul Gonzalez 23/04/2021: Consultamos si existe el usuario segun el correo y contraseña
                Tb_Usuario Usuario = db.Tb_Usuario.Where(y => y.CorreoElectronico.Equals(CorreoElectronico)).FirstOrDefault();
                if (Usuario == null)
                {
                    return(Json(new { status = false, mensaje = "El correo electrónico que ingreso no se encuentra registrado." }));
                }
                else
                {
                    WebClient cliente = new WebClient();
                    //Saul Gonzalez 23/04/2021: Leemos la plantilla HTML de recuperación
                    string PlantillaRecuperacion = cliente.DownloadString(@"C:\Plantillas\RecuperacionControlDePagos.html");
                    //Saul Gonzalez 23/04/2021: Remplazamos la cadena en el correo para que muestre el nombre del usuario
                    var PlantillaRemplazada = PlantillaRecuperacion.Replace("{Nombre}", Usuario.Nombre.ToString());
                    //Saul Gonzalez: 23/04/2021: Generamos una contraseña aleatoria
                    Random rdn        = new Random();
                    string caracteres = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890$#@";
                    int    longitud   = caracteres.Length;
                    char   letra;
                    int    longitudContrasenia  = 8;
                    string contraseniaAleatoria = string.Empty;
                    for (int i = 0; i < longitudContrasenia; i++)
                    {
                        letra = caracteres[rdn.Next(longitud)];
                        contraseniaAleatoria += letra.ToString();
                    }
                    //Saul Gonzalez 23/04/2021: Remplazamos la cadena de la contraseña en el correo para que muestre la nueva contraseña generada
                    PlantillaRemplazada = PlantillaRemplazada.Replace("{ContraseñaTemp}", contraseniaAleatoria.ToString());

                    //Saul Gonzalez 23/04/2021: Cambiamos la contraseña al usuario
                    Usuario.Contraseña = contraseniaAleatoria;
                    db.Tb_Usuario.Attach(Usuario);
                    db.Entry(Usuario).State = EntityState.Modified;
                    db.SaveChanges();

                    //Datos del correo como destinatario, cuerpo, asunto.
                    MailMessage msg = new MailMessage();
                    msg.From = new MailAddress("*****@*****.**");
                    msg.To.Add(CorreoElectronico);
                    msg.Subject    = "Control de pagos 3R: Recuperación de contraseña";
                    msg.Body       = PlantillaRemplazada;
                    msg.IsBodyHtml = true;
                    //msg.Priority = MailPriority.High;

                    //Configuración y credenciales del correo origen, es decir desde este correo se mandara el mensaje de recuperación
                    using (SmtpClient client = new SmtpClient())
                    {
                        client.EnableSsl             = true;
                        client.UseDefaultCredentials = false;
                        client.Credentials           = new NetworkCredential("*****@*****.**", "WYVmW@z6");
                        client.Host           = "smtp.hostinger.mx";
                        client.Port           = 587;
                        client.DeliveryMethod = SmtpDeliveryMethod.Network;
                        //Enviamos el correo
                        client.Send(msg);
                    }
                }
            }
            catch (Exception error)
            {
                return(Json(new { status = false, mensaje = error.Message }));
            }
            return(Json(new { status = true, mensaje = "Se envió una contraseña temporal a: " + CorreoElectronico }));
        }