Exemplo n.º 1
0
        public static string RecalcularDV(BE.Usuario _usuario)
        {
            Bitacora _bitacoraBll = new Bitacora();

            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*/

                long dvv = 0;
                /* CALCULO Y COMPARO DVH DE CADA REGISTRO DE LA TABLA VERIFICADA */
                foreach (DataRow fila in tabla.Rows)
                {
                    string identificador = "";
                    long   dvh           = 0;

                    foreach (DataColumn col in tabla.Columns)
                    {
                        long sumador = 0;
                        if (col.ColumnName == "id" || col.ColumnName == "legajo")
                        {
                            identificador = col.ColumnName;
                        }

                        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;
                        }
                    }
                    dvv += dvh;

                    _DVDAL.ActualizarDVH(dvh, digito.nombreTabla, identificador, fila[identificador].ToString());
                }

                _DVDAL.ActualizarDVV(dvv, digito.nombreTabla);
            }

            string descripcion_bitacora = $@"Se reestablecio la integridad del sistema";

            _bitacoraBll.RegistrarBitacora(_usuario, descripcion_bitacora, 1);

            return(descripcion_bitacora);
        }
Exemplo n.º 2
0
        public static int CalcularDVV(string entidad)
        {
            DAL.DigitoVerificador digVerificador_DAL = new DAL.DigitoVerificador();

            int sumaDVH;

            sumaDVH = digVerificador_DAL.ObtenerSumaDVH(entidad);

            if (sumaDVH > -1)
            {
                return(digVerificador_DAL.ActualizarDVV(entidad, sumaDVH));
            }
            else
            {
                throw new NotImplementedException();
            }
        }
Exemplo n.º 3
0
        private static List <string> VerificarIntegridadUsuario()
        {
            List <string>     ErrorIntegridad_Usuario = new List <string>();
            List <BE.Usuario> listUsu_BE = new List <BE.Usuario>();

            BLL.Usuario usu_BLL = new Usuario();
            listUsu_BE = usu_BLL.SelectAll();

            foreach (BE.Usuario item in listUsu_BE)
            {
                string cadenaDVH    = item.activo.ToString() + item.nom_usuario + item.nombre + item.apellido + item.documento.ToString() + item.domicilio + item.telefono + item.email + item.contraseña + item.cant_ingresos_incorrectos.ToString() + item.es_primer_login.ToString() + item.id_idioma.ToString();
                int    DVHCalculado = UTILITIES.DigitoVerificador.ObtenerDVH(cadenaDVH);
                if (item.DVH == DVHCalculado)
                {
                    Console.WriteLine("DVH correcto");
                }
                else
                {
                    string str = "USUARIO - Inconsistencia en la entidad Usuario en el registro numero (ID): " + item.id;
                    ErrorIntegridad_Usuario.Add(str);
                }
            }

            DAL.DigitoVerificador digitoVerificador_DAL = new DAL.DigitoVerificador();
            int DVVCalculado = digitoVerificador_DAL.ObtenerSumaDVH("Usuario");

            if (DVVCalculado == GetDVV("Usuario"))
            {
                Console.WriteLine("DVV correcto");
            }
            else
            {
                string str = "Inconsistencia en la entidad Usuario al calcular el DVV";
                ErrorIntegridad_Usuario.Add(str);
            }

            return(ErrorIntegridad_Usuario);
        }
Exemplo n.º 4
0
        private static List <string> VerificarIntegridadUsuarioPatente()
        {
            List <string>            ErrorIntegridad_UsuPat = new List <string>();
            List <BE.UsuarioPatente> listUsuPat_BE          = new List <BE.UsuarioPatente>();

            BLL.UsuarioPatente usuPat_BLL = new UsuarioPatente();
            listUsuPat_BE = usuPat_BLL.SelectAll();

            foreach (BE.UsuarioPatente item in listUsuPat_BE)
            {
                string cadenaDVH    = item.id_patente.ToString() + item.id_usuario.ToString() + item.patenteNegada.ToString();
                int    DVHCalculado = UTILITIES.DigitoVerificador.ObtenerDVH(cadenaDVH);
                if (item.DVH == DVHCalculado)
                {
                    Console.WriteLine("DVH correcto");
                }
                else
                {
                    string str = "UsuarioPatente - Inconsistencia en la entidad UsuarioPatente en el registro numero (ID): " + item.id_patente + " - " + item.id_usuario;
                    ErrorIntegridad_UsuPat.Add(str);
                }
            }

            DAL.DigitoVerificador digitoVerificador_DAL = new DAL.DigitoVerificador();
            int DVVCalculado = digitoVerificador_DAL.ObtenerSumaDVH("UsuarioPatente");

            if (DVVCalculado == GetDVV("UsuarioPatente"))
            {
                Console.WriteLine("DVV correcto");
            }
            else
            {
                string str = "Inconsistencia en la entidad UsuarioPatente al calcular el DVV";
                ErrorIntegridad_UsuPat.Add(str);
            }

            return(ErrorIntegridad_UsuPat);
        }
Exemplo n.º 5
0
        private static List <string> VerificarIntegridadReserva()
        {
            List <string>     ErrorIntegridad_Reserva = new List <string>();
            List <BE.Reserva> listReserva_BE          = new List <BE.Reserva>();

            BLL.Reserva reserva_BLL = new Reserva();
            listReserva_BE = reserva_BLL.SelectAll();

            foreach (BE.Reserva item in listReserva_BE)
            {
                string cadenaDVH    = item.id_usuario.ToString() + item.id_cliente.ToString() + item.id_habitacion.ToString() + item.activo.ToString() + item.fecha_ingreso.ToString() + item.fecha_salida.ToString();
                int    DVHCalculado = UTILITIES.DigitoVerificador.ObtenerDVH(cadenaDVH);
                if (item.DVH == DVHCalculado)
                {
                    Console.WriteLine("DVH correcto");
                }
                else
                {
                    string str = "Reserva - Inconsistencia en la entidad Reserva en el registro numero (ID): " + item.id_reserva;
                    ErrorIntegridad_Reserva.Add(str);
                }
            }

            DAL.DigitoVerificador digitoVerificador_DAL = new DAL.DigitoVerificador();
            int DVVCalculado = digitoVerificador_DAL.ObtenerSumaDVH("Reserva");

            if (DVVCalculado == GetDVV("Reserva"))
            {
                Console.WriteLine("DVV correcto");
            }
            else
            {
                string str = "Inconsistencia en la entidad Reserva al calcular el DVV";
                ErrorIntegridad_Reserva.Add(str);
            }

            return(ErrorIntegridad_Reserva);
        }
Exemplo n.º 6
0
        private static List <string> VerificarIntegridadCliente()
        {
            List <string>     ErrorIntegridad_Cliente = new List <string>();
            List <BE.Cliente> listCliente_BE          = new List <BE.Cliente>();

            BLL.Cliente cliente_BLL = new Cliente();
            listCliente_BE = cliente_BLL.SelectAll();

            foreach (BE.Cliente item in listCliente_BE)
            {
                string cadenaDVH    = item.activo.ToString() + item.nombre.ToString() + item.apellido.ToString() + item.documento.ToString() + item.telefono.ToString() + item.email.ToString();
                int    DVHCalculado = UTILITIES.DigitoVerificador.ObtenerDVH(cadenaDVH);
                if (item.DVH == DVHCalculado)
                {
                    Console.WriteLine("DVH correcto");
                }
                else
                {
                    string str = "Cliente - Inconsistencia en la entidad Cliente en el registro numero (ID): " + item.id_cliente;
                    ErrorIntegridad_Cliente.Add(str);
                }
            }

            DAL.DigitoVerificador digitoVerificador_DAL = new DAL.DigitoVerificador();
            int DVVCalculado = digitoVerificador_DAL.ObtenerSumaDVH("Cliente");

            if (DVVCalculado == GetDVV("Cliente"))
            {
                Console.WriteLine("DVV correcto");
            }
            else
            {
                string str = "Inconsistencia en la entidad Cliente al calcular el DVV";
                ErrorIntegridad_Cliente.Add(str);
            }

            return(ErrorIntegridad_Cliente);
        }
Exemplo n.º 7
0
        private static List <string> VerificarIntegridadBitacora()
        {
            List <string>      ErrorIntegridad_Bitacora = new List <string>();
            List <BE.Bitacora> listBitacora_BE          = new List <BE.Bitacora>();

            BLL.Bitacora.BAJA bitacora_BLL = new Bitacora.BAJA();
            listBitacora_BE = bitacora_BLL.SelectAll();

            foreach (BE.Bitacora item in listBitacora_BE)
            {
                string cadenaDVH    = item.id_usuario.ToString() + item.nombre_usuario.ToString() + item.fecha.ToString("yyyy-MM-dd HH:mm:ss") + item.criticidad.ToString() + item.descripcion.ToString();
                int    DVHCalculado = UTILITIES.DigitoVerificador.ObtenerDVH(cadenaDVH);
                if (item.DVH == DVHCalculado)
                {
                    Console.WriteLine("DVH correcto");
                }
                else
                {
                    string str = "BITACORA - Inconsistencia en la entidad Bitácora en el registro numero (ID): " + item.id_log;
                    ErrorIntegridad_Bitacora.Add(str);
                }
            }

            DAL.DigitoVerificador digitoVerificador_DAL = new DAL.DigitoVerificador();
            int DVVCalculado = digitoVerificador_DAL.ObtenerSumaDVH("Bitacora");

            if (DVVCalculado == GetDVV("Bitacora"))
            {
                Console.WriteLine("DVV correcto");
            }
            else
            {
                string str = "Inconsistencia en la entidad Bitacora al calcular el DVV";
                ErrorIntegridad_Bitacora.Add(str);
            }

            return(ErrorIntegridad_Bitacora);
        }
Exemplo n.º 8
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);
            }
        }
Exemplo n.º 9
0
        /*Para calcular el DV*/
        public static long CalcularDV(Object obj, string nTabla)
        {
            Type t = obj.GetType();

            PropertyInfo[] propiedades = t.GetProperties();

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

            DataTable tabla = _DVDAL.TraerTabla(nTabla);

            long dvh = 0;

            foreach (var prop in propiedades)
            {
                if (prop.Name != "id" && prop.Name != "legajo" && prop.Name != "dvh")
                {
                    if (!prop.PropertyType.IsGenericType)
                    {
                        if (prop.PropertyType.Assembly.FullName == t.Assembly.FullName)
                        {
                            var            subProp1       = prop.GetValue(obj);
                            PropertyInfo[] subpropiedades = subProp1.GetType().GetProperties();
                            foreach (var p in subpropiedades)
                            {
                                if (p.Name == "id" || p.Name == "legajo")
                                {
                                    if (p.GetValue(subProp1) != null)
                                    {
                                        string cadena       = p.GetValue(subProp1).ToString();
                                        var    cadena_ascii = ASCIIEncoding.ASCII.GetBytes(cadena);
                                        long   sumador      = 0;

                                        for (int i = 0; i < cadena_ascii.Length; i++)
                                        {
                                            sumador += long.Parse(cadena_ascii[i].ToString()) * (i + 1);
                                        }
                                        dvh += sumador;
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (prop.GetValue(obj) != null)
                            {
                                string cadena       = prop.GetValue(obj).ToString();
                                var    cadena_ascii = ASCIIEncoding.ASCII.GetBytes(cadena);
                                long   sumador      = 0;

                                for (int i = 0; i < cadena_ascii.Length; i++)
                                {
                                    sumador += long.Parse(cadena_ascii[i].ToString()) * (i + 1);
                                }
                                dvh += sumador;
                            }
                        }
                    }
                }
            }

            long sum     = 0;
            int  posProp = 0;

            for (int i = 0; i < propiedades.Length; i++)
            {
                if (propiedades[i].Name == "id" || propiedades[i].Name == "legajo")
                {
                    posProp = i;
                }
            }

            foreach (DataRow row in tabla.Rows)
            {
                if (propiedades[posProp].GetValue(obj) == null || (int)propiedades[posProp].GetValue(obj) == 0)
                {
                    sum += long.Parse(row["dvh"].ToString());
                }
            }

            long dvv = sum + dvh;

            _DVDAL.ActualizarDVV(dvv, nTabla);
            return(dvh);
        }
Exemplo n.º 10
0
 public static int GetDVV(string entidad)
 {
     DAL.DigitoVerificador DVV_DAL = new DAL.DigitoVerificador();
     return(DVV_DAL.GetDVV(entidad));
 }