示例#1
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.dgvCandidatos.CurrentRow != null)
                {
                    if (Util.ConfirmationMessage("¿Desea eliminar al Candidato seleccionado?") == false)
                    {
                        return;
                    }

                    var uiCandidato = (BE.UI.Candidato) this.dgvCandidatos.CurrentRow.DataBoundItem;

                    var lnCandidato = new LN.Candidato();

                    var  beCandidato = lnCandidato.Obtener(uiCandidato.Id);
                    bool rpta        = lnCandidato.Eliminar(beCandidato);

                    if (rpta)
                    {
                        Util.InformationMessage("Se elimino el candidato seleccionado");
                        this.CargarCandidatos();
                    }
                }
            }
            catch (Exception ex)
            {
                Util.ErrorMessage(ex.Message);
            }
        }
        private void CargarEmpleados(bool Seleccione = false)
        {
            try
            {
                var lstEmpleados  = new LN.Empleado().Combo();
                var lstCandidatos = new LN.Candidato().Combo();
                lstEmpleados.AddRange(lstCandidatos);
                var lstTrabajadores = lstEmpleados.OrderBy(o => o.Nombre).Distinct().ToList();

                if (Seleccione == true)
                {
                    lstTrabajadores.Insert(0, new BE.Record()
                    {
                        Codigo = "0", Nombre = "Seleccione"
                    });
                }

                this.cboEmpleado.DataSource    = lstTrabajadores;
                this.cboEmpleado.DisplayMember = "Nombre";
                this.cboEmpleado.ValueMember   = "Codigo";
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#3
0
        private void BtnContratar_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.dgvCandidatos.CurrentRow != null)
                {
                    var uiCandidato = (BE.UI.Candidato) this.dgvCandidatos.CurrentRow.DataBoundItem;

                    #region Validar Contratacion

                    var activo     = uiCandidato.Activo == "Si" ? true : false;
                    var induccion  = uiCandidato.Induccion == "Si" ? true : false;
                    var disciplina = uiCandidato.Disciplina == "Si" ? true : false;
                    var informe    = uiCandidato.Informe == "Si" ? true : false;
                    var documento  = uiCandidato.Documentacion == "Si" ? true : false;
                    var contratado = uiCandidato.Contratado == "Si" ? true : false;

                    if (activo == false ||
                        induccion == false ||
                        disciplina == false ||
                        informe == false ||
                        documento == false)
                    {
                        Util.ErrorMessage("No cumplio los requisitos para contratación");
                        return;
                    }

                    if (contratado == true)
                    {
                        Util.ErrorMessage("El candidato ya se le contrato");
                        return;
                    }

                    #endregion

                    if (Util.ConfirmationMessage("¿Desea contratar al Candidato seleccionado?") == false)
                    {
                        return;
                    }

                    var frmEmpleadoContratar = new FrmEmpleadoMant();
                    frmEmpleadoContratar.MdiParent = this.MdiParent;
                    frmEmpleadoContratar.Show();

                    var beCandidato = new LN.Candidato().Obtener(uiCandidato.Id);
                    frmEmpleadoContratar.Contratar(beCandidato);

                    frmEmpleadoContratar.frmCandidatoList = this;
                }
            }
            catch (Exception ex)
            {
                Util.ErrorMessage(ex.Message);
            }
        }
示例#4
0
        private List <BE.Record> ListadoTrabajadores()
        {
            var lstEmpleados  = new LN.Empleado().Combo();
            var lstCandidatos = new LN.Candidato().Combo();

            lstEmpleados.AddRange(lstCandidatos);

            var lstTrabajadores = lstEmpleados.OrderBy(o => o.Nombre).Distinct().ToList();

            return(lstTrabajadores);
        }
示例#5
0
        private void CargarEmpleados()
        {
            var lstUiEmpleados  = new LN.Empleado().ListaSimple();
            var lstUiCandidatos = new LN.Candidato().ListaSimple();

            lstUiEmpleados.AddRange(lstUiCandidatos);
            var lstUiTrabajadores = lstUiEmpleados.OrderBy(o => o.ApellidosNombres).ToList();

            this.cboEmpleado.DataSource    = lstUiTrabajadores;
            this.cboEmpleado.DisplayMember = "ApellidosNombres";
            this.cboEmpleado.ValueMember   = "Codigo";
        }
示例#6
0
        private void CargarEmpleados()
        {
            var lstEmpleados  = new LN.Empleado().Combo();
            var lstCandidatos = new LN.Candidato().Combo();

            lstEmpleados.AddRange(lstCandidatos);
            var lstTrabajador = lstEmpleados.OrderBy(o => o.Codigo).Distinct().ToList();

            lstTrabajador.Insert(0, new BE.Record()
            {
                Codigo = "", Nombre = "Seleccione"
            });

            this.cboEmpleado.DataSource    = lstTrabajador;
            this.cboEmpleado.DisplayMember = "Nombre";
            this.cboEmpleado.ValueMember   = "Codigo";
        }
示例#7
0
        public void CargarCandidatos()
        {
            try
            {
                var lstUiCandidatos = new LN.Candidato().Listar();
                var nroCandidatos   = lstUiCandidatos.Count.ToString();

                var sorted = new SortableBindingList <BE.UI.Candidato>(lstUiCandidatos);

                this.dgvCandidatos.DataSource = sorted;
                this.txtNroCandidatos.Text    = nroCandidatos;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#8
0
        private List <BE.Record> ListadoEmpleados()
        {
            try
            {
                var lstEmpleados  = new LN.Empleado().Combo();
                var lstCandidatos = new LN.Candidato().Combo();
                lstEmpleados.AddRange(lstCandidatos);

                var lstBeRegistros = new List <BE.Record>();
                lstBeRegistros = lstEmpleados.OrderBy(o => o.Codigo).Distinct().ToList();

                return(lstBeRegistros);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#9
0
        private void CargarListadoRecibos(int anho = 0, int mes = 0, string codigoEmpleado = "")
        {
            try
            {
                double totBase       = 0.0; //Sueldo
                double totBonos      = 0.0;
                double totDescuentos = 0.0;
                double totGeneral    = 0.0;

                List <BE.UI.Recibo> lstUiRecibosResumen = new List <BE.UI.Recibo>();

                if (anho > 0 || mes > 0 || codigoEmpleado.Length > 0)
                {
                    lstUiRecibosResumen = new LN.Recibo().ResumenDetallado(anho, mes, codigoEmpleado);

                    //totBase = lstUiRecibosResumen.Where(x => x.Tipo.Equals("Sueldo")).Sum(x => x.Monto);
                    totBonos      = lstUiRecibosResumen.Where(x => x.Tipo.Equals("Bono")).Sum(x => x.Total);
                    totDescuentos = lstUiRecibosResumen.Where(x => x.Tipo.Equals("Descuento")).Sum(x => x.Total);

                    if (this.txtTipo.Text == BE.UI.TipoTrabajadorEnum.Candidato.ToString())
                    {
                        var beCandidatoContratacion = new LN.Candidato().ObtenerContratacion(codigoEmpleado);
                        if (beCandidatoContratacion != null)
                        {
                            totBase = beCandidatoContratacion.Sueldo;
                        }
                    }

                    totGeneral = totBase + totBonos - totDescuentos;
                }

                var sorted = new SortableBindingList <BE.UI.Recibo>(lstUiRecibosResumen);
                this.dgvRecibos.DataSource = sorted;

                this.txtTotalSueldo.Text     = totBase.ToString("N2");
                this.txtTotalBonos.Text      = totBonos.ToString("N2");
                this.txtTotalDescuentos.Text = totDescuentos.ToString("N2");
                this.txtTotalGeneral.Text    = totGeneral.ToString("N2");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#10
0
        private void CargarCandidatos()
        {
            try
            {
                var lstCandidatos = new LN.Candidato().Combo();
                lstCandidatos = lstCandidatos.OrderBy(o => o.Codigo).ToList();
                lstCandidatos.Insert(0, new BE.Record()
                {
                    Codigo = "", Nombre = "Seleccione"
                });

                this.cboCandidato.DataSource    = lstCandidatos;
                this.cboCandidato.DisplayMember = "Nombre";
                this.cboCandidato.ValueMember   = "Codigo";
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#11
0
        private List <BE.Record> ListaTrabajadores()
        {
            try
            {
                List <BE.Record> lstTrabajadores = new List <BE.Record>();

                var lstEmpleados  = new LN.Empleado().Combo();
                var lstCandidatos = new LN.Candidato().Combo();

                lstEmpleados.AddRange(lstCandidatos);
                lstTrabajadores = lstEmpleados.OrderBy(o => o.Codigo).Distinct().ToList();

                lstEmpleados  = null;
                lstCandidatos = null;

                return(lstTrabajadores);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#12
0
        private void Editar()
        {
            try
            {
                if (this.dgvCandidatos.CurrentRow != null)
                {
                    var uiCandidato = (BE.UI.Candidato) this.dgvCandidatos.CurrentRow.DataBoundItem;

                    var frmCandidatoEdit = FrmCandidatoMant.Instance();
                    frmCandidatoEdit.MdiParent = this.MdiParent;
                    frmCandidatoEdit.Show();

                    frmCandidatoEdit.frmList = this;

                    var beCandidato = new LN.Candidato().Obtener(uiCandidato.Id);
                    frmCandidatoEdit.Cargar(beCandidato);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void btnCalcular_Click(object sender, EventArgs e)
        {
            try
            {
                #region Validaciones

                if (this.cboBono.SelectedIndex == 0)
                {
                    this.cboBono.Focus();
                    throw new Exception("Seleccione un tipo de Bono");
                }

                #endregion

                Util.PointerLoad(this);

                #region Calcular

                this.Anho = int.Parse(this.cboAnho.SelectedValue.ToString());
                this.Mes  = int.Parse(this.cboMes.SelectedValue.ToString());
                int      dia          = DateTime.DaysInMonth(this.Anho, this.Mes);
                DateTime fechaPeriodo = new DateTime(this.Anho, this.Mes, dia);

                var    beBono     = ((BE.UI.Bono) this.cboBono.SelectedItem);
                int    bonoId     = beBono.Id;
                string bonoTipo   = beBono.Calculado ? "Calculado" : "Manual"; //Manual o Calculado
                string bonoNombre = beBono.Nombre;
                double bonoMonto  = 0.0;
                beBono = null;

                if (new LN.BonoEmpleado().ExisteCalculo(this.Anho, this.Mes, bonoId))
                {
                    if (Util.ConfirmationMessage("Ya existe un calculo de bonos para este periodo. ¿Desea continua?") == false)
                    {
                        return;
                    }
                }

                List <BE.Record> lstTrabajadores = new List <BE.Record>();
                var lstEmpleados  = new LN.Empleado().Combo();
                var lstCandidatos = new LN.Candidato().Combo();
                lstEmpleados.AddRange(lstCandidatos);
                lstTrabajadores = lstEmpleados.OrderBy(o => o.Codigo).Distinct().ToList();
                lstEmpleados    = null;
                lstCandidatos   = null;

                this.lstUiBonosEmpleados = new List <BE.UI.BonoEmpleado>();

                foreach (BE.Record beTrabajador in lstTrabajadores)
                {
                    var uiBonoEmpleado = new BE.UI.BonoEmpleado();

                    uiBonoEmpleado.Fecha                  = fechaPeriodo;
                    uiBonoEmpleado.EmpleadoCodigo         = beTrabajador.Codigo;
                    uiBonoEmpleado.EmpleadoNombreCompleto = beTrabajador.Nombre;
                    uiBonoEmpleado.BonoID                 = bonoId;
                    uiBonoEmpleado.BonoTipo               = bonoTipo;
                    uiBonoEmpleado.BonoNombre             = bonoNombre;

                    switch (bonoId)
                    {
                    case 1:     //Disciplina
                        bonoMonto = this.BonoDisciplina(beTrabajador.Codigo);
                        break;

                    case 2:     //Meta
                        int idSalaTrabajador  = 0;
                        var beEmpleadoRecurso = new LN.Empleado().ObtenerRecurso(beTrabajador.Codigo);
                        if (beEmpleadoRecurso != null)
                        {
                            idSalaTrabajador = beEmpleadoRecurso.Sala.IdSala;
                            bonoMonto        = this.BonoMeta(idSalaTrabajador, beTrabajador.Codigo);
                        }
                        beEmpleadoRecurso = null;
                        break;

                    case 3:     //Cargo
                        bonoMonto = this.BonoCargo(beTrabajador.Codigo);
                        break;

                    default:
                        bonoMonto = 0.0;
                        break;
                    }

                    uiBonoEmpleado.Monto  = bonoMonto;
                    uiBonoEmpleado.Motivo = "";

                    if (bonoMonto > 0.0)
                    {
                        lstUiBonosEmpleados.Add(uiBonoEmpleado);
                    }
                }

                #endregion

                #region Mostrar

                this.txtAnhoMes.Text  = fechaPeriodo.ToString("yyyy/MM");
                this.txtTipoBono.Text = bonoNombre;

                var source = new BindingSource();
                source.DataSource        = this.lstUiBonosEmpleados;
                this.dgvBonos.DataSource = source;

                this.txtNroBonos.Text = this.lstUiBonosEmpleados.Count.ToString();

                #endregion
            }
            catch (Exception ex)
            {
                Util.ErrorMessage(ex.Message);
            }
            finally
            {
                Util.PointerReady(this);
            }
        }
示例#14
0
        private void BtnSave_Click(object sender, EventArgs e)
        {
            try
            {
                this.ValidacionesFormulario();

                #region General

                var sexo           = (BE.Record) this.CbxSexo.SelectedItem;
                var tipodocumento  = (BE.Record) this.CbxTipoDocumento.SelectedItem;
                var estadocivil    = (BE.Record) this.CbxEstadoCivil.SelectedItem;
                var paisnacimiento = (BE.Pais) this.CbxPaisNacimiento.SelectedItem;

                if (paisnacimiento.Codigo == "PER")
                {
                    int codDepartamentoNacimiento = int.Parse(((BE.Record) this.CbxDepartamentoNacimiento.SelectedItem).Codigo);
                    int codProvinciaNacimiento    = int.Parse(((BE.Record) this.CbxProvinciaNacimiento.SelectedItem).Codigo);
                    int codDistritoNacimiento     = 0;
                    var oBeTbUbigeoNacimiento     = new BE.Ubigeo()
                    {
                        Departamento = codDepartamentoNacimiento,
                        Provincia    = codProvinciaNacimiento,
                        Distrito     = codDistritoNacimiento
                    };
                    new LN.Ubigeo().Obtener(ref oBeTbUbigeoNacimiento);
                    this.beCandidatoGeneral.UbigeoNacimiento = oBeTbUbigeoNacimiento;
                }
                else
                {
                    this.beCandidatoGeneral.UbigeoNacimiento = new BE.Ubigeo()
                    {
                        Codigo = ""
                    };
                }

                this.beCandidatoGeneral.Codigo          = this.TxtCodigo.Text;
                this.beCandidatoGeneral.Nombres         = this.TxtNombres.Text;
                this.beCandidatoGeneral.ApellidoPaterno = this.TxtApellidoPaterno.Text;
                this.beCandidatoGeneral.ApellidoMaterno = this.TxtApellidoMaterno.Text;
                this.beCandidatoGeneral.FechaNacimiento = this.DtpFechaNacimiento.Value;
                this.beCandidatoGeneral.Sexo            = sexo;
                this.beCandidatoGeneral.TipoDocumento   = tipodocumento;
                this.beCandidatoGeneral.NumeroDocumento = this.TxtNumeroDocumento.Text;
                this.beCandidatoGeneral.PaisNacimiento  = paisnacimiento;
                this.beCandidatoGeneral.EstadoCivil     = estadocivil;
                this.beCandidatoGeneral.Activo          = this.CbxActivo.Checked;

                #endregion

                #region Contacto
                if (this.beCandidatoGeneral.Contacto == null)
                {
                    this.beCandidatoGeneral.Contacto = new BE.ClsBeTbCandidatoContacto();
                }

                int codDepartamento = int.Parse(((BE.Record) this.CbxDepartamento.SelectedItem).Codigo);
                int codProvincia    = int.Parse(((BE.Record) this.CbxProvincia.SelectedItem).Codigo);
                int codDistrito     = int.Parse(((BE.Record) this.CbxDistrito.SelectedItem).Codigo);
                var oBeTbUbigeo     = new BE.Ubigeo()
                {
                    Departamento = codDepartamento,
                    Provincia    = codProvincia,
                    Distrito     = codDistrito
                };
                new LN.Ubigeo().Obtener(ref oBeTbUbigeo);
                this.beCandidatoGeneral.Contacto.Ubigeo = oBeTbUbigeo;

                this.beCandidatoGeneral.Contacto.Zona       = this.TxtZona.Text;
                this.beCandidatoGeneral.Contacto.Direccion  = this.TxtDireccion.Text;
                this.beCandidatoGeneral.Contacto.Referencia = this.TxtReferencia.Text;
                this.beCandidatoGeneral.Contacto.Email      = this.TxtEmail.Text;

                //Telefonos
                if (this.beCandidatoGeneral.Telefonos.Count == 1)
                {
                    this.beCandidatoGeneral.Telefonos[0].CodTipoTelefono = this.CbxTelefono.SelectedValue.ToString();
                    this.beCandidatoGeneral.Telefonos[0].Numero          = this.TxtTelefono.Text;
                }
                else
                {
                    this.beCandidatoGeneral.Telefonos.Add(new BE.ClsBeTbCandidatoTelefono()
                    {
                        CodTipoTelefono = this.CbxTelefono.SelectedValue.ToString(),
                        Numero          = this.TxtTelefono.Text,
                        IdCandidato     = beCandidatoGeneral.IdCandidato
                    });
                }
                #endregion

                #region Contratacion
                if (this.beCandidatoGeneral.Contratacion == null)
                {
                    this.beCandidatoGeneral.Contratacion = new BE.ClsBeTbCandidatoContratacion()
                    {
                        IdCandidato = beCandidatoGeneral.IdCandidato
                    }
                }
                ;

                this.beCandidatoGeneral.Contratacion.InduccionFechaInicio = this.DtpInicioInduccion.Value;
                if (this.CbxConcluyoInduccion.Checked)
                {
                    this.beCandidatoGeneral.Contratacion.InduccionFechaFin = this.DtpFinInduccion.Value;
                }
                else
                {
                    this.beCandidatoGeneral.Contratacion.InduccionFechaFin = null;
                }
                this.beCandidatoGeneral.Contratacion.Induccion     = this.CbxAproboInduccion.Checked;
                this.beCandidatoGeneral.Contratacion.Disciplina    = this.CbxAproboDisciplinario.Checked;
                this.beCandidatoGeneral.Contratacion.Informe       = this.CbxAproboAdministrativo.Checked;
                this.beCandidatoGeneral.Contratacion.Documentacion = this.CbxAproboDocumentos.Checked;
                this.beCandidatoGeneral.Contratacion.Observacion   = this.TxtObservacion.Text;

                double sueldo = 0.0;
                if (double.TryParse(this.txtSueldo.Text, out sueldo) == false)
                {
                    sueldo = 0.0;
                }
                this.beCandidatoGeneral.Contratacion.Sueldo = sueldo;

                if (this.cboCargo.SelectedIndex > 0)
                {
                    var uiCargo = (BE.UI.Cargo) this.cboCargo.SelectedItem;

                    var beCargo = new BE.Cargo();
                    beCargo.IdCargo     = uiCargo.Id;
                    beCargo.Nombre      = uiCargo.Nombre;
                    beCargo.Descripcion = uiCargo.Descripcion;
                    beCargo.Activo      = uiCargo.Activo;
                    beCargo.Bono        = uiCargo.Bono;
                    uiCargo             = null;

                    this.beCandidatoGeneral.Contratacion.Cargo = beCargo;
                }

                #endregion

                int idUsuarioSesion = ((MdiMain)this.MdiParent).uiUsuario.ID;

                bool rpta = false;

                var lnCanditato = new LN.Candidato();
                if (beCandidatoGeneral.IdCandidato == 0)
                {
                    beCandidatoGeneral.IdUsuarioCreador = idUsuarioSesion;
                    rpta = lnCanditato.Insertar(ref beCandidatoGeneral);

                    if (rpta)
                    {
                        if (this.contratarPostulante == true)
                        {
                            rpta = new LN.Postulante().Contratar(beCandidatoGeneral.IdPostulante);
                        }
                    }
                }
                else
                {
                    beCandidatoGeneral.IdUsuarioModificador = idUsuarioSesion;
                    rpta = lnCanditato.Actualizar(beCandidatoGeneral);
                }

                if (rpta)
                {
                    Util.InformationMessage("Se guardo los datos del candidato");
                    this.frmList.CargarCandidatos();
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                Util.ErrorMessage(ex.Message);
            }
        }