Example #1
0
        public BE.Usuario Login(string usuario)
        {
            /* CIFRO EL USUARIO Y CONTRASEÑA */


            BE.Usuario user = _usuarioDal.GetUsuarioUser(usuario);

            if (user.usuario == null)
            {
                //Usuario o Contraseña incorrectos
                throw new Exception("Usuario o contraseña incorrectos");
            }
            else if (user.estado == 0)
            {
                //Usuario Inactivo
                throw new Exception("El usuario se encuentra inactivo");
            }

            return(user);
        }
Example #2
0
        public static int VerificarDV()
        {
            string nombre_usuario = Cifrado.Encriptar("SYSTEM", true);

            DAL.Usuario _usuarioDal  = new DAL.Usuario();
            Bitacora    _bitacoraBll = new Bitacora();

            try
            {
                BE.Usuario usr   = _usuarioDal.GetUsuarioUser(nombre_usuario);
                int        error = 0;

                DAL.DigitoVerificador _DVDAL = new DAL.DigitoVerificador();

                List <BE.DigitoVerificador> listaDvv = _DVDAL.TraerDVV();

                foreach (BE.DigitoVerificador digito in listaDvv)
                {
                    DataTable tabla = _DVDAL.TraerTabla(digito.nombreTabla);

                    /* CALCULO Y COMPARO DVV LA TABLA VERIFICADA CON EL ALMACENADO*/
                    if (tabla.Rows.Count != 0)
                    {
                        long resultado = 0;

                        foreach (DataRow r in tabla.Rows)
                        {
                            resultado += long.Parse(r["dvh"].ToString());
                        }

                        if (resultado != digito.valorDvv)
                        {
                            // registro en bitacora
                            string descripcion_bitacora = string.Format(@"Error de integridad: Digito Verificador Vertical de la tabla {0} 
                                                                no coincide. Calculado = {1} , Almacenado = {2}", digito.nombreTabla, resultado, digito.valorDvv);

                            _bitacoraBll.RegistrarBitacora(usr, descripcion_bitacora, 1, 0);
                            error = 1;
                        }
                        /* CALCULO Y COMPARO DVH DE CADA REGISTRO DE LA TABLA VERIFICADA */
                        foreach (DataRow fila in tabla.Rows)
                        {
                            long dvh = 0;

                            foreach (DataColumn col in tabla.Columns)
                            {
                                long sumador = 0;
                                if (col.ColumnName != "id" && col.ColumnName != "legajo" && col.ColumnName != "dvh")
                                {
                                    var cadena_ascii = ASCIIEncoding.ASCII.GetBytes(fila[col].ToString());
                                    for (int i = 0; i < cadena_ascii.Length; i++)
                                    {
                                        sumador += long.Parse(cadena_ascii[i].ToString()) * (i + 1);
                                    }
                                    dvh += sumador;
                                }
                            }

                            if (dvh != long.Parse(fila["dvh"].ToString()))
                            {
                                // registro en bitacora
                                string descripcion_bitacora = string.Format(@"Error de integridad: Digito Verificador Horizontal de la tabla {0} 
                                                                no coincide. Calculado = {1} , Almacenado = {2}", digito.nombreTabla, dvh, fila["dvh"].ToString());

                                _bitacoraBll.RegistrarBitacora(usr, descripcion_bitacora, 1, 0);
                                error = 1;
                            }
                        }
                    }
                    else
                    {
                        long resultado = 0;

                        if (resultado != digito.valorDvv)
                        {
                            // registro en bitacora
                            string descripcion_bitacora = string.Format(@"Error de integridad: Digito Verificador Vertical de la tabla {0} 
                                                                no coincide. Calculado = {1} , Almacenado = {2}", digito.nombreTabla, resultado, digito.valorDvv);

                            _bitacoraBll.RegistrarBitacora(usr, descripcion_bitacora, 1, 0);
                            error = 1;
                        }
                    }
                }

                return(error);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }