示例#1
0
        private BE.Vacacion UiToBe(BE.UI.Vacacion uiVacacion)
        {
            var beVacacion = new BE.Vacacion();

            beVacacion.IdVacacion = uiVacacion.Id;

            beVacacion.CodigoEmpleado      = uiVacacion.EmpleadoCodigo;
            beVacacion.PeriodoFechaInicial = uiVacacion.PeriodoFechaInicial;
            beVacacion.PeriodoFechaFinal   = uiVacacion.PeriodoFechaFinal;
            beVacacion.FechaInicial        = uiVacacion.VacacionFechaInicial;
            beVacacion.FechaFinal          = uiVacacion.VacacionFechaFinal;
            beVacacion.Dias = uiVacacion.VacacionDias;

            beVacacion.Sueldo               = uiVacacion.EmpleadoSueldo;
            beVacacion.AsignacionFamiliar   = uiVacacion.EmpleadoAsignacionFamiliar;
            beVacacion.PromedioHorasExtras  = uiVacacion.PromedioHorasExtras;
            beVacacion.PromedioBonificacion = uiVacacion.PromedioBonificacion;
            beVacacion.Redondeo             = uiVacacion.Redondeo;

            beVacacion.TipoComisionAfp = uiVacacion.PensionTipoComision;
            beVacacion.PensionMonto    = uiVacacion.PensionMonto;

            int anho = beVacacion.FechaInicial.Year;
            int mes  = beVacacion.FechaInicial.Month;

            if (uiVacacion.PensionTipo == BE.UI.TipoPensionEnum.AFP)
            {
                var beComisionAfp = new DA.AfpComision().Obtener(uiVacacion.PensionId, anho, mes);
                beVacacion.ComisionAfp = beComisionAfp;
            }
            else if (uiVacacion.PensionTipo == BE.UI.TipoPensionEnum.ONP)
            {
                var beComisionOnp = new DA.OnpComision().Obtener(anho, mes);
                beVacacion.ComisionOnp = beComisionOnp;
            }

            beVacacion.RetencionJudicialMonto = uiVacacion.RetencionJudicialMonto;

            beVacacion.TotalBruto     = uiVacacion.TotalBruto;
            beVacacion.TotalDescuento = uiVacacion.TotalDescuento;
            beVacacion.TotalNeto      = uiVacacion.TotalNeto;

            beVacacion.Detalle = new List <BE.VacacionDetalle>();
            foreach (BE.UI.VacacionDetalle uiVacacionDetalle in uiVacacion.Detalle)
            {
                var beVacacionDetalle = UiDetalleToBeDetalle(uiVacacionDetalle);
                beVacacion.Detalle.Add(beVacacionDetalle);
            }

            return(beVacacion);
        }
示例#2
0
        public bool Eliminar(BE.UI.Vacacion uiVacacion)
        {
            try
            {
                bool rpta = this.Eliminar(uiVacacion.Id);

                if (rpta)
                {
                    new DA.ClsDaTbEmpleado().Vacacion(uiVacacion.EmpleadoCodigo);
                }

                return(rpta);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#3
0
        /// <summary>
        /// Obtener la última vacación (mas reciente) del empleado
        /// </summary>
        /// <param name="codigoEmpleado">Codigo de empleado de consulta</param>
        /// <returns></returns>
        public BE.UI.Vacacion ObtenerUltimo(string codigoEmpleado)
        {
            try
            {
                BE.UI.Vacacion uiVacacion = null;

                var lstBeVacaciones = new DA.Vacacion().ListarPorEmpleado(codigoEmpleado);
                var beVacaciones    = lstBeVacaciones.FirstOrDefault();
                if (beVacaciones != null)
                {
                    uiVacacion = this.BeToUi(beVacaciones);
                }

                return(uiVacacion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#4
0
        public List <BE.UI.Vacacion> Listar(int anho, int mes)
        {
            try
            {
                List <BE.UI.Vacacion> lstUiVacaciones = new List <BE.UI.Vacacion>();

                List <BE.Vacacion> lstBeVacaciones = new DA.Vacacion().Listar(anho, mes);
                foreach (BE.Vacacion beVacacion in lstBeVacaciones)
                {
                    BE.UI.Vacacion uiVacacion = this.BeToUi(beVacacion);
                    lstUiVacaciones.Add(uiVacacion);
                }

                return(lstUiVacaciones);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#5
0
        public BE.UI.Vacacion Obtener(int idVacacion)
        {
            try
            {
                BE.UI.Vacacion uiVacacion = null;

                var daVacacion = new DA.Vacacion();

                BE.Vacacion beVacacion = daVacacion.Obtener(idVacacion);
                if (beVacacion != null)
                {
                    beVacacion.Detalle = daVacacion.ListarDetalle(idVacacion);

                    uiVacacion = this.BeToUi(beVacacion);
                }

                return(uiVacacion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#6
0
        public bool Insertar(ref BE.UI.Vacacion uiVacacion)
        {
            try
            {
                var beVacacion = this.UiToBe(uiVacacion);

                int rowsAffected = new DA.Vacacion().Insertar(ref beVacacion);

                uiVacacion.Id = beVacacion.IdVacacion;

                if (uiVacacion.Id > 0)
                {
                    string   codEmpleado   = uiVacacion.EmpleadoCodigo;
                    DateTime fechaVacacion = uiVacacion.VacacionFechaInicial;
                    int      rpta          = new DA.ClsDaTbEmpleado().Vacacion(codEmpleado, fechaVacacion);
                }

                return(rowsAffected > 0);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#7
0
        private BE.UI.Vacacion BeToUi(BE.Vacacion beVacacion)
        {
            var uiVacacion = new BE.UI.Vacacion();

            uiVacacion.Id = beVacacion.IdVacacion;

            uiVacacion.PeriodoFechaInicial  = beVacacion.PeriodoFechaInicial;
            uiVacacion.PeriodoFechaFinal    = beVacacion.PeriodoFechaFinal;
            uiVacacion.VacacionFechaInicial = beVacacion.FechaInicial;
            uiVacacion.VacacionFechaFinal   = beVacacion.FechaFinal;
            uiVacacion.VacacionDias         = beVacacion.Dias;

            uiVacacion.EmpleadoCodigo             = beVacacion.CodigoEmpleado;
            uiVacacion.EmpleadoNombreCompleto     = new LN.Empleado().ObtenerNombreCompleto(beVacacion.CodigoEmpleado);
            uiVacacion.EmpleadoSueldo             = beVacacion.Sueldo;
            uiVacacion.EmpleadoAsignacionFamiliar = beVacacion.AsignacionFamiliar;
            uiVacacion.PromedioHorasExtras        = beVacacion.PromedioHorasExtras;
            uiVacacion.PromedioBonificacion       = beVacacion.PromedioBonificacion;
            uiVacacion.Redondeo = beVacacion.Redondeo;

            if (beVacacion.ComisionAfp != null)
            {
                uiVacacion.PensionId     = beVacacion.ComisionAfp.Afp.IdAfp;
                uiVacacion.PensionTipo   = BE.UI.TipoPensionEnum.AFP;
                uiVacacion.PensionNombre = beVacacion.ComisionAfp.Afp.Nombre;
                uiVacacion.PensionMonto  = beVacacion.PensionMonto;

                uiVacacion.PensionTipoComision = beVacacion.TipoComisionAfp;

                double porcentaje = beVacacion.ComisionAfp.PorcentajeFondo + beVacacion.ComisionAfp.PorcentajeSeguro;
                switch (uiVacacion.PensionTipoComision)
                {
                case "FLUJO":
                    porcentaje += beVacacion.ComisionAfp.PorcentajeComisionFlujo;
                    break;

                case "MIXTA":
                    porcentaje += beVacacion.ComisionAfp.PorcentajeComisionMixta;
                    break;

                //case "SALDO":
                //    porcentaje += beVacacion.ComisionAfp.PorcentajeComisionFlujo;
                //    break;
                default:
                    porcentaje += 0.0;
                    break;
                }
                uiVacacion.PensionPorcentaje = porcentaje;
            }
            else if (beVacacion.ComisionOnp != null)
            {
                uiVacacion.PensionId     = 0;
                uiVacacion.PensionTipo   = BE.UI.TipoPensionEnum.ONP;
                uiVacacion.PensionNombre = "ONP";
                uiVacacion.PensionMonto  = beVacacion.PensionMonto;

                uiVacacion.PensionTipoComision = "";
                uiVacacion.PensionPorcentaje   = beVacacion.ComisionOnp.PorcentajeAporte;
            }

            uiVacacion.RetencionJudicialMonto = beVacacion.RetencionJudicialMonto;

            //uiVacacion.TotalBruto = beVacacion.TotalBruto;
            //uiVacacion.TotalDescuento = beVacacion.TotalDescuento;
            //uiVacacion.TotalNeto = beVacacion.TotalNeto;

            uiVacacion.Detalle = new List <BE.UI.VacacionDetalle>();
            foreach (BE.VacacionDetalle beVacacionDetalle in beVacacion.Detalle)
            {
                var uiVacacionDetalle = this.BeDetalleToUiDetalle(beVacacionDetalle);
                uiVacacion.Detalle.Add(uiVacacionDetalle);
            }

            return(uiVacacion);
        }