/// <summary>
        /// Metodo para actualizar la informacion de inicio de sesion
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        /// <param name="id"></param>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <param name="passwordNuevo"></param>
        /// <param name="passwordNuevoRepite"></param>
        public bool ActualizarInformacionUsuario(int id, String username, String password, String passwordNuevo, String passwordNuevoRepite)
        {
            FondoLoginDao fondoLoginDao = new FondoLoginDao();

            if (!passwordNuevo.Equals(passwordNuevoRepite))
            {
                throw new BusinessException(Constantes.MsjPasswordNoCoincide);
            }
            //Se consulta el usuario
            FondoLoginEntity usuarioFiltro = new FondoLoginEntity
            {
                N_Id       = id,
                V_Usuario  = username,
                V_Password = General.EncriptarCadena(password)
            };
            FondoLoginEntity respuesta = fondoLoginDao.ConsultarUsuarioPorId(usuarioFiltro);

            if (respuesta == null)
            {
                throw new BusinessException(Constantes.MsjLoginInvalido);
            }
            //Se actualiza con la nueva contraseña
            usuarioFiltro.V_Password = General.EncriptarCadena(passwordNuevo);
            return(fondoLoginDao.ActualizarInformacionUsuario(usuarioFiltro));
        }
Example #2
0
        public FormOptConsultarUsuarios(FondoLoginEntity usuario)
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            //Centrar panel
            panelConsultaUsuarios.Location = new Point(
                this.ClientSize.Width / 2 - panelConsultaUsuarios.Size.Width / 2,
                this.ClientSize.Height / 2 - panelConsultaUsuarios.Size.Height / 3);
            panelConsultaUsuarios.Anchor = AnchorStyles.None;

            //Cambiar Tema form
            General.InicializarTema(this);

            //Valores por defecto
            usuarioSesion = usuario;
            CargarCombobox();

            //Se consulta todos los usuarios
            FondoUsuarioEntity  filtro = new FondoUsuarioEntity();
            FondoDominiosEntity consultarUsuarioTipoIdentificacion = (FondoDominiosEntity)comboBoxConsultaUsuariosTipoIdentificacion.SelectedItem;

            filtro.V_Tipo_Identificacion   = consultarUsuarioTipoIdentificacion.V_Codigo;
            filtro.F_Fecha_Registro_Inicio = datePickerConsultaUsuariosFechaRegistroDesde.Value;
            filtro.F_Fecha_Registro_Fin    = datePickerConsultaUsuariosFechaRegistroHasta.Value;
            BuscarUsuarios(filtro);
        }
        /// <summary>
        /// Metodo para registrar, enviar email y llamar a insertar el usuario
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        /// <param name="usuario"></param>
        /// <param name="enviarCorreo"></param>
        public bool RegistrarUsuarioLogin(FondoLoginEntity usuario, bool enviarCorreo)
        {
            EmailService emailService = new EmailService();

            FondoLoginEntity usuarioCrear = new FondoLoginEntity
            {
                V_Usuario        = usuario.V_Usuario,
                V_Password       = General.EncriptarCadena(usuario.V_Password),
                V_Nombre_Usuario = usuario.V_Nombre_Usuario
            };
            //Se valida si ya tiene un usuario Administrador
            List <FondoLoginEntity> usuariosConsulta = ConsultarTodosUsuarios();

            if (usuariosConsulta.Count > 0)
            {
                throw new BusinessException(Constantes.MsjCrearUsuarioYaTieneAdministrador);
            }
            //Se inserta el usuario
            InsertarUsuarioLogin(usuarioCrear);
            //Se envia correo
            if (enviarCorreo)
            {
                if (General.TestConexionInternet())
                {
                    emailService.enviarEmailCreacionUsuario(usuario);
                }
                else
                {
                    throw new BusinessException(Constantes.MsjNoInternetErrorEnviarCorreo);
                }
            }
            return(true);
        }
Example #4
0
        /// <summary>
        /// Ejecuta la opcion de Eliminar usuario
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        private void EliminarUsuario(object sender, EventArgs e)
        {
            try
            {
                if (ValidarInformacionUsuario())
                {
                    //Se retorna el objeto con el usuario
                    FondoLoginEntity crearUsuario = new FondoLoginEntity();
                    crearUsuario.V_Usuario  = textBoxEliminarUsuarioUsuario.Text;
                    crearUsuario.V_Password = textBoxEliminarUsuarioPassword.Text;
                    jsonUsuario             = new JavaScriptSerializer().Serialize(crearUsuario);

                    Close();
                }
                else
                {
                    General.MostrarPanelError(Constantes.CodigoWarning, Constantes.MsjCamposObligatorios);
                }
            }
            catch (BusinessException ex)
            {
                General.MostrarPanelError(Constantes.CodigoWarning, ex.Message);
            }
            catch (Exception ex)
            {
                LimpiarDatosFormulario();
                Log.Registrar_Log(ex.Message, "FormModalEliminarUsuario - EliminarUsuario", LogErrorEnumeration.Critico);
                General.MostrarPanelError(Constantes.CodigoError, Constantes.MsjErrorInesperado);
            }
        }
Example #5
0
        // <summary>
        /// Metodo para insertar un ahorro de un usuario
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        /// <param name="ahorroMensual"></param>
        public bool InsertarAhorroUsuario(FondoAhorroMensualEntity ahorroMensual)
        {
            FondoAhorroMensualDao fondoAhorroMensualDao = new FondoAhorroMensualDao();

            //Se valida si el usuario ya ingreso su ahorro para el mes correspondiente
            FondoLoginEntity validarAhorroMes = ConsultarAhorroMensualUsuario(ahorroMensual);

            if (validarAhorroMes != null)
            {
                throw new BusinessException(Constantes.MsjAhorroExistenteMes);
            }

            //Se valida los topes maximos y minimos de la cuota
            decimal valorMinimoCuota = Convert.ToDecimal(fondoParametrosService.ConsultarParametroPorNombre(Constantes.ParametroAhorroCuotaMinima).V_Valor);
            decimal valorMaximoCuota = Convert.ToDecimal(fondoParametrosService.ConsultarParametroPorNombre(Constantes.ParametroAhorroCuotaMaxima).V_Valor);

            if (ahorroMensual.N_Valor_Cuota < valorMinimoCuota)
            {
                throw new BusinessException(Constantes.MsjValidarMinimoCuota.Replace("<minimoCuota>", valorMinimoCuota.ToString()));
            }
            if (ahorroMensual.N_Valor_Cuota > valorMaximoCuota)
            {
                throw new BusinessException(Constantes.MsjValidarMaximoCuota.Replace("<maximoCuota>", valorMaximoCuota.ToString()));
            }

            return(fondoAhorroMensualDao.InsertarAhorroUsuario(ahorroMensual));
        }
Example #6
0
        public FormOptIngresoAsociado(FondoLoginEntity usuario)
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            //Cambiar Tema form
            General.InicializarTema(this);

            //Width del tabControl
            tabIngresarAsociado.ItemSize = new Size(tabIngresarAsociado.Width / tabIngresarAsociado.TabCount, 0);

            //Ajustar height
            var bounds = Screen.FromControl(this).Bounds;

            this.Height = bounds.Height - 100;
            tabIngresarAsociado.Left = (this.ClientSize.Width - tabIngresarAsociado.Width) / 2;
            tabIngresarAsociado.Top  = (this.ClientSize.Height - tabIngresarAsociado.Height) / 2;

            //Valores por defecto
            InicializarTooltips();
            usuarioSesion = usuario;
            CargarCombobox();

            //Inicializar fechas
            datePickerDatosPersonaFechaNacimiento.Value          = DateTime.Now;
            datePickerNucleoFamiliarConyugeFechaNacimiento.Value = DateTime.Now;

            dataGridNucleoFamiliarIntegrantes.ColumnHeadersDefaultCellStyle.Font = new Font("Arial", 10F, FontStyle.Bold);
            dataGridNucleoFamiliarIntegrantes.DefaultCellStyle.Font = new Font("Arial", 10F);
        }
Example #7
0
 /// <summary>
 /// Metodo para eliminar un usuario mediante el id usuario
 /// Autor: Anderson Benavides
 /// 2019-05-23
 /// </summary>
 /// <param name="usuario"></param>
 public bool EliminarUsuarioPorId(FondoLoginEntity usuario)
 {
     using (var cnn = SqlLiteConexion.SimpleDbConnection())
     {
         int result = cnn.Execute(
             @"DELETE FROM FONDOLOGIN WHERE N_ID = @N_ID",
             new { usuario.N_Id });
         return(result > 0);
     }
 }
Example #8
0
 /// <summary>
 /// Metodo para consultar un usuario mediante el id usuario
 /// Autor: Anderson Benavides
 /// 2019-05-23
 /// </summary>
 /// <param name="usuario"></param>
 public FondoLoginEntity ConsultarUsuarioPorId(FondoLoginEntity usuario)
 {
     using (var cnn = SqlLiteConexion.SimpleDbConnection())
     {
         FondoLoginEntity result = cnn.Query <FondoLoginEntity>(
             @"SELECT N_ID, V_USUARIO, V_PASSWORD, F_ULTIMO_INICIO_SESION, V_NOMBRE_USUARIO
             FROM FONDOLOGIN WHERE N_ID = @N_ID",
             new { usuario.N_Id }).FirstOrDefault();
         return(result);
     }
 }
Example #9
0
 /// <summary>
 /// Metodo para actualizar la fecha de inicio de sesion
 /// Autor: Anderson Benavides
 /// 2019-05-23
 /// </summary>
 /// <param name="usuario"></param>
 public bool ActualizarFechaInicioSesion(FondoLoginEntity usuario)
 {
     using (var cnn = SqlLiteConexion.SimpleDbConnection())
     {
         int result = cnn.Execute(
             @"UPDATE FONDOLOGIN SET F_ULTIMO_INICIO_SESION = @F_ULTIMO_INICIO_SESION
             WHERE N_ID = @N_ID",
             new { usuario.F_Ultimo_Inicio_Sesion, usuario.N_Id });
         return(result > 0);
     }
 }
Example #10
0
 /// <summary>
 /// Metodo para actualizar la informacion del usuario de sesion
 /// Autor: Anderson Benavides
 /// 2019-05-23
 /// </summary>
 /// <param name="usuario"></param>
 public bool ActualizarInformacionUsuario(FondoLoginEntity usuario)
 {
     using (var cnn = SqlLiteConexion.SimpleDbConnection())
     {
         int result = cnn.Execute(
             @"UPDATE FONDOLOGIN SET V_USUARIO = @V_USUARIO, V_PASSWORD = @V_PASSWORD
             WHERE N_ID = @N_ID",
             new { usuario.V_Usuario, usuario.V_Password, usuario.N_Id });
         return(result > 0);
     }
 }
Example #11
0
 // <summary>
 /// Metodo para insertar el usuario para el login
 /// Autor: Anderson Benavides
 /// 2019-05-23
 /// </summary>
 /// <param name="usuario"></param>
 public bool InsertarUsuarioLogin(FondoLoginEntity usuario)
 {
     using (var cnn = SqlLiteConexion.SimpleDbConnection())
     {
         int result = cnn.Execute(
             @"INSERT INTO FONDOLOGIN (V_USUARIO, V_PASSWORD, V_NOMBRE_USUARIO)
               VALUES(@V_USUARIO, @V_PASSWORD, @V_NOMBRE_USUARIO)",
             new { usuario.V_Usuario, usuario.V_Password, usuario.V_Nombre_Usuario });
         return(result > 0);
     }
 }
Example #12
0
 /// <summary>
 /// Metodo para consultar un ahorro de un usuario mediante identificacion, mes y año
 /// Autor: Anderson Benavides
 /// 2019-05-23
 /// </summary>
 /// <param name="ahorroMensual"></param>
 public FondoLoginEntity ConsultarAhorroMensualUsuario(FondoAhorroMensualEntity ahorroMensual)
 {
     using (var cnn = SqlLiteConexion.SimpleDbConnection())
     {
         FondoLoginEntity result = cnn.Query <FondoLoginEntity>(
             @"SELECT N_ID, N_ID_USUARIO, N_VALOR_CUOTA, F_FECHA_REGISTRO, N_MES_AHORRO, N_ANIO_AHORRO
             FROM FONDOAHORROMENSUAL WHERE N_ID_USUARIO = @N_ID_USUARIO AND N_MES_AHORRO = @N_MES_AHORRO AND N_ANIO_AHORRO = @N_ANIO_AHORRO",
             new { ahorroMensual.N_Id_Usuario, ahorroMensual.N_Mes_Ahorro, ahorroMensual.N_Anio_Ahorro }).FirstOrDefault();
         return(result);
     }
 }
        /// <summary>
        /// Metodo para actualizar la fecha de inicio de sesion
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        /// <param name="id"></param>
        public bool ActualizarFechaInicioSesion(int id)
        {
            FondoLoginDao    fondoLoginDao = new FondoLoginDao();
            FondoLoginEntity usuarioFiltro = new FondoLoginEntity
            {
                N_Id = id,
                F_Ultimo_Inicio_Sesion = DateTime.Now
            };

            return(fondoLoginDao.ActualizarFechaInicioSesion(usuarioFiltro));
        }
Example #14
0
        /// <summary>
        /// Inicializa el componente de Opciones
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        /// <param name="usuario"></param>
        public FormMenu(FondoLoginEntity usuario)
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            usuarioSesion = usuario;

            //Datos del usuario
            opcionLabelUsername.Text = usuario.V_Nombre_Usuario;

            //Tooltips
            InicializarTooltips();
        }
        /// <summary>
        /// Metodo para borrar la informacion del usuario administrador
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        /// <param name="usuario"></param>
        public bool EliminarUsuario(FondoLoginEntity usuario)
        {
            //Se valida si ya tiene un usuario Administrador
            List <FondoLoginEntity> usuariosConsulta = ConsultarTodosUsuarios();

            if (usuariosConsulta.Count <= 0)
            {
                throw new BusinessException(Constantes.MsjNoTieneAdministrador);
            }
            //Se consulta mediante las credenciales
            FondoLoginEntity usuarioConsulta = ConsultarUsuario(usuario.V_Usuario, usuario.V_Password);

            return(EliminarUsuarioPorId(usuarioConsulta));
        }
Example #16
0
        /// <summary>
        /// Metodo para enviar el correo con la recuperacion de su password
        /// Author: Miguel
        /// 2019-04-04
        /// </summary>
        /// <param name="loginUsuario"></param>
        /// <returns></returns>
        public void enviarEmailRecuperarPassword(FondoLoginEntity loginUsuario)
        {
            EmailDTO emailDTO = new EmailDTO();
            FondoParametrosService fondoParametrosService = new FondoParametrosService();
            // se lee la plantila de html
            string template = fondoParametrosService.ConsultarParametroPorNombre(Constantes.ParametroPlantillaCorreoRecuperarPassword).V_Valor;

            // se reemplazan los codigos claves de la plantilla por los datos del usuario
            template = template.Replace("{usuario}", loginUsuario.V_Nombre_Usuario);
            template = template.Replace("{username}", loginUsuario.V_Usuario);
            template = template.Replace("{password}", General.DesencriptarCadena(loginUsuario.V_Password));

            //se envia el destinatario y el mensaje al metodo de envio de correo electrónico
            emailDTO.Asunto        = "Recuperar Password";
            emailDTO.Destinatarios = fondoParametrosService.ConsultarParametroPorNombre(Constantes.ParametroCorreoEmpresa).V_Valor;
            enviarEmail(template, emailDTO);
        }
Example #17
0
        public FormOptAmortizacionCredito(FondoLoginEntity usuario)
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            //Centrar panel
            panelAmortizacionCredito.Location = new Point(
                this.ClientSize.Width / 2 - panelAmortizacionCredito.Size.Width / 2,
                this.ClientSize.Height / 2 - panelAmortizacionCredito.Size.Height / 3);
            panelAmortizacionCredito.Anchor = AnchorStyles.None;

            //Cambiar Tema form
            General.InicializarTema(this);

            //Valores por defecto
            usuarioSesion = usuario;
            CargarCombobox();
        }
        public FormOptCambiarClave(FondoLoginEntity usuario)
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            //Centrar panel
            panelCambiarContrasenia.Location = new Point(
                this.ClientSize.Width / 2 - panelCambiarContrasenia.Size.Width / 2,
                this.ClientSize.Height / 2 - panelCambiarContrasenia.Size.Height / 3);
            panelCambiarContrasenia.Anchor = AnchorStyles.None;

            //Cambiar Tema form
            General.InicializarTema(this);

            //Valores por defecto
            usuarioSesion = usuario;
            textBoxCambiarClaveUsuario.Text = usuarioSesion.V_Usuario;
            buttonCambiarClaveLimpiar.Focus();
        }
        public FormOptAhorroCuotaMensual(FondoLoginEntity usuario)
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            //Centrar panel
            panelIngresoCuotaMensual.Location = new Point(
                this.ClientSize.Width / 2 - panelIngresoCuotaMensual.Size.Width / 2,
                this.ClientSize.Height / 2 - panelIngresoCuotaMensual.Size.Height / 3);
            panelIngresoCuotaMensual.Anchor = AnchorStyles.None;

            //Cambiar Tema form
            General.InicializarTema(this);

            //Valores por defecto
            usuarioSesion = usuario;
            InicializarTooltips();
            CargarCombobox();
        }
Example #20
0
        /// <summary>
        /// Metodo para iniciar sesion
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        /// <param></param>
        private void Login(object sender, EventArgs e)
        {
            try
            {
                loginButtonAceptar.Enabled = false;
                //Validar Seguridad
                Seguridad seguridad = new Seguridad();
                seguridad.CrackActivo();

                FondoLoginService fondoLoginServie = new FondoLoginService();
                //Consulta de usuario
                FondoLoginEntity respuesta =
                    fondoLoginServie.ConsultarUsuario(textBoxUsuario.Text, textBoxPassword.Text);

                //Actualizacion inicio de sesion
                fondoLoginServie.ActualizarFechaInicioSesion(respuesta.N_Id);

                //Se inicia el formulario de opciones
                FormMenu formOpciones = new FormMenu(respuesta);
                Hide();
                formOpciones.ShowDialog();
                Close();
            }
            catch (BusinessException ex)
            {
                textBoxPassword.Text       = "";
                textBoxUsuario.Text        = "";
                labelVerPassword.Text      = "Ver";
                loginButtonAceptar.Enabled = true;
                General.MostrarPanelError(Constantes.CodigoWarning, ex.Message);
            }
            catch (Exception ex)
            {
                textBoxPassword.Text       = "";
                textBoxUsuario.Text        = "";
                labelVerPassword.Text      = "Ver";
                loginButtonAceptar.Enabled = true;
                Log.Registrar_Log(ex.Message, "FormLogin - Login", LogErrorEnumeration.Critico);
                General.MostrarPanelError(Constantes.CodigoError, Constantes.MsjErrorInesperado);
            }
        }
Example #21
0
        /// <summary>
        /// Permite la Creacion del Usuario Administrador
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        private void CrearUsuario(object sender, EventArgs e)
        {
            try
            {
                if (ValidarInformacionUsuario())
                {
                    //Validar igualdad password
                    if (!textBoxCrearUsuarioPassword.Text.Equals(textBoxCrearUsuarioPasswordRepetir.Text))
                    {
                        throw new BusinessException(Constantes.MsjPasswordCrearUsuarioNoCoincide);
                    }

                    //Se retorna el objeto con el usuario
                    FondoLoginEntity crearUsuario = new FondoLoginEntity();
                    crearUsuario.V_Usuario        = textBoxCrearUsuarioUsuario.Text;
                    crearUsuario.V_Nombre_Usuario = textBoxCrearUsuarioNombreUsuario.Text;
                    crearUsuario.V_Password       = textBoxCrearUsuarioPassword.Text;
                    jsonUsuario = new JavaScriptSerializer().Serialize(crearUsuario);

                    //Enviar correo
                    enviarCorreo = checkBoxCrearUsuarioEnviarCorreo.Checked;

                    Close();
                }
                else
                {
                    General.MostrarPanelError(Constantes.CodigoWarning, Constantes.MsjCamposObligatorios);
                }
            }
            catch (BusinessException ex)
            {
                General.MostrarPanelError(Constantes.CodigoWarning, ex.Message);
            }
            catch (Exception ex)
            {
                LimpiarDatosFormulario();
                Log.Registrar_Log(ex.Message, "FormModalCrearUsuario - CrearUsuario", LogErrorEnumeration.Critico);
                General.MostrarPanelError(Constantes.CodigoError, Constantes.MsjErrorInesperado);
            }
        }
        public FormOptParametrizacion(FondoLoginEntity usuario)
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            //Centrar panel
            panelParametrizacion.Location = new Point(
                this.ClientSize.Width / 2 - panelParametrizacion.Size.Width / 2,
                this.ClientSize.Height / 2 - panelParametrizacion.Size.Height / 3);
            panelParametrizacion.Anchor = AnchorStyles.None;

            //Cambiar Tema form
            General.InicializarTema(this);

            //Valores por defecto
            usuarioSesion = usuario;

            //Consultar los parametros del sistema
            dataGridParametrizacion.ColumnHeadersDefaultCellStyle.Font = new Font("Arial", 10F, FontStyle.Bold);
            dataGridParametrizacion.DefaultCellStyle.Font = new Font("Arial", 10F);
            ConsultarParametrosSistema();
        }
        /// <summary>
        /// Metodo para consultar un usuario mediante usuario y password
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        public FondoLoginEntity ConsultarUsuario(String username, String password)
        {
            if (General.EsVacioNulo(username) || General.EsVacioNulo(password))
            {
                throw new BusinessException(Constantes.MsjCamposObligatorios);
            }

            FondoLoginDao    fondoLoginDao = new FondoLoginDao();
            FondoLoginEntity usuarioFiltro = new FondoLoginEntity
            {
                V_Usuario  = username,
                V_Password = General.EncriptarCadena(password)
            };
            FondoLoginEntity respuesta = fondoLoginDao.ConsultarUsuario(usuarioFiltro);

            if (respuesta == null)
            {
                throw new BusinessException(Constantes.MsjLoginInvalido);
            }

            return(respuesta);
        }
        /// <summary>
        /// Metodo para insertar el usuario para el login
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        /// <param name="usuario"></param>
        public bool InsertarUsuarioLogin(FondoLoginEntity usuario)
        {
            FondoLoginDao fondoLoginDao = new FondoLoginDao();

            return(fondoLoginDao.InsertarUsuarioLogin(usuario));
        }
        /// <summary>
        /// Metodo para eliminar un usuario mediante el id usuario
        /// Autor: Anderson Benavides
        /// 2019-05-23
        /// </summary>
        /// <param name="usuario"></param>
        public bool EliminarUsuarioPorId(FondoLoginEntity usuario)
        {
            FondoLoginDao fondoLoginDao = new FondoLoginDao();

            return(fondoLoginDao.EliminarUsuarioPorId(usuario));
        }