Example #1
0
        public int CrearUsuario(Usuario usuario)
        {
            int idGenerado = 0;

            string connectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();
            Engine engine           = new Engine(connectionString);

            StringBuilder comando = new StringBuilder();

            comando.Append("insert into usuarios ");
            comando.Append(" (nombres, apellido1, apellido2, usuario, telefono, email, usuarioAlta, fechaAlta) ");
            comando.Append(" values ");
            comando.Append(" ('" + usuario.Nombres + "','" + usuario.ApellidoPrimero + "','" + usuario.ApellidoSegundo + "','" + usuario.Login + "','" + usuario.Telefono + "','" + usuario.Email + "',1, NOW() ) ");

            int resultado = engine.Execute(comando.ToString());

            if (resultado > 0)
            {
                idGenerado = CommonService.GetLastIdFromTable("usuarios");
                CrearCredencialesUsuario(idGenerado, usuario.Password);
            }

            return(idGenerado);
        }
Example #2
0
        public Usuario GetUsuarioAutenticado(string login, string password)
        {
            Usuario resultado = new Usuario();

            resultado.Id = 0;

            string passwordHash = EncryptionService.MD5Hash(password);

            string connectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();
            Engine engine           = new Engine(connectionString);

            StringBuilder query = new StringBuilder();

            query.Append("select ");
            query.Append(" usuarios.id, usuarios.usuario, usuarios.nombres, usuarios.apellido1, usuarios.apellido2, usuarios.telefono, usuarios.email, usuarios.fechaBaja, usuarios.idperfilusuario  ");
            query.Append(" ,passwords.Password ");
            query.Append(" from usuarios ");
            query.Append(" inner join historicopasswords ");
            query.Append(" on usuarios.id = historicopasswords.idusuario ");
            query.Append(" inner join passwords ");
            query.Append(" on historicopasswords.id = passwords.idhistoricopassword ");
            query.Append(" where ");
            query.Append(" usuarios.Usuario = '" + login.ToLower().Trim() + "' ");

            DataTable table = engine.Query(query.ToString());

            if (table != null && table.Rows != null && table.Rows.Count > 0)
            {
                bool passwordVigente = false;
                foreach (DataRow fila in table.Rows)
                {
                    if (fila["fechabaja"].ToString().ToLower().Equals("") || fila["fechabaja"].ToString().ToLower().Equals("null"))
                    {
                        passwordVigente = true;

                        if (fila["Password"].ToString().Trim().Equals(passwordHash))
                        {
                            resultado.Id              = int.Parse(fila["Id"].ToString());
                            resultado.Nombres         = fila["Nombres"].ToString();
                            resultado.ApellidoPrimero = fila["Apellido1"].ToString();
                            resultado.ApellidoSegundo = fila["Apellido2"].ToString();
                            resultado.Login           = fila["Usuario"].ToString();
                            resultado.Email           = fila["Email"].ToString();
                            resultado.Telefono        = fila["Telefono"].ToString();

                            if (fila["idperfilusuario"].ToString().Equals(ConfigurationManager.AppSettings["idPerfilAdministrador"].ToString()))
                            {
                                resultado.PerfilKey = ConfigurationManager.AppSettings["adminKey"].ToString();
                            }

                            FotografiaService fotografiaService = new FotografiaService();
                            resultado.Fotografias = fotografiaService.ObtenerFotosUsuario(resultado.Id);

                            resultado.Token = CommonService.GenerarToken(resultado.Login, fila["idperfilusuario"].ToString());
                        }
                        else
                        {
                            resultado.IncidenciaUsuario = "Password incorrecto.";
                        }
                    }
                }

                if (!passwordVigente)
                {
                    resultado.IncidenciaUsuario = "La cuenta tiene contraseƱa caducada. Contactar con el administrador.";
                }
            }
            else
            {
                resultado.IncidenciaUsuario = "No se ha encontrado Usuario con ese nombre de login.";
            }

            return(resultado);
        }