Пример #1
0
    public int EliminarGrupo(Grupo grupo)
    {
        var grupoOBtenido = ObtenerGrupoBD(grupo.identificador);
        var nombreGrupo   = grupoOBtenido.nombre;

        DataTable beneficiosAsignados = baseDeDatos.ConsultarBase(String.Format("SELECT * FROM GRUPOBENEFICIO WHERE GRUPO_IDGRUPO = {0} AND PERIODOFIN = NULL", grupo.identificador));

        int periodoFin = Convert.ToInt32(DateTime.Now.ToString("yyyyMM"));

        foreach (DataRow beneficioAsignado in beneficiosAsignados.Rows)
        {
            var relacionAFinalizar = Convert.ToInt32(beneficioAsignado["idGrupoBeneficio"]);
            baseDeDatos.ModificarBase(String.Format("update grupobeneficio set periodoFin = {0} where idGrupoBeneficio = {1}", periodoFin, relacionAFinalizar));
        }

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se elimino el grupo " + grupo.identificador, criticidad = 1, funcionalidad = "ADMINISTRACION DE GRUPOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        nombreGrupo = GestorDeEncriptacion.EncriptarAes(nombreGrupo + " Eliminado el dia: " + DateTime.Now.ToString("yyyy-MM-dd"));
        var registros = baseDeDatos.ModificarBase(String.Format("UPDATE GRUPO SET habilitado = 0, nombre = '{0}' WHERE idGrupo = {1}", nombreGrupo, grupo.identificador));

        return(registros);
    }
Пример #2
0
    public int RealizarLogIn(Usuario usuario)
    {
        this.usuarioEnSesion = usuario;
        var     nombre       = usuario.nombreUsuario;
        Usuario usuarioLogin = GestorDeUsuarios.ObtenerInstancia().RealizarLogIn(usuario);

        if (usuarioLogin != null && usuarioLogin.cantidadDeIntentos >= 5)
        {
            var evento1 = new EventoBitacora()
            {
                fecha = DateTime.Now, descripcion = "Intento login usuario bloqueado " + nombre, criticidad = 1, funcionalidad = "LOGIN", usuario = null
            };
            GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento1);
            return(2);
        }
        else if (usuarioLogin == null || usuarioLogin.identificador == 0)
        {
            return(0);
        }
        else if (usuarioLogin.cantidadDeIntentos < 5)
        {
            GestorDeUsuarios.ObtenerInstancia().DesbloquearUsuario(usuarioLogin);
        }
        this.usuarioEnSesion = usuarioLogin;

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Login", criticidad = 3, funcionalidad = "LOGIN", usuario = ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);
        return(1);
    }
Пример #3
0
    public static int ModificarStringDeConexion(String stringDeConexion)
    {
        Benefix.Default.StringDeConexion = stringDeConexion;
        Benefix.Default.Save();
        try
        {
            instancia = new GestorSistema();
            BaseDeDatos.ObtenerInstancia().ConsultarBase("SELECT 1");
        }
        catch (Exception e)
        {
            EventoBitacora eventoo = new EventoBitacora()
            {
                fecha = DateTime.Now, descripcion = "Se modifico el String de conexión y fallo la conexion", criticidad = 1, funcionalidad = "MODIFICAR STRING DE CONEXION", usuario = null
            };
            GestorDeBitacora.ObtenerInstancia().RegistrarEvento(eventoo);
            throw new Exception("No fue posible acceder a la Base de datos ingresada, por favor verifique el String de Conexion.");
        }
        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se modifico el String de conexión correctamente", criticidad = 2, funcionalidad = "MODIFICAR STRING DE CONEXION", usuario = null
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);
        return(1);
    }
Пример #4
0
    public int EliminarUsuario(Usuario usuario)
    {
        var patentesDelUsuario = gestorDePatentes.ObtenerPatentesParaUnUsuario(usuario);

        patentesDelUsuario.AddRange(gestorDePatentes.ObtenerPatentesParaUnUsuarioPorFamilia(usuario));

        foreach (PatenteUsuario patente in patentesDelUsuario)
        {
            if (gestorDePatentes.VerificarPatenteEscencial(patente.patente, usuario, null, false) == 0)
            {
                throw new Exception(patente.patente.nombre);
            }
        }

        patentesDelUsuario.ForEach((patente) =>
        {
            gestorDePatentes.DesasignarAUnUsuario(usuario, patente.patente);
        });
        BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("update equipo set coordinador = null where coordinador = {0}", usuario.identificador));

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se elimino el usuario " + usuario.identificador, criticidad = 1, funcionalidad = "ADMINISTRACION DE USUARIOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        return(BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("UPDATE USUARIO SET habilitado = 0 WHERE idUsuario = {0}", usuario.identificador)));
    }
Пример #5
0
    public int CrearBeneficio(Beneficio beneficio)
    {
        var nombre = beneficio.nombre;

        beneficio.nombre = GestorDeEncriptacion.EncriptarAes(beneficio.nombre);
        var puntaje = GestorDeEncriptacion.EncriptarAes(beneficio.puntaje.ToString());

        if (BaseDeDatos.ObtenerInstancia().ConsultarBase(String.Format("SELECT * FROM BENEFICIO WHERE nombre = '{0}'", beneficio.nombre)).Rows.Count > 0)
        {
            throw new EntidadDuplicadaExcepcion("nombre");
        }


        var digitoVH  = ObtenerDigitoVerificadorHDeBeneficio(beneficio.nombre, puntaje);
        var registros = BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("INSERT INTO BENEFICIO (descripcion,nombre,puntaje,habilitado,digitoVerificadorH) VALUES ('{0}','{1}','{2}',1,'{3}')", beneficio.descripcion, beneficio.nombre, puntaje, digitoVH));

        gestorDeDigitoVerificador.ModificarDigitoVV("BENEFICIO");

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se creo el beneficio " + nombre, criticidad = 1, funcionalidad = "ADMINISTRACION DE BENEFICIOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        return(registros);
    }
Пример #6
0
    public int EliminarBeneficio(Beneficio beneficio)
    {
        var beneficioOBtenido = ObtenerBeneficioBD(beneficio.identificador);
        var nombreBeneficio   = beneficioOBtenido.nombre;
        var puntaje           = beneficioOBtenido.puntaje;


        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se elimino el beneficio " + beneficio.identificador, criticidad = 1, funcionalidad = "ADMINISTRACION DE BENEFICIOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);


        nombreBeneficio = GestorDeEncriptacion.EncriptarAes(nombreBeneficio + " Eliminado el dia: " + DateTime.Now.ToString("yyyy-MM-dd"));
        var puntajeEncriptado = GestorDeEncriptacion.EncriptarAes(puntaje.ToString());
        var digitoVH          = ObtenerDigitoVerificadorHDeBeneficio(nombreBeneficio, puntajeEncriptado);


        var registros = BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("UPDATE BENEFICIO SET habilitado = 0, nombre = '{0}', digitoVerificadorH = '{1}' WHERE idBeneficio = {2}", nombreBeneficio, digitoVH, beneficio.identificador));

        gestorDeDigitoVerificador.ModificarDigitoVV("BENEFICIO");

        return(registros);
    }
Пример #7
0
    public int ModificarEquipo(Equipo equipo)
    {
        Equipo equipoViejo = ObtenerEquipoBD(equipo.identificador);

        if (baseDeDatos.ConsultarBase(String.Format("SELECT * FROM EQUIPO WHERE nombre = '{0}'", equipo.nombre)).Rows.Count > 0)
        {
            throw new EntidadDuplicadaExcepcion("nombre");
        }

        String set = "";

        if (equipo.nombre != null && equipoViejo.nombre != equipo.nombre)
        {
            set = String.Format(" nombre = '{0}' ", equipo.nombre);
        }

        var registros = baseDeDatos.ModificarBase(String.Format("UPDATE EQUIPO SET {0} WHERE idEquipo = {1}", set, equipo.identificador));

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se modifico el equipo " + equipo.identificador, criticidad = 2, funcionalidad = "ADMINISTRACION DE EQUIPOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);
        return(registros);
    }
Пример #8
0
    public int EliminarEquipo(Equipo equipo)
    {
        var equipoOBtenido = ObtenerEquipoBD(equipo.identificador);
        var nombreEquipo   = equipoOBtenido.nombre;

        DataTable gruposAsignados = baseDeDatos.ConsultarBase(String.Format("SELECT * FROM equipogrupo WHERE Equipo_idEquipo = {0} AND PERIODOFIN = NULL", equipo.identificador));

        int periodoFin = Convert.ToInt32(DateTime.Now.ToString("yyyyMM"));

        foreach (DataRow grupoAsignado in gruposAsignados.Rows)
        {
            var relacionAFinalizar = Convert.ToInt32(grupoAsignado["idEquipoGrupo"]);
            baseDeDatos.ModificarBase(String.Format("update equipogrupo set periodoFin = {0} where idEquipoGrupo = {1}", periodoFin, relacionAFinalizar));
        }

        DataTable objetivosAsignados = baseDeDatos.ConsultarBase(String.Format("SELECT * FROM equipoobjetivo WHERE Equipo_idEquipo = {0} AND PERIODOFIN = NULL", equipo.identificador));

        foreach (DataRow objetivoAsignado in objetivosAsignados.Rows)
        {
            var relacionAFinalizar = Convert.ToInt32(objetivoAsignado["idEquipoObjetivo"]);
            baseDeDatos.ModificarBase(String.Format("update equipoobjetivo set periodoFin = {0} where idEquipoObjetivo = {1}", periodoFin, relacionAFinalizar));
        }

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se elimino el equipo " + equipo.identificador, criticidad = 1, funcionalidad = "ADMINISTRACION DE EQUIPOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        nombreEquipo = GestorDeEncriptacion.EncriptarAes(nombreEquipo + " Eliminado el dia: " + DateTime.Now.ToString("yyyy-MM-dd"));
        var registros = baseDeDatos.ModificarBase(String.Format("UPDATE EQUIPO SET habilitado = 0, nombre = '{0}' WHERE idEquipo = {1}", nombreEquipo, equipo.identificador));

        return(registros);
    }
Пример #9
0
    public static GestorDeBitacora ObtenerInstancia()
    {
        if (instancia == null)
        {
            instancia = new GestorDeBitacora();
        }

        return(instancia);
    }
Пример #10
0
    public int ModificarBeneficio(Beneficio beneficio)
    {
        Beneficio beneficioViejo = ObtenerBeneficioBD(beneficio.identificador);

        var nuevoNombreEncriptado = GestorDeEncriptacion.EncriptarAes(beneficio.nombre);
        var puntajeEncriptado     = GestorDeEncriptacion.EncriptarAes(beneficio.puntaje.ToString());

        if (BaseDeDatos.ObtenerInstancia().ConsultarBase(String.Format("SELECT * FROM BENEFICIO WHERE nombre = '{0}' and BENEFICIO.idBeneficio != {1}", nuevoNombreEncriptado, beneficio.identificador)).Rows.Count > 0)
        {
            throw new EntidadDuplicadaExcepcion("nombre");
        }

        String set = "";

        if (beneficio.nombre != null && beneficioViejo.nombre != beneficio.nombre)
        {
            set = String.Format(" nombre = '{0}' ", nuevoNombreEncriptado);
        }
        if (beneficio.descripcion != null && beneficioViejo.descripcion != beneficio.descripcion)
        {
            if (set.Length > 0)
            {
                set = set + " , ";
            }
            set = set + String.Format(" descripcion = '{0}' ", beneficio.descripcion);
        }

        if (beneficioViejo.puntaje != beneficio.puntaje)
        {
            if (set.Length > 0)
            {
                set = set + " , ";
            }
            set = set + String.Format(" puntaje = '{0}' ", puntajeEncriptado);
        }


        var digitoVH = ObtenerDigitoVerificadorHDeBeneficio(nuevoNombreEncriptado, puntajeEncriptado);

        if (set.Length > 0)
        {
            set = set + " , ";
        }
        set = set + String.Format(" digitoVerificadorH = '{0}' ", digitoVH);

        var registros = BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("UPDATE BENEFICIO SET {0} WHERE idBeneficio = {1}", set, beneficio.identificador));

        gestorDeDigitoVerificador.ModificarDigitoVV("BENEFICIO");

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se modifico el beneficio " + beneficio.identificador, criticidad = 2, funcionalidad = "ADMINISTRACION DE BENEFICIOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);
        return(registros);
    }
Пример #11
0
        private void confirmarButton_Click(object sender, EventArgs e)
        {
            var evento1 = new EventoBitacora()
            {
                fecha = DateTime.Now, descripcion = "Cierre de sesion", funcionalidad = "LOG OUT", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
            };

            GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento1);
            callback(true);
            this.MdiParent.Close();
        }
Пример #12
0
    public int RealizarRestore(String rutaOrigen)
    {
        try
        {
            DataTable rutaBackupDataTable = baseDeDatos.ConsultarBase("EXEC xp_instance_regread  N'HKEY_LOCAL_MACHINE', N'Software\\Microsoft\\MSSQLServer\\MSSQLServer',N'BackupDirectory'");
            var       rutaBackup          = "";
            foreach (DataRow row in rutaBackupDataTable.Rows)
            {
                rutaBackup = row["Data"].ToString();
            }

            using (ZipFile zipFile = new ZipFile(rutaOrigen))
            {
                rutaBackup = rutaBackup + "\\Backup-" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");
                zipFile.ExtractAll(rutaBackup);

                string[] zipFiles = Directory.GetFiles(rutaBackup, "*.zip*", SearchOption.AllDirectories);

                if (zipFiles.Length > 0)
                {
                    var zipFile2 = new ZipFile(zipFiles[0]);
                    zipFile2.ExtractAll(rutaBackup);
                }

                string[] backFiles = Directory.GetFiles(rutaBackup, "*.bak*", SearchOption.AllDirectories);

                if (backFiles.Length == 1)
                {
                    baseDeDatos.RealizarRestore(backFiles[0]);
                }
                else
                {
                    return(0);
                }
            }
        }
        catch (Exception e)
        {
            return(0);
        }


        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "El usuario " + GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion().nombreUsuario + " realiza la restauracion de la base de datos", criticidad = 1, funcionalidad = "REALIZAR RESTORE"
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        return(1);
    }
Пример #13
0
        private void desbloquearUsuarioButton_Click(object sender, EventArgs e)
        {
            gestorDeUsuarios.DesbloquearUsuario(new Usuario()
            {
                identificador = usuarioSeleccionado
            });
            MessageBox.Show(Genesis.Recursos_localizables.StringResources.DesbloquearUsuarioLabel);

            var evento1 = new EventoBitacora()
            {
                fecha = DateTime.Now, descripcion = "Se debloquea el usuario " + usuarioSeleccionado, criticidad = 1, funcionalidad = "ADMINISTACION DE USUARIOS", usuario = null
            };

            GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento1);
        }
Пример #14
0
        private void ConsultarBitacora_Load(object sender, EventArgs e)
        {
            exportarPdfButton.Enabled = false;
            gestorDeBitacora          = GestorDeBitacora.ObtenerInstancia();
            gestorDeUsuarios          = GestorDeUsuarios.ObtenerInstancia();

            List <Usuario> usuarios = new List <Usuario>();

            usuarios.Add(new Usuario {
                nombreUsuario = "TODOS", identificador = 0
            });
            usuarios.AddRange(gestorDeUsuarios.ConsultarUsuariosTodos());

            usuarioBox.DataSource    = usuarios;
            usuarioBox.DisplayMember = "nombreUsuario";
            usuarioBox.ValueMember   = "identificador";


            criticidadBox.DataSource = new List <String> {
                "TODOS", "Alta", "Media", "Baja"
            };

            fechaDesdeDate.Checked = false;
            fechaDesdeDate.Visible = false;
            fechaDesdeDate.Value   = fechaDesdeDate.Value.Date.AddDays(-7);
            fechaDesdeDate.Visible = true;

            ToolTip toolTip1 = new ToolTip();

            toolTip1.AutoPopDelay = 5000;
            toolTip1.InitialDelay = 500;
            toolTip1.ReshowDelay  = 500;
            toolTip1.ShowAlways   = true;

            toolTip1.SetToolTip(this.criticidadBox, Genesis.Recursos_localizables.StringResources.CriticidadBoxTooltip);
            toolTip1.SetToolTip(this.usuarioBox, Genesis.Recursos_localizables.StringResources.UsuarioBoxTooltip);
            toolTip1.SetToolTip(this.consultarButton, Genesis.Recursos_localizables.StringResources.ConsultarBitacoraButtonTooltip);
            toolTip1.SetToolTip(this.exportarPdfButton, Genesis.Recursos_localizables.StringResources.ExportarPdfButtonTooltip);

            System.Windows.Forms.HelpProvider helpProvider1 = new HelpProvider();
            var applicationFolder = Application.StartupPath + "\\Benefix_mu.chm";

            helpProvider1.HelpNamespace = applicationFolder;
            helpProvider1.SetHelpNavigator(this, System.Windows.Forms.HelpNavigator.Topic);
            helpProvider1.SetShowHelp(this, true);
            helpProvider1.SetHelpKeyword(this, "23_Bitcora.htm");
        }
Пример #15
0
    public int ModificarObjetivo(Objetivo objetivo)
    {
        Objetivo objetivoViejo = ObtenerObjetivoBD(objetivo.identificador);

        var nuevoNombreEncriptado = GestorDeEncriptacion.EncriptarAes(objetivo.nombre);
        var puntajeEncriptado     = GestorDeEncriptacion.EncriptarAes(objetivo.puntaje.ToString());

        if (BaseDeDatos.ObtenerInstancia().ConsultarBase(String.Format("SELECT * FROM OBJETIVO WHERE nombre = '{0}' and idObjetivo != {1}", nuevoNombreEncriptado, objetivo.identificador)).Rows.Count > 0)
        {
            throw new EntidadDuplicadaExcepcion("nombre");
        }

        String set = "";

        if (objetivo.nombre != null && objetivoViejo.nombre != objetivo.nombre)
        {
            set = String.Format(" nombre = '{0}' ", nuevoNombreEncriptado);
        }
        if (objetivo.descripcion != null && objetivoViejo.descripcion != objetivo.descripcion)
        {
            if (set.Length > 0)
            {
                set = set + " , ";
            }
            set = set + String.Format(" descripcion = '{0}' ", objetivo.descripcion);
        }

        if (objetivoViejo.puntaje != objetivo.puntaje)
        {
            if (set.Length > 0)
            {
                set = set + " , ";
            }
            set = set + String.Format(" puntaje = '{0}' ", puntajeEncriptado);
        }

        var registros = baseDeDatos.ModificarBase(String.Format("UPDATE OBJETIVO SET {0} WHERE idObjetivo = {1}", set, objetivo.identificador));

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se modifico el objetivo " + objetivo.identificador, criticidad = 2, funcionalidad = "ADMINISTRACION DE OBJETIVOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);
        return(registros);
    }
Пример #16
0
    public int CrearEquipo(Equipo equipo)
    {
        if (baseDeDatos.ConsultarBase(String.Format("SELECT * FROM EQUIPO WHERE nombre = '{0}'", equipo.nombre)).Rows.Count > 0)
        {
            throw new EntidadDuplicadaExcepcion("nombre");
        }

        var registros = baseDeDatos.ModificarBase(String.Format("INSERT INTO EQUIPO (nombre,habilitado) VALUES ('{0}',1)", equipo.nombre));

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se crea el equipo " + equipo.nombre, criticidad = 1, funcionalidad = "ADMINISTRACION DE EQUIPOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        return(registros);
    }
Пример #17
0
    public int RealizarBackup(String rutaDestino, int cantidadVolumenes)
    {
        try
        {
            using (ZipFile zip = new ZipFile())
            {
                var backupPath         = baseDeDatos.ObtenerBackup();
                var ruta               = backupPath;
                var multiplesVolumenes = cantidadVolumenes > 1;
                var rutaDestinoTemp    = rutaDestino + "\\Benefix-" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + ".zip";

                zip.AddFile(ruta, "");
                zip.TempFileFolder = Path.GetTempPath();
                zip.Save(rutaDestinoTemp);

                if (cantidadVolumenes > 1)
                {
                    FileInfo fileInfo        = new FileInfo(rutaDestinoTemp);
                    var      tamañoDeVolumen = fileInfo.Length / cantidadVolumenes;

                    using (ZipFile zip2 = new ZipFile())
                    {
                        zip2.MaxOutputSegmentSize = (int)tamañoDeVolumen;
                        zip2.AddFile(rutaDestinoTemp, "");
                        zip2.TempFileFolder = Path.GetTempPath();
                        zip2.Save(rutaDestinoTemp);
                    }
                }
            }
        }
        catch (Exception e)
        {
            return(0);
        }

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se exporta backup de la base de datos en " + cantidadVolumenes + " particiones en la ruta " + rutaDestino, criticidad = 1, funcionalidad = "REALIZAR BACKUP", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        return(1);
    }
Пример #18
0
    public int EliminarObjetivo(Objetivo objetivo)
    {
        var objetivoOBtenido = ObtenerObjetivoBD(objetivo.identificador);
        var nombreObjetivo   = objetivoOBtenido.nombre;


        nombreObjetivo = GestorDeEncriptacion.EncriptarAes(nombreObjetivo + " Eliminado el dia: " + DateTime.Now.ToString("yyyy-MM-dd"));

        var registros = baseDeDatos.ModificarBase(String.Format("UPDATE OBJETIVO SET habilitado = 0, nombre = '{0}' WHERE idObjetivo = {1}", nombreObjetivo, objetivo.identificador));

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se elimino el objetivo " + objetivo.identificador, criticidad = 1, funcionalidad = "ADMINISTRACION DE OBJETIVOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        return(registros);
    }
Пример #19
0
        private void logOutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var mainForm = new LogOut((cb) =>
            {
                if (cb)
                {
                    EventoBitacora evento = new EventoBitacora()
                    {
                        fecha = DateTime.Now, descripcion = "Logout", criticidad = 3, funcionalidad = "LOGOUT", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
                    };
                    GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);
                    this.Close();
                }
            });

            mainForm.MdiParent     = this;
            mainForm.StartPosition = FormStartPosition.CenterScreen;
            mainForm.Show();
        }
Пример #20
0
    public int CrearFamilia(Familia familia)
    {
        if (baseDeDatos.ConsultarBase(String.Format("SELECT * FROM FAMILIA WHERE nombre = '{0}'", GestorDeEncriptacion.EncriptarAes(familia.nombre))).Rows.Count > 0)
        {
            throw new EntidadDuplicadaExcepcion("nombre");
        }

        var registros = baseDeDatos.ModificarBase(String.Format("INSERT INTO FAMILIA (nombre,habilitado) VALUES ('{0}', 1)", GestorDeEncriptacion.EncriptarAes(familia.nombre)));


        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se crea la familia " + familia.nombre, criticidad = 3, funcionalidad = "ADMINISTRACION DE FAMILIAS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);


        return(registros);
    }
Пример #21
0
    public int DesasignarGrupo(Grupo grupo, Equipo equipo)
    {
        DataTable relacionAEliminarTable = baseDeDatos.ConsultarBase(String.Format("select * from equipogrupo where Equipo_idEquipo = {0} and Grupo_idGrupo = {1} and periodoFin is null", equipo.identificador, grupo.identificador));

        var idRelacion = 0;

        foreach (DataRow relacionAEliminar in relacionAEliminarTable.Rows)
        {
            idRelacion = Convert.ToInt32(relacionAEliminar["idEquipoGrupo"]);
        }

        int periodoFin = Convert.ToInt32(DateTime.Now.ToString("yyyyMM"));
        var registros  = baseDeDatos.ModificarBase(String.Format("update equipogrupo set periodoFin = {0} where idEquipoGrupo = {1}", periodoFin, idRelacion));

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se desasigna el grupo " + grupo.identificador + " al equipo " + equipo.identificador, criticidad = 1, funcionalidad = "ADMINISTRACION DE EQUIPOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        return(registros);
    }
Пример #22
0
    public int CrearUsuario(Usuario usuario)
    {
        if (VerificarEmail(usuario.email) == 1)
        {
            throw new EntidadDuplicadaExcepcion("email");
        }

        usuario.nombreUsuario = GestorDeEncriptacion.EncriptarAes(usuario.nombreUsuario);

        if (BaseDeDatos.ObtenerInstancia().ConsultarBase(String.Format("SELECT * FROM USUARIO WHERE nombreUsuario = '{0}'", usuario.nombreUsuario)).Rows.Count > 0)
        {
            throw new EntidadDuplicadaExcepcion("nombreUsuario");
        }

        usuario.contrasena = GestorDeEncriptacion.EncriptarMD5(usuario.contrasena);

        var digitoVH = ObtenerDigitoVerificadorHDeUsuario(usuario);

        usuario.idioma = new Idioma()
        {
            identificador = 1
        };

        var registros = BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("INSERT INTO USUARIO(nombreUsuario,contrasena,nombre,apellido,email,Idioma_idIdioma,habilitado,digitoVerificadorH) VALUES ('{0}','{1}','{2}','{3}','{4}',{5},1,'{6}')", usuario.nombreUsuario, usuario.contrasena, usuario.nombre, usuario.apellido, usuario.email, usuario.idioma.identificador, digitoVH));

        gestorDeDigitoVerificador.ModificarDigitoVV("USUARIO");

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se crea el usuario " + usuario.nombre + " " + usuario.apellido, criticidad = 3, funcionalidad = "ADMINISTRACION DE USUARIOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        return(registros);
    }
Пример #23
0
    public int CrearObjetivo(Objetivo objetivo)
    {
        var nombre = objetivo.nombre;

        objetivo.nombre = GestorDeEncriptacion.EncriptarAes(objetivo.nombre);
        var puntaje = GestorDeEncriptacion.EncriptarAes(objetivo.puntaje.ToString());

        if (baseDeDatos.ConsultarBase(String.Format("SELECT * FROM OBJETIVO WHERE nombre = '{0}'", objetivo.nombre)).Rows.Count > 0)
        {
            throw new EntidadDuplicadaExcepcion("nombre");
        }


        var registros = BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("INSERT INTO OBJETIVO (descripcion,nombre,puntaje,habilitado) VALUES ('{0}','{1}','{2}',1)", objetivo.descripcion, objetivo.nombre, puntaje));

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se creo el objetivo " + nombre, criticidad = 1, funcionalidad = "ADMINISTRACION DE OBJETIVOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        return(registros);
    }
Пример #24
0
    public int ModificarUsuario(Usuario usuario)
    {
        Usuario usuarioViejo = ObtenerUsuarioBD(usuario.identificador);

        if (usuario.email != null && !usuarioViejo.email.Equals(usuario.email))
        {
            if (VerificarEmail(usuario.email) == 1)
            {
                throw new EntidadDuplicadaExcepcion("email");
            }
        }

        String set = "";

        if (usuario.nombre != null && usuarioViejo.nombre != usuario.nombre)
        {
            usuarioViejo.nombre = usuario.nombre;
            set = String.Format(" nombre = '{0}' ", usuario.nombre);
        }
        if (usuario.apellido != null && usuarioViejo.apellido != usuario.apellido)
        {
            if (set.Length > 0)
            {
                set = set + " , ";
            }
            usuarioViejo.apellido = usuario.apellido;
            set = set + String.Format(" apellido = '{0}' ", usuario.apellido);
        }

        if (usuario.email != null && usuarioViejo.email != usuario.email)
        {
            if (set.Length > 0)
            {
                set = set + " , ";
            }
            usuarioViejo.email = usuario.email;
            set = set + String.Format(" email = '{0}' ", usuario.email);
        }

        if (usuario.contrasena != null)
        {
            if (set.Length > 0)
            {
                set = set + " , ";
            }
            var contrasenaEncriptada = GestorDeEncriptacion.EncriptarMD5(usuario.contrasena);
            usuarioViejo.contrasena = contrasenaEncriptada;
            set = set + String.Format(" contrasena = '{0}' ", contrasenaEncriptada);
        }

        var digitoVH = ObtenerDigitoVerificadorHDeUsuario(usuarioViejo);

        if (set.Length > 0)
        {
            set = set + " , ";
        }
        set = set + String.Format(" digitoVerificadorH = '{0}' ", digitoVH);

        var registros = BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("UPDATE USUARIO SET {0} WHERE idUsuario = {1}", set, usuario.identificador));

        gestorDeDigitoVerificador.ModificarDigitoVV("USUARIO");

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se modifico el usuario " + usuario.identificador, criticidad = 2, funcionalidad = "ADMINISTRACION DE USUARIOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);
        return(registros);
    }
Пример #25
0
    private int ConsultaIntegridadDeUnaTabla(String tabla, List <String> atributos)
    {
        DataTable dataTable = baseDeDatos.ConsultarBase(String.Format("SELECT * FROM {0}", tabla));

        Int64 digitoVV = 0;

        foreach (DataRow eventoBitacora in dataTable.Rows)
        {
            List <String> argumentos = new List <String>();
            Dictionary <String, String> columnRow = new Dictionary <string, string>();
            foreach (String atributo in atributos)
            {
                if (DBNull.Value != eventoBitacora[atributo])
                {
                    String argumento = Convert.ToString(eventoBitacora[atributo]);
                    columnRow.Add(atributo, argumento);
                    argumentos.Add(argumento);
                }
                else
                {
                    argumentos.Add("");
                }
            }

            var digitoVH = GestorDeDigitoVerificador.ObtenerDigitoVH(argumentos);

            if (!digitoVH.Equals(Convert.ToString(eventoBitacora["digitoVerificadorH"])))
            {
                var columns = "";
                foreach (String key in columnRow.Keys)
                {
                    columns = columns + " Columna: " + key;
                }
                var evento1 = new EventoBitacora()
                {
                    fecha = DateTime.Now, descripcion = "Error de digito verificador horizontal en la tabla " + tabla + columns, criticidad = 1, funcionalidad = "INTEGRIDAD DE BASE DATOS", usuario = null
                };
                GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento1);
                return(0);
            }


            foreach (char a in digitoVH)
            {
                digitoVV = digitoVV + a;
            }
        }

        if (digitoVV > 0)
        {
            dataTable = baseDeDatos.ConsultarBase(String.Format("SELECT digitoVerificador FROM digitoverificadorvertical WHERE tabla = '{0}'", tabla));

            if (dataTable.Rows.Count > 0)
            {
                if (!Convert.ToString(dataTable.Rows[0]["digitoVerificador"]).Equals(digitoVV.ToString()))
                {
                    var evento1 = new EventoBitacora()
                    {
                        fecha = DateTime.Now, descripcion = "El digito verificador de la tabla " + tabla + " no coincide con el calculado por el sistema.", criticidad = 1, funcionalidad = "INTEGRIDAD DE BASE DATOS", usuario = null
                    };
                    GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento1);
                    return(0);
                }
            }
            else
            {
                var evento1 = new EventoBitacora()
                {
                    fecha = DateTime.Now, descripcion = "Error de integridad de datos en la tabla " + tabla + ", no existe digito vertical.", criticidad = 1, funcionalidad = "INTEGRIDAD DE BASE DATOS", usuario = null
                };
                GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento1);
                return(0);
            }
        }
        return(1);
    }
Пример #26
0
    public void RecalcularDigitosVerificadores()
    {
        var map = new Dictionary <String, Dictionary <String, List <String> > >();

        map.Add("BITACORA",
                new Dictionary <String, List <String> >()
        {
            { "idBitacora", new List <String>()
              {
                  "criticidad", "descripcion", "fecha", "funcionalidad", "Usuario_idUsuario"
              } }
        });

        map.Add("USUARIO",
                new Dictionary <String, List <String> >()
        {
            { "idUsuario", new List <String>()
              {
                  "nombreUsuario", "nombre", "apellido", "contrasena"
              } }
        });
        map.Add("PATENTEUSUARIO",
                new Dictionary <String, List <String> >()
        {
            { "idPatente", new List <String>()
              {
                  "esPermisiva", "Patente_idPatente", "Usuario_idUsuario"
              } }
        });
        map.Add("FAMILIAPATENTE",
                new Dictionary <String, List <String> >()
        {
            { "idFamiliaPatente", new List <String>()
              {
                  "Patente_idPatente", "Familia_idFamilia"
              } }
        });
        map.Add("BENEFICIO",
                new Dictionary <String, List <String> >()
        {
            { "idBeneficio", new List <String>()
              {
                  "nombre", "puntaje"
              } }
        });
        //SDC Modificar campos que contendran DVH en la tabla EVALUACION
        map.Add("EVALUACION",
                new Dictionary <String, List <String> >()
        {
            { "idEvaluacion", new List <String>()
              {
                  "puntaje", "periodo"
              } }
        });

        foreach (String tabla in map.Keys)
        {
            var identificadorConColumnas = map[tabla];
            identificadorConColumnas.Keys.GetEnumerator().MoveNext();
            foreach (String identificador in identificadorConColumnas.Keys)
            {
                var atributos = identificadorConColumnas[identificador];
                RecalcularDigitosVerificadores(tabla, atributos, identificador);
            }
        }

        var evento1 = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se recalculan los digitos verificadores", criticidad = 1, funcionalidad = "INTEGRIDAD DE BASE DATOS", usuario = null
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento1);
    }