示例#1
0
        private BE.BonoEmpleado UiToBe(BE.UI.BonoEmpleado uiBonoEmpleado)
        {
            try
            {
                var beBonoEmpleado = new BE.BonoEmpleado();

                beBonoEmpleado.IdBonoEmpleado = uiBonoEmpleado.ID;
                beBonoEmpleado.Fecha          = uiBonoEmpleado.Fecha;
                beBonoEmpleado.CodigoEmpleado = uiBonoEmpleado.EmpleadoCodigo;
                beBonoEmpleado.Motivo         = uiBonoEmpleado.Motivo;
                beBonoEmpleado.Monto          = uiBonoEmpleado.Monto;

                var beBono = new BE.Bono();
                beBono.IdBono       = uiBonoEmpleado.BonoID;
                beBono.Nombre       = uiBonoEmpleado.BonoNombre;
                beBono.Calculado    = uiBonoEmpleado.BonoTipo.Equals("Calculado"); //Manual o Calculado
                beBonoEmpleado.Bono = beBono;

                return(beBonoEmpleado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#2
0
 public bool Eliminar(BE.UI.BonoEmpleado uiBonoEmpleado)
 {
     try
     {
         var beBonoEmpleado = this.UiToBe(uiBonoEmpleado);
         int rowsAffected   = new DA.BonoEmpleado().Eliminar(beBonoEmpleado.IdBonoEmpleado);
         return(rowsAffected > 0);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#3
0
 public bool Insertar(ref BE.UI.BonoEmpleado uiBonoEmpleado)
 {
     try
     {
         var beBonoEmpleado = this.UiToBe(uiBonoEmpleado);
         int rowsAffected   = new DA.BonoEmpleado().Insertar(ref beBonoEmpleado);
         uiBonoEmpleado.ID = beBonoEmpleado.IdBonoEmpleado;
         return(rowsAffected > 0);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#4
0
 private void Editar(BE.UI.BonoEmpleado uiBonoEmpleado)
 {
     try
     {
         var frmBonoMant = FrmAsignarBonoMant.Instance();
         frmBonoMant.MdiParent = this.MdiParent;
         frmBonoMant.Show();
         frmBonoMant.frmList = this;
         frmBonoMant.Cargar(uiBonoEmpleado);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#5
0
        public List <BE.UI.BonoEmpleado> Listar(int anho, int mes, string codigoEmpleado)
        {
            try
            {
                var lstUiBonoEmpleados = new List <BE.UI.BonoEmpleado>();

                var lstBeBonoEmpleados = new DA.BonoEmpleado().Listar(anho, mes, codigoEmpleado);
                foreach (BE.BonoEmpleado beBonoEmpleado in lstBeBonoEmpleados)
                {
                    BE.UI.BonoEmpleado uiBonoEmpleado = this.BeToUi(beBonoEmpleado);
                    lstUiBonoEmpleados.Add(uiBonoEmpleado);
                }

                return(lstUiBonoEmpleados);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#6
0
        private void Limpiar()
        {
            try
            {
                //Limpiar objeto
                this.uiBonoEmpleado = new BE.UI.BonoEmpleado();

                //Limpiar controles de edicion
                this.dtpFecha.Value = DateTime.Now;
                this.txtEmpleadoCodigo.Clear();
                this.CargarEmpleados();
                this.CargarTiposBonos();
                this.txtMotivo.Clear();
                this.txtMonto.Text = "0.00";
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#7
0
        public void Cargar(BE.UI.BonoEmpleado uiBonoEmpleado = null)
        {
            try
            {
                if (uiBonoEmpleado != null)
                {
                    this.uiBonoEmpleado = uiBonoEmpleado;

                    this.dtpFecha.Value            = this.uiBonoEmpleado.Fecha;
                    this.txtEmpleadoCodigo.Text    = this.uiBonoEmpleado.EmpleadoCodigo;
                    this.cboEmpleado.SelectedValue = this.uiBonoEmpleado.EmpleadoCodigo;
                    this.cboBono.SelectedValue     = this.uiBonoEmpleado.BonoID;
                    this.txtMonto.Text             = this.uiBonoEmpleado.Monto.ToString("N2");
                    this.txtMotivo.Text            = this.uiBonoEmpleado.Motivo;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#8
0
        private BE.UI.BonoEmpleado BeToUi(BE.BonoEmpleado beBonoEmpleado)
        {
            try
            {
                var uiBonoEmpleado = new BE.UI.BonoEmpleado();

                uiBonoEmpleado.ID                     = beBonoEmpleado.IdBonoEmpleado;
                uiBonoEmpleado.Fecha                  = beBonoEmpleado.Fecha;
                uiBonoEmpleado.EmpleadoCodigo         = beBonoEmpleado.CodigoEmpleado;
                uiBonoEmpleado.EmpleadoNombreCompleto = new LN.Empleado().ObtenerNombreCompleto(beBonoEmpleado.CodigoEmpleado);
                uiBonoEmpleado.BonoID                 = beBonoEmpleado.Bono.IdBono;
                uiBonoEmpleado.BonoTipo               = beBonoEmpleado.Bono.Calculado == true ? "Calculado" : "Manual"; //Manual o Calculado
                uiBonoEmpleado.BonoNombre             = beBonoEmpleado.Bono.Nombre;
                uiBonoEmpleado.Motivo                 = beBonoEmpleado.Motivo;
                uiBonoEmpleado.Monto                  = beBonoEmpleado.Monto;

                return(uiBonoEmpleado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.lstUiBonosEmpleados.Count == 0)
                {
                    throw new Exception("Debe realizar un calculo de bonos");
                }

                if (Util.ConfirmationMessage("¿Desea guardar los bonos calculados?") == false)
                {
                    return;
                }

                bool rpta           = false;
                var  lnBonoEmpleado = new LN.BonoEmpleado();
                for (int i = 0; i < this.lstUiBonosEmpleados.Count; i++)
                {
                    BE.UI.BonoEmpleado uiBonoEmpleado = this.lstUiBonosEmpleados[i];
                    rpta = lnBonoEmpleado.Insertar(ref uiBonoEmpleado);
                    this.lstUiBonosEmpleados[i].ID = uiBonoEmpleado.ID;
                }

                Util.InformationMessage("Se guardo los bonos calculados");

                if (this.frmList != null)
                {
                    this.frmList.CargarListadoBonos();
                }

                this.Close();
            }
            catch (Exception ex)
            {
                Util.ErrorMessage(ex.Message);
            }
        }
        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);
            }
        }