コード例 #1
0
        public PersonaE getPersonaEmpresa(Object[] parametros)
        {
            Mensaje       mensaje;
            PersonaE      result        = new PersonaE();
            AccesoDatos   acceso        = new AccesoDatos();
            SqlDataReader sqlDataReader = acceso.GetDataReader(out mensaje, parametros, "prPersona2");

            while (sqlDataReader.Read())
            {
                if (mensaje.Titulo == null)
                {
                    if (sqlDataReader.HasRows)
                    {
                        result = new PersonaE()
                        {
                            Id_Empresa = sqlDataReader.GetInt64(sqlDataReader.GetOrdinal("Id_Empresa"))
                        };
                    }
                }
            }

            if (sqlDataReader.IsClosed == false)
            {
                sqlDataReader.Close();
            }

            sqlDataReader = null;
            acceso.Desconectar();
            return(result);
        }
コード例 #2
0
        public PersonaE DeletePersona([FromBody]  PersonaE Persona)
        {
            PersonaE     result        = null;
            PermisoE     resultPermiso = null;
            SqlParameter _limpiar      = new SqlParameter("@Accion", "LIMPIAR");
            SqlParameter _idpersona    = new SqlParameter("@Id_Persona", Persona.Id);

            Object[] Objeto1 = new Object[]
            {
                _limpiar,
                _idpersona
            };

            resultPermiso = PermisoN.DeletePermiso(Objeto1);
            if (resultPermiso.Mensaje.Titulo == "")
            {
                SqlParameter _accion = new SqlParameter("@Accion", "ELIMINAR");
                SqlParameter _id     = new SqlParameter("@Id", Persona.Id);

                Object[] Objeto = new Object[]
                {
                    _accion,
                    _id
                };

                result = PersonaN.DeletePersona(Objeto);
            }

            return(result);
        }
コード例 #3
0
        public PersonaE ChangedPassword(Object[] parametros)
        {
            PersonaE result = new PersonaE();
            Mensaje  mensaje;

            AccesoDatos   acceso        = new AccesoDatos();
            SqlDataReader sqlDataReader = acceso.GetDataReader(out mensaje, parametros, "prPersona2");

            if (mensaje.Titulo == null)
            {
                if (sqlDataReader.HasRows)
                {
                    while (sqlDataReader.Read())
                    {
                        result = new PersonaE()
                        {
                            Mensaje = new Mensaje()
                            {
                                Titulo = sqlDataReader.GetString(sqlDataReader.GetOrdinal("MENSAJEERROR")),
                                Id     = sqlDataReader.GetInt64(sqlDataReader.GetOrdinal("IDERROR"))
                            }
                        };
                    }
                    ;
                }
            }
            sqlDataReader.Close();
            sqlDataReader = null;
            acceso.Desconectar();
            return(result);
        }
コード例 #4
0
        /// <summary>
        /// Valida la autenticación del usuario
        /// </summary>
        /// <param name="parametros"></param>
        /// <param name="procedimiento"></param>
        /// <returns></returns>



        public List <EmpresaE> Empresas(Object[] parametros)
        {
            PersonaE result = new PersonaE();

            result.Empresas = new List <EmpresaE>();
            Mensaje mensaje;

            AccesoDatos   acceso        = new AccesoDatos();
            SqlDataReader sqlDataReader = acceso.GetDataReader(out mensaje, parametros, "prPersona2");

            if (mensaje.Titulo == null)
            {
                if (sqlDataReader.HasRows)
                {
                    while (sqlDataReader.Read())
                    {
                        result.Empresas.Add(new EmpresaE()
                        {
                            Id          = sqlDataReader.GetInt64(sqlDataReader.GetOrdinal("Id")),
                            RazonSocial = sqlDataReader.GetString(sqlDataReader.GetOrdinal("RazonSocial"))
                        });
                    }
                }
            }
            sqlDataReader.Close();
            sqlDataReader = null;

            acceso.Desconectar();

            return(result.Empresas);
        }
コード例 #5
0
        public PersonaE VerificarUsuario(Object[] parametros)
        {
            Mensaje       mensaje;
            PersonaE      result        = new PersonaE();
            AccesoDatos   acceso        = new AccesoDatos();
            SqlDataReader sqlDataReader = acceso.GetDataReader(out mensaje, parametros, "prPersona2");

            while (sqlDataReader.Read())
            {
                if (mensaje.Titulo == null)
                {
                    if (sqlDataReader.HasRows)
                    {
                        result = new PersonaE()
                        {
                            Usuario = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Usuario")),
                        };
                    }
                }
            }

            if (sqlDataReader.IsClosed == false)
            {
                sqlDataReader.Close();
            }

            sqlDataReader = null;
            acceso.Desconectar();
            return(result);
        }
コード例 #6
0
        public PersonaE ValidarUsuario(Object[] parametros)
        {
            // AppUserAuth ret = new AppUserAuth();
            PersonaE result = new PersonaE();

            Mensaje mensaje;

            AccesoDatos   acceso        = new AccesoDatos();
            SqlDataReader sqlDataReader = acceso.GetDataReader(out mensaje, parametros, "prPersona2");

            if (mensaje.Titulo == null)
            {
                if (sqlDataReader.HasRows)
                {
                    while (sqlDataReader.Read())
                    {
                        if (sqlDataReader.GetString(sqlDataReader.GetOrdinal("MensajeError")) == "")
                        {
                            result = new PersonaE()
                            {
                                Mensaje    = new Mensaje(sqlDataReader.GetInt32(sqlDataReader.GetOrdinal("IdError")), "Validando Usuario", sqlDataReader.GetString(sqlDataReader.GetOrdinal("MensajeError")), "Validando"),
                                Id         = sqlDataReader.GetInt64(sqlDataReader.GetOrdinal("Id")),
                                Id_Empresa = sqlDataReader.GetInt64(sqlDataReader.GetOrdinal("Id_empresa")),
                                Usuario    = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Usuario")),
                                Email      = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Email")),
                                Nombre     = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Nombre")),
                                Apellido   = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Apellido")),
                                Clave      = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Clave")),
                            };
                        }
                        else
                        {
                            result = new PersonaE()
                            {
                                Mensaje = new Mensaje(sqlDataReader.GetInt64(sqlDataReader.GetOrdinal("IdError")), "Validando Usuario", sqlDataReader.GetString(sqlDataReader.GetOrdinal("MensajeError")), "Validando"),
                            };
                        }
                    }
                }
            }
            else
            {
                result = new PersonaE()
                {
                    Mensaje = new Mensaje(sqlDataReader.GetInt32(sqlDataReader.GetOrdinal("IdError")), "Validando Usuario", sqlDataReader.GetString(sqlDataReader.GetOrdinal("MensajeError")), "Validando Usuario", TipoMensaje.Error),
                };
            }

            if (result.Usuario != null)
            {
                result = BuildUserAuthObject(result);
            }

            sqlDataReader.Close();
            sqlDataReader = null;

            acceso.Desconectar();

            return(result);
        }
コード例 #7
0
        protected PersonaE BuildUserAuthObject(PersonaE authUser)
        {
            authUser.IsAuthenticated = true;
            authUser.Permisos        = Permiso(authUser);


            authUser.BearerToken = BuildJwtToken(authUser);



            return(authUser);
        }
コード例 #8
0
        public PersonaE VerificarUsuario([FromBody]  PersonaE Persona)
        {
            PersonaE     result  = null;
            SqlParameter _accion = new SqlParameter("@Accion", "USUREP");
            SqlParameter _usu    = new SqlParameter("@Usuario", Persona.Usuario);

            Object[] Objeto = new Object[]
            {
                _accion,
                _usu
            };

            result = PersonaN.verificarUsuario(Objeto);
            return(result);
        }
コード例 #9
0
        public PersonaE GetPersona([FromBody]  PersonaE Persona)
        {
            PersonaE     result  = null;
            SqlParameter _accion = new SqlParameter("@Accion", "GETPERSONA");
            SqlParameter _id     = new SqlParameter("@Id", Persona.Id);

            Object[] Objeto = new Object[]
            {
                _accion,
                _id
            };

            result = PersonaN.GetPersona(Objeto);
            return(result);
        }
コード例 #10
0
        public PersonaE verificarEmail([FromBody]  PersonaE Persona)
        {
            PersonaE     result  = null;
            SqlParameter _accion = new SqlParameter("@Accion", "EMAILREG");
            SqlParameter _usu    = new SqlParameter("@Email", Persona.Email);

            Object[] Objeto = new Object[]
            {
                _accion,
                _usu
            };

            result = PersonaN.verificarEmail(Objeto);
            return(result);
        }
コード例 #11
0
        public PersonaE getPersonaEmpresa([FromBody]  PersonaE persona)
        {
            PersonaE     result  = null;
            SqlParameter _accion = new SqlParameter("@Accion", "GETIDPEREMPRESA");
            SqlParameter _id     = new SqlParameter("@Id", persona.Id);

            Object[] Objeto = new Object[]
            {
                _accion,
                _id
            };

            result = PersonaN.getPersonaEmpresa(Objeto);
            return(result);
        }
コード例 #12
0
        public PersonaE ChangedPassword([FromBody]  PersonaE Persona)
        {
            PersonaE     result  = null;
            SqlParameter _accion = new SqlParameter("@Accion", "CHANGEDPASS");
            SqlParameter _id     = new SqlParameter("@Id", Persona.Id);
            SqlParameter _clave  = new SqlParameter("@Clave", PersonaN.CreateMD5(Persona.Clave));

            Object[] Objeto = new Object[]
            {
                _accion,
                _id,
                _clave
            };

            result = PersonaN.ChangedPassword(Objeto);
            return(result);
        }
コード例 #13
0
        protected string BuildJwtToken(PersonaE authUser)
        {
            SymmetricSecurityKey key = new SymmetricSecurityKey(
                Encoding.UTF8.GetBytes(_settings.Key));

            List <Claim> jwtClaims = new List <Claim>();

            /*jwtClaims.Add(new Claim(JwtRegisteredClaimNames.Sub,
             *  authUser.Usuario));*/
            jwtClaims.Add(new Claim("IdUsuario", authUser.Id.ToString()));
            jwtClaims.Add(new Claim("NombreUsuario", authUser.Nombre + " " + authUser.Apellido));
            jwtClaims.Add(new Claim("IdEmpresa", authUser.Id_Empresa.ToString()));
            jwtClaims.Add(new Claim("ClaveInsegura", authUser.Clave));
            jwtClaims.Add(new Claim(JwtRegisteredClaimNames.Jti,
                                    Guid.NewGuid().ToString()));

            jwtClaims.Add(new Claim("isAuthenticated",
                                    authUser.IsAuthenticated.ToString().ToLower()));

            /* foreach (var claim in authUser.Permisos)
             * {
             *
             *   jwtClaims.Add(new Claim(claim.Formulario, claim.Proceso));
             * }
             */
            foreach (Permisos item in authUser.Permisos)
            {
                jwtClaims.Add(new Claim(item.Formulario + "-" + item.Proceso, item.Id.ToString()));
            }

            var token = new JwtSecurityToken(
                issuer: _settings.Issuer,
                audience: _settings.Audience,
                claims: jwtClaims,
                notBefore: DateTime.UtcNow,
                expires: DateTime.UtcNow.AddMinutes(
                    _settings.MinutesToExpiration),
                signingCredentials: new SigningCredentials(key,
                                                           SecurityAlgorithms.HmacSha256)
                );

            return(new JwtSecurityTokenHandler().WriteToken(token));
        }
コード例 #14
0
        public PersonaE GetPersona(Object[] parametros)
        {
            Mensaje       mensaje;
            PersonaE      result        = new PersonaE();
            AccesoDatos   acceso        = new AccesoDatos();
            SqlDataReader sqlDataReader = acceso.GetDataReader(out mensaje, parametros, "prPersona2");

            while (sqlDataReader.Read())
            {
                if (mensaje.Titulo == null)
                {
                    if (sqlDataReader.HasRows)
                    {
                        result = new PersonaE()
                        {
                            Id                = sqlDataReader.GetInt64(sqlDataReader.GetOrdinal("Id")),
                            Nombre            = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Nombre")),
                            Apellido          = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Apellido")),
                            Usuario           = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Usuario")),
                            Id_Identificacion = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Id_Identificacion")),
                            Identificacion    = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Identificacion")),
                            Id_Empresa        = sqlDataReader.GetInt64(sqlDataReader.GetOrdinal("Id_Empresa")),
                            Direccion         = String.IsNullOrEmpty(sqlDataReader["Direccion"].ToString()) ? " " : (String)sqlDataReader["Direccion"],
                            Telefono          = String.IsNullOrEmpty(sqlDataReader["Telefono"].ToString()) ? " " : (String)sqlDataReader["Telefono"],
                            Cargo             = String.IsNullOrEmpty(sqlDataReader["Cargo"].ToString()) ? " " : (String)sqlDataReader["Cargo"],
                            Email             = String.IsNullOrEmpty(sqlDataReader["Email"].ToString()) ? " " : (String)sqlDataReader["Email"],
                            Estado            = (Boolean)sqlDataReader["Estado"],
                        };
                    }
                }
            }

            if (sqlDataReader.IsClosed == false)
            {
                sqlDataReader.Close();
            }

            sqlDataReader = null;
            acceso.Desconectar();
            return(result);
        }
コード例 #15
0
        public PersonaE InsertPersona([FromBody]  PersonaE Persona)
        {
            PersonaE result = new PersonaE();


            result = PersonaN.SetPersona(new Object[] {
                new SqlParameter("@Accion", "INGRESAR"),
                new SqlParameter("@Nombre", Persona.Nombre),
                new SqlParameter("@Apellido", Persona.Apellido),
                new SqlParameter("@Id_Identificacion", Persona.Id_Identificacion),
                new SqlParameter("@Identificacion", Persona.Identificacion),
                new SqlParameter("@Id_Empresa", Persona.Id_Empresa),
                new SqlParameter("@Direccion", Persona.Direccion),
                new SqlParameter("@Telefono", Persona.Telefono),
                new SqlParameter("@Email", Persona.Email),
                new SqlParameter("@Cargo", Persona.Cargo),
                new SqlParameter("@Usuario", Persona.Usuario),
                new SqlParameter("@Clave", PersonaN.CreateMD5(Persona.Clave)),
                new SqlParameter("@Estado", Persona.Estado),
            });
            return(result);
        }
コード例 #16
0
        public List <Permisos> Permiso(PersonaE authUser)
        {
            Object[] parametros = (new Object[] {
                new SqlParameter("@Accion", "Permisos"),
                new SqlParameter("@Id", authUser.Id)
            });
            PersonaE result = new PersonaE();

            result.Permisos = new List <Permisos>();
            Mensaje mensaje;

            AccesoDatos   acceso        = new AccesoDatos();
            SqlDataReader sqlDataReader = acceso.GetDataReader(out mensaje, parametros, "prPersona2");

            if (mensaje.Titulo == null)
            {
                if (sqlDataReader.HasRows)
                {
                    while (sqlDataReader.Read())
                    {
                        result.Permisos.Add(new Permisos()
                        {
                            Id           = sqlDataReader.GetInt64(sqlDataReader.GetOrdinal("Id")),
                            Proceso      = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Proceso")),
                            Formulario   = sqlDataReader.GetString(sqlDataReader.GetOrdinal("Formulario")),
                            Seleccionado = sqlDataReader.GetBoolean(sqlDataReader.GetOrdinal("Seleccionado")),
                        });
                    }
                }
            }
            sqlDataReader.Close();
            sqlDataReader = null;

            acceso.Desconectar();

            return(result.Permisos);
        }
コード例 #17
0
        public IActionResult ValidarUsuario([FromBody] PersonaE user)
        {// puede tener diferentes retornos
            IActionResult ret  = null;
            PersonaE      auth = new PersonaE();


            auth = PersonaN.ValidarUsuario(new Object[] {
                new SqlParameter("@Accion", "ValidarUsuario"),
                new SqlParameter("@Usuario", user.Usuario),
                new SqlParameter("@Clave", PersonaN.CreateMD5(user.Clave))
            }, _settings);

            /*
             * if (auth.IsAuthenticated)
             * {
             *  ret = StatusCode(200, auth);
             * }
             * else
             * {
             *  ret = StatusCode(404, "Invalid User Name/Password.");
             * }
             */



            if (auth.Mensaje.Cuerpo == "")
            {
                string usuariomd5 = PersonaN.CreateMD5(auth.Usuario);
                if (usuariomd5 == auth.Clave)
                {
                    auth.Clave = "cambiarclave";
                }
                else
                {
                    auth.Clave = "";
                }

                Permisos permisoEmpresas = (from x in auth.Permisos where x.Formulario == "Empresa" && x.Proceso == "Ver Lista" && x.Seleccionado == true select x).FirstOrDefault <Permisos>();

                // es para saber si puede ver todas las empresas que estan disponibles
                if (permisoEmpresas != null)
                {
                    auth.Empresas = EmpresaN.GetEmpresaLista(new Object[] {
                        new SqlParameter("@Accion", "GETALLLIST")
                    });
                }
                // solo puede ver su empresa(tabla empresapersona vacia)

                /* else
                 * {
                 *   result.Empresas = PersonaN.Empresas(new Object[] {
                 *   new SqlParameter("@Accion","Empresas"),
                 *   new SqlParameter("@Id",IdPersona)
                 *
                 *    });
                 * }
                 */
                //result = nombres,apellidos,email, lista de empresas o solo una empresa, id, id_empresa, usuario,lista permisos
                return(Ok(new
                {
                    token = auth.BearerToken,
                    mensaje = new Mensaje {
                        Titulo = ""
                    }
                }));
            }
            else
            {
                // no esta registrado
                return(Ok(auth));
            }
        }