コード例 #1
0
ファイル: GestorSistema.cs プロジェクト: FacuLbsz/Benefix_UAI
    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);
    }
コード例 #2
0
ファイル: LogIn.cs プロジェクト: FacuLbsz/Benefix_UAI
        private void ingresarButton_Click(object sender, EventArgs e)
        {
            if (EsUnFormularioValido())
            {
                Usuario usuario = new Usuario()
                {
                    nombreUsuario = nombreUsuarioText.Text.Trim(), contrasena = contraseñaText.Text.Trim()
                };
                var resultadoLogin = GestorSistema.ObtenerInstancia().RealizarLogIn(usuario);
                if (resultadoLogin == 1)
                {
                    Thread.CurrentThread.CurrentUICulture = new CultureInfo(GestorIdioma.ObtenerInstancia().ObtenerIdiomaDeUnUsuario(GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()).nombre);

                    this.Hide();
                    var mainForm = new Sistema();
                    mainForm.Closed     += (s, args) => this.Close();
                    mainForm.WindowState = FormWindowState.Maximized;
                    mainForm.Show();
                }
                else if (resultadoLogin == 2)
                {
                    MessageBox.Show("El usuario se encuentra bloqueado, por favor contacte al adminsitrador de sistema.");
                }
                else
                {
                    MessageBox.Show("El usuario y la contraseña ingresada no coinciden para un usuario valido.");
                }
            }
        }
コード例 #3
0
        private void AdministracionDeFamilias_Load(object sender, EventArgs e)
        {
            ListarFamilias();
            crearButton.Visible =
                GestorSistema.ObtenerInstancia().ConsultarPatentePorUsuario(Patente.ADMINISTRACION_FAMILIAS_CREACION);
            modificarButton.Visible =
                GestorSistema.ObtenerInstancia().ConsultarPatentePorUsuario(Patente.ADMINISTRACION_FAMILIAS_MODIFICACION);
            asignarPatentesButton.Visible = GestorSistema.ObtenerInstancia().ConsultarPatentePorUsuario(Patente.ADMINISTRACION_FAMILIAS_MODIFICACION);
            asignarUsuariosButton.Visible = GestorSistema.ObtenerInstancia().ConsultarPatentePorUsuario(Patente.ADMINISTRACION_FAMILIAS_MODIFICACION);
            eliminarButton.Visible        =
                GestorSistema.ObtenerInstancia().ConsultarPatentePorUsuario(Patente.ADMINISTRACION_FAMILIAS_ELIMINACION);

            ToolTip toolTip1 = new ToolTip();

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

            toolTip1.SetToolTip(this.limpiarButton, Genesis.Recursos_localizables.StringResources.LimpiarButton);
            toolTip1.SetToolTip(this.crearButton, Genesis.Recursos_localizables.StringResources.CrearFamiliaButton);
            toolTip1.SetToolTip(this.modificarButton, Genesis.Recursos_localizables.StringResources.ModificarFamiliaButton);
            toolTip1.SetToolTip(this.eliminarButton, Genesis.Recursos_localizables.StringResources.EliminarFamiliaButton);

            toolTip1.SetToolTip(this.asignarPatentesButton, Genesis.Recursos_localizables.StringResources.FamiliaAsignarPatentesTooltip);
            toolTip1.SetToolTip(this.asignarUsuariosButton, Genesis.Recursos_localizables.StringResources.FamiliaAsignarUsuariosTooltip);

            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, "20_Administracindefamilias.htm");
        }
コード例 #4
0
ファイル: MiEstado.cs プロジェクト: FacuLbsz/Benefix_UAI
        private void exportarPdfButton_Click(object sender, EventArgs e)
        {
            using (var fbd = new FolderBrowserDialog())
            {
                fbd.Description = "Selecciona donde depositar tu arhivo .PDF";
                DialogResult result = fbd.ShowDialog();

                if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath))
                {
                    var nombreEmpleado = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion().nombreUsuario.Replace(".", " ");
                    var titulo         = "Mi estado " + nombreEmpleado + " para el periodo " + ObtenerMes(DateTime.Now.Month) + " " + DateTime.Now.Year;
                    var filePath       = fbd.SelectedPath + "\\Mi estado " + nombreEmpleado + ".pdf";

                    List <String> columnsObjetivos = new List <string>();
                    columnsObjetivos.Add(equipo.Text);
                    columnsObjetivos.Add(puntaje.Text);
                    columnsObjetivos.Add(cumplimiento.Text);

                    List <String> columnsBeneficios = new List <string>();
                    columnsBeneficios.Add(beneficioss.Text);
                    columnsBeneficios.Add(puntajee.Text);

                    MiEstadoPDF.ExportarPDFARuta(titulo, columnsObjetivos, evaluaciones, columnsBeneficios, beneficiosAsignados, filePath);
                    MessageBox.Show(Genesis.Recursos_localizables.StringResources.PDFCreadoSatisfactorio);
                }
            }
        }
コード例 #5
0
 public ModificarIdioma(Idioma idioma, Action <Idioma> action)
 {
     this.action = action;
     this.idioma = idioma;
     InitializeComponent();
     gestorDeUsuario = GestorDeUsuarios.ObtenerInstancia();
     gestorSistema   = GestorSistema.ObtenerInstancia();
 }
コード例 #6
0
        public RealizarRestore()
        {
            InitializeComponent();
            rutaOrigenText.Enabled = false;
            gestorSistema          = GestorSistema.ObtenerInstancia();

            openFileDialog1.Filter = "Zip Files|*.zip";;
        }
コード例 #7
0
ファイル: GestorSistema.cs プロジェクト: FacuLbsz/Benefix_UAI
    public static GestorSistema ObtenerInstancia()
    {
        if (instancia == null)
        {
            instancia = new GestorSistema();
        }

        return(instancia);
    }
コード例 #8
0
        private void equiposAsignadosDataGridView_CurrentCellChanged(object sender, EventArgs e)
        {
            if (equiposAsignadosDataGridView.CurrentCell != null)
            {
                var yo = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion();
                this.equipoSeleccionado = (Equipo)equiposAsignadosDataGridView.Rows[equiposAsignadosDataGridView.CurrentCell.RowIndex].DataBoundItem;
                empleadosDataGridView.AutoGenerateColumns = false;
                empleadosDataGridView.DataSource          = equipoSeleccionado.usuariosAsignados.Where(u => u.identificador != yo.identificador).ToList();

                empleadosDataGridView.ClearSelection();
            }
        }
コード例 #9
0
ファイル: GestorSistema.cs プロジェクト: FacuLbsz/Benefix_UAI
    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);
    }
コード例 #10
0
ファイル: LogIn.cs プロジェクト: FacuLbsz/Benefix_UAI
        private void recalcularDigitosButton_Click(object sender, EventArgs e)
        {
            GestorSistema.ObtenerInstancia().RecalcularDigitosVerificadores();

            if (GestorSistema.ObtenerInstancia().ConsultarIntegridadDeBaseDeDatos() == 0)
            {
                ingresarButton.Enabled          = false;
                recalcularDigitosButton.Visible = true;
                MessageBox.Show("La integridad de la base de datos ha sido corrompida, por favor comuniquese con el administrador de sistema.");
            }
            else
            {
                ingresarButton.Enabled          = true;
                recalcularDigitosButton.Visible = false;
                MessageBox.Show("Se ha corregido la integridad de la base de datos correctamente.");
            }
        }
コード例 #11
0
 private void modificarButton_Click(object sender, EventArgs e)
 {
     if (EsFormularioValido())
     {
         var contrasenaAntigua = contrasenaActualText.Text;
         var contrasena        = nuevaContrasenaText.Text;
         if (GestorDeUsuarios.ObtenerInstancia().ModificarContrasena(new Usuario()
         {
             identificador = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion().identificador
         }, contrasenaAntigua, contrasena))
         {
             MessageBox.Show(Genesis.Recursos_localizables.StringResources.ModificarContrasenaSatisfactorio);
         }
         else
         {
             MessageBox.Show(Genesis.Recursos_localizables.StringResources.ModificarContrasenaError);
         }
     }
 }
コード例 #12
0
 private void guardarButton_Click(object sender, EventArgs e)
 {
     if (stringDeConexionText.Text.Trim().Length > 0)
     {
         try
         {
             GestorSistema.ModificarStringDeConexion(stringDeConexionText.Text);
             action(true);
         }
         catch (Exception exc)
         {
             MessageBox.Show(exc.Message);
         }
     }
     else
     {
         MessageBox.Show("Debe ingresar un string de conexion a guardar.");
     }
 }
コード例 #13
0
ファイル: LogIn.cs プロジェクト: FacuLbsz/Benefix_UAI
        private void modificarStringButton_Click(object sender, EventArgs e)
        {
            var mainForm = new ModificarStringDeConexion((cb) =>
            {
                //SDC Agregar llamado a consultar integridad de base de datos
                if (GestorSistema.ObtenerInstancia().ConsultarIntegridadDeBaseDeDatos() == 0)
                {
                    ingresarButton.Enabled          = false;
                    recalcularDigitosButton.Visible = true;
                    MessageBox.Show("La integridad de la base de datos ha sido corrompida, por favor comuniquese con el administrador de sistema.");
                }
                else
                {
                    ingresarButton.Enabled = cb;
                    MessageBox.Show("La conexion a la base de datos fue satisfactoria.");
                }
            });

            mainForm.StartPosition = FormStartPosition.CenterScreen;
            mainForm.ShowDialog();
        }
コード例 #14
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);
    }
コード例 #15
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);
    }
コード例 #16
0
ファイル: MiEstado.cs プロジェクト: FacuLbsz/Benefix_UAI
        private void MiEstado_Load(object sender, EventArgs e)
        {
            evaluaciones         = gestorDeEvaluaciones.ObtenerEvaluacionDeUnEmpleadoParaUnPeriodo(GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion(), Convert.ToInt32(DateTime.Now.ToString("yyyyMM")));
            this.puntajeObtenido = 0;
            evaluaciones.Where(ev => ev.alcanzado).ToList().ForEach(ev =>
            {
                puntajeObtenido = puntajeObtenido + ev.puntaje;
            });

            this.equipo.GroupKeyGetter = delegate(object rowObject)
            {
                Evaluacion evaluacion = (Evaluacion)rowObject;
                return(evaluacion.equipoObjetvo.equipo.nombre);
            };

            this.equipo.GroupKeyToTitleConverter = delegate(object groupKey)
            {
                return(groupKey.ToString());
            };
            evaluacionesListView.UseAlternatingBackColors = true;
            evaluacionesListView.AddObjects(evaluaciones);

            beneficiosAsignados = gestorDeBeneficios.ObtenerBeneficiosParaUnEmpleadoYUnPeriodo(GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion(), Convert.ToInt32(DateTime.Now.ToString("yyyyMM")));

            beneficiosListView.RowFormatter = delegate(OLVListItem olvItem)
            {
                Beneficio beneficio = (Beneficio)olvItem.RowObject;
                if (puntajeObtenido >= beneficio.puntaje)
                {
                    olvItem.BackColor = Color.LightGreen;
                }
                else
                {
                    olvItem.BackColor = Color.OrangeRed;
                }
            };
            this.puntajee.AspectGetter = delegate(object rowObject)
            {
                Beneficio beneficio = (Beneficio)rowObject;
                return(puntajeObtenido + "/" + beneficio.puntaje);
            };
            beneficiosListView.AddObjects(beneficiosAsignados);

            ToolTip toolTip1 = new ToolTip();

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

            this.equipo.ToolTipText       = "Objetivos asignados a los equipos que pertenece el usuario en sesion";
            this.puntaje.ToolTipText      = "Puntaje que representa el objetivo";
            this.cumplimiento.ToolTipText = "Indica si el objetivo fue alcanzado";

            this.beneficioss.ToolTipText = "Beneficios asignados a los equipos que pertenece el usuario en sesion";
            this.puntajee.ToolTipText    = "Puntaje obtenido de los objetivos cumplidos respecto del puntaje necesario para acceder al beneficio";

            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, "3_Miestado.htm");
        }
コード例 #17
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);
    }
コード例 #18
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);
    }
コード例 #19
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();
        }
コード例 #20
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);
    }
コード例 #21
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);
    }
コード例 #22
0
ファイル: LogIn.cs プロジェクト: FacuLbsz/Benefix_UAI
        private void LogIn_Load(object sender, EventArgs e)
        {
            //nombreUsuarioText.Text = "admin.admin";
            //contraseñaText.Text = "osxApZQd";
            var modificarStringBienvenidoFallo = false;

            recalcularDigitosButton.Visible = false;
            try
            {
                GestorSistema.ObtenerInstancia();
            }
            catch (Exception exc)
            {
                Bienvenido bienvenido = new Bienvenido((stringDConexion) =>
                {
                    try
                    {
                        GestorSistema.ModificarStringDeConexion(stringDConexion);
                        MessageBox.Show("La conexion a la base de datos fue satisfactoria.");
                    }
                    catch (Exception modifExc)
                    {
                        modificarStringBienvenidoFallo = true;
                        MessageBox.Show(modifExc.Message);
                    }
                });
                bienvenido.StartPosition = FormStartPosition.CenterScreen;
                bienvenido.ShowDialog();
            }

            try
            {
                if (GestorSistema.ObtenerInstancia().ConsultarIntegridadDeBaseDeDatos() == 0)
                {
                    ingresarButton.Enabled          = false;
                    recalcularDigitosButton.Visible = true;
                    MessageBox.Show("La integridad de la base de datos ha sido corrompida, por favor comuniquese con el administrador de sistema.");
                }
            }
            catch (Exception exc)
            {
                ingresarButton.Enabled = false;
                if (!modificarStringBienvenidoFallo)
                {
                    MessageBox.Show("No ha sido posible acceder a la base de datos configurada, por favor modifique el string de conexion.");
                }
            }

            ToolTip toolTip1 = new ToolTip();

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

            toolTip1.SetToolTip(this.ingresarButton, "Ingresa a la aplicacion con los datos de ingreso");
            toolTip1.SetToolTip(this.modificarStringButton, "Modifica el string de conexion para el acceso a la base de datos");
            toolTip1.SetToolTip(this.recalcularDigitosButton, "Reconstruye la integridad de la base de datos");


            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, "2_Login.htm");
        }
コード例 #23
0
ファイル: GestorSistema.cs プロジェクト: FacuLbsz/Benefix_UAI
    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);
    }
コード例 #24
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)));
    }
コード例 #25
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);
    }
コード例 #26
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);
    }
コード例 #27
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);
    }
コード例 #28
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);
    }
コード例 #29
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);
    }
コード例 #30
0
 public RealizarBackup()
 {
     InitializeComponent();
     gestorSistema = GestorSistema.ObtenerInstancia();
 }