Пример #1
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.dgvObservaciones.CurrentRow != null)
                {
                    if (Util.ConfirmationMessage("¿Desea eliminar la observación seleccionada?") == false)
                    {
                        return;
                    }

                    var uiObservacionEmpleado = (BE.UI.ObservacionEmpleado) this.dgvObservaciones.CurrentRow.DataBoundItem;

                    int  idObservacion = uiObservacionEmpleado.ID;
                    bool rpta          = new LN.ObservacionEmpleado().Eliminar(idObservacion);

                    if (rpta == true)
                    {
                        Util.InformationMessage("Se eliminó la observación seleccionada");
                        this.CargarListadoObservaciones();
                    }
                }
            }
            catch (Exception ex)
            {
                Util.ErrorMessage(ex.Message);
            }
        }
Пример #2
0
        /// <summary>
        /// Bono que se da si cumple 3 condiciones :
        /// 1. Tener maximo de 3 tardanzas por mes
        /// 2. Tener máximo de 1 falta por mes
        /// 3. Tener máximo de 5 observaciones por mes
        /// </summary>
        /// <param name="codigoEmpleado">Codigo de Empleado o Candidato</param>
        private double BonoDisciplina(string codigoEmpleado)
        {
            try
            {
                bool cumpleDisciplina = false;

                double bonoDisciplina   = 150.0;
                int    maxTardanzas     = 3;
                int    maxFaltas        = 1;
                int    maxObservaciones = 5;

                var uiAsistenciaResumen = new LN.Planilla(this.Anho, this.Mes).ObtenerResumenAsistenciaEmpleado(codigoEmpleado);

                if (uiAsistenciaResumen != null)
                {
                    // 1. Tener maximo de 3 tardanzas por mes
                    if (uiAsistenciaResumen.CantidadTardanzas <= maxTardanzas)
                    {
                        cumpleDisciplina = true;
                    }

                    // 2. Tener máximo de 1 falta por mes
                    if (uiAsistenciaResumen.CantidadInasistencias <= maxFaltas)
                    {
                        cumpleDisciplina = true;
                    }
                }

                uiAsistenciaResumen = null;

                // 3. Tener máximo de 5 observaciones por mes
                int cntObservaciones = new LN.ObservacionEmpleado().CantidadObservacionesEmpleado(this.Anho, this.Mes, codigoEmpleado);
                if (cntObservaciones <= maxObservaciones)
                {
                    cumpleDisciplina = true;
                }

                if (cumpleDisciplina == false)
                {
                    bonoDisciplina = 0.0;
                }

                return(bonoDisciplina);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #3
0
        public void CargarListadoObservaciones()
        {
            try
            {
                int anho = int.Parse(this.cboAnho.SelectedValue.ToString());
                int mes  = int.Parse(this.cboMes.SelectedValue.ToString());

                var lstUiObservaciones = new LN.ObservacionEmpleado().Listar(anho, mes);

                var sorted = new SortableBindingList <BE.UI.ObservacionEmpleado>(lstUiObservaciones);

                this.dgvObservaciones.DataSource = sorted;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #4
0
        /// <summary>
        /// Bono que se da si cumple con las siguientes condiciones
        /// 1. Grupal :
        /// 1.1. Alcanzar la meta de la sala.
        /// 1.2. Tener un máximo de 30% de tardanzas por sala
        /// 1.3. Tener un máximo de 30% de faltas por sala
        /// 1.4. Tener un máximo de 30% de observaciones.
        /// </summary>
        /// <param name="idSala">ID de la Sala</param>
        /// <returns></returns>
        private double BonoMetaGrupal(int idSala)
        {
            try
            {
                double bonoMeta = 0.0;

                #region Obtener Monto de Bono Grupal

                var beBono = new LN.Bono().Obtener(2);
                if (beBono != null)
                {
                    bonoMeta = beBono.Monto;
                }
                beBono = null;

                #endregion

                #region Meta Grupal

                bool cumpleMetaGrupal         = false;
                int  cantidadTrabajadoresSala = 0;

                // Alcanzar la meta de la sala
                bool cumpleMetaSala = false;
                var  beMetaSala     = new LN.MetaSala().Obtener(idSala, this.Anho, this.Mes);
                if (beMetaSala != null)
                {
                    cumpleMetaSala           = beMetaSala.Cumplido;
                    bonoMeta                 = beMetaSala.MontoPersonal;
                    cantidadTrabajadoresSala = beMetaSala.CantidadPersonal;
                }
                else
                {
                    throw new Exception("No existe una meta definida para esta sala y periodo");
                }
                beMetaSala = null;

                //Tener un máximo de 30% de tardanzas por sala
                bool   cumpleMetaTardanzas    = false;
                double maxPorcentajeTardanzas = 30.0;
                double porcentajeTardanzas    = 0;
                if (porcentajeTardanzas <= maxPorcentajeTardanzas)
                {
                    cumpleMetaTardanzas = true;
                }
                //FALTA

                //Tener un máximo de 30% de faltas por sala
                bool   cumpleMetaFaltas    = false;
                double maxPorcentajeFaltas = 30.0;
                double porcentajeFaltas    = 0.0;
                if (porcentajeFaltas <= maxPorcentajeFaltas)
                {
                    cumpleMetaFaltas = true;
                }
                //FALTA

                //Tener un máximo de 30% de observaciones
                bool   cumpleMetaObservaciones    = false;
                double maxPorcentajeObservaciones = 30.0;

                int    cntObservacionesSala    = new LN.ObservacionEmpleado().CantidadObservacionesSala(this.Anho, this.Mes, idSala);
                double porcentajeObservaciones = (cntObservacionesSala / cantidadTrabajadoresSala) * 100;
                if (porcentajeObservaciones <= maxPorcentajeObservaciones)
                {
                    cumpleMetaObservaciones = true;
                }

                if (cumpleMetaSala == true &&
                    cumpleMetaFaltas == true &&
                    cumpleMetaTardanzas == true &&
                    cumpleMetaObservaciones == true)
                {
                    cumpleMetaGrupal = true;
                }

                #endregion

                if (cumpleMetaGrupal == false)
                {
                    bonoMeta = 0.0;
                }

                return(bonoMeta);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #5
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                #region Validaciones

                if (this.cboEmpleado.SelectedIndex == 0)
                {
                    this.cboEmpleado.Focus();
                    throw new Exception("Seleccione un Empleado");
                }

                if (this.cboSala.SelectedIndex == 0)
                {
                    this.cboSala.Focus();
                    throw new Exception("Seleccione una Sala");
                }

                if (this.cboObservacion.SelectedIndex == 0)
                {
                    this.cboObservacion.Focus();
                    throw new Exception("Seleccione un Tipo de Observación");
                }

                if (this.txtDescripcion.Text.Trim().Length == 0)
                {
                    this.txtDescripcion.Focus();
                    throw new Exception("Ingrese la Observación");
                }

                #endregion

                #region Guardar

                this.uiObservacionEmpleado.Fecha                  = this.dtpFecha.Value;
                this.uiObservacionEmpleado.EmpleadoCodigo         = ((BE.Record) this.cboEmpleado.SelectedItem).Codigo;
                this.uiObservacionEmpleado.EmpleadoNombreCompleto = ((BE.Record) this.cboEmpleado.SelectedItem).Nombre;
                this.uiObservacionEmpleado.SalaID                 = ((BE.Sala) this.cboSala.SelectedItem).IdSala;
                this.uiObservacionEmpleado.SalaNombre             = ((BE.Sala) this.cboSala.SelectedItem).Nombre;
                this.uiObservacionEmpleado.ObservacionID          = ((BE.UI.Observacion) this.cboObservacion.SelectedItem).Id;
                this.uiObservacionEmpleado.ObservacionNombre      = ((BE.UI.Observacion) this.cboObservacion.SelectedItem).Nombre;
                this.uiObservacionEmpleado.ObservacionDescripcion = this.txtDescripcion.Text.Trim();

                bool   rpta = false;
                string msg  = "";
                var    lnObservacionEmpleado = new LN.ObservacionEmpleado();
                if (this.uiObservacionEmpleado.ID == 0) //Nuevo
                {
                    rpta = lnObservacionEmpleado.Insertar(ref this.uiObservacionEmpleado);
                    if (true)
                    {
                        msg = "Se registro la nueva observación";
                    }
                }
                else  //Actualizar
                {
                    rpta = lnObservacionEmpleado.Actualizar(this.uiObservacionEmpleado);
                    if (true)
                    {
                        msg = "Se actualizo la observación";
                    }
                }

                if (rpta == true)
                {
                    Util.InformationMessage(msg);
                    this.frmList.CargarListadoObservaciones();
                    this.Close();
                }

                #endregion
            }
            catch (Exception ex)
            {
                Util.ErrorMessage(ex.Message);
            }
        }