Exemple #1
0
 public decimal CalcularImpuestoRenta(datRetRelDepTyp item)
 {
     try
     {
         double BaseImponible = 0;
         BaseImponible = Convert.ToDouble(item.suelSal + item.decimCuar + item.decimCuar + item.fondoReserva + item.partUtil + item.otrosIngRenGrav) -
                         Convert.ToDouble(item.deducSalud + item.deducAliement + item.deducVivienda + item.deducEduca + item.deducVestim);
         double exedente                   = 0;
         double fraccionBasica             = 0;
         double porcentajeFraccionExedente = 0;
         double impuestoFraccionBasica     = 0;
         double valorIR = 0;
         foreach (ro_tabla_Impu_Renta_Info item_ in list_base_calculo)
         {
             if (BaseImponible >= item_.FraccionBasica)
             {
                 fraccionBasica             = Convert.ToDouble(item_.FraccionBasica);
                 porcentajeFraccionExedente = Convert.ToDouble(item_.Por_ImpFraccion_Exce);
                 impuestoFraccionBasica     = Convert.ToDouble(item_.ImpFraccionBasica);
                 break;
             }
         }
         exedente = BaseImponible - fraccionBasica;
         valorIR  = impuestoFraccionBasica + (exedente * porcentajeFraccionExedente * 0.01);
         return(Convert.ToDecimal(valorIR));
     }
     catch (Exception)
     {
         return(0);
     }
 }
Exemple #2
0
        public rdep get_info_xml(int IdEmpresa, int IdRdep)
        {
            try
            {
                info_empresa = bus_empresa.get_info(IdEmpresa);
                rdep.numRuc  = info_empresa.em_ruc;

                datRetRelDepTyp detalle = new datRetRelDepTyp();
                rdep.retRelDep = new List <datRetRelDepTyp>();

                List <ro_rdep_det_Info> Lista_RDEP = new List <ro_rdep_det_Info>();

                Lista_RDEP = oData.get_info_xml(IdEmpresa, IdRdep);

                Lista_RDEP.ForEach(item =>
                {
                    rdep.anio = Convert.ToString(item.pe_anio);

                    datRetRelDepTyp info_det           = new datRetRelDepTyp();
                    info_det.empleado                  = new datEmpTyp();
                    info_det.empleado.benGalpg         = benGalpgType.NO;
                    info_det.empleado.tipIdRet         = datEmpTypTipIdRet.C;
                    info_det.empleado.idRet            = item.pe_cedulaRuc;
                    info_det.empleado.apellidoTrab     = item.pe_apellido.Replace("Ñ", "N").Trim();
                    info_det.empleado.nombreTrab       = item.pe_nombre.Replace("Ñ", "N").Trim();
                    info_det.empleado.apellidoTrab     = info_det.empleado.apellidoTrab.Replace("  ", " ").Trim();
                    info_det.empleado.nombreTrab       = info_det.empleado.nombreTrab.Replace("  ", " ").Trim();
                    info_det.empleado.estab            = item.Su_CodigoEstablecimiento;
                    info_det.empleado.residenciaTrab   = resciTyp.Item01;
                    info_det.empleado.paisResidencia   = "593";
                    info_det.empleado.aplicaConvenio   = convImposTyp.NA;
                    info_det.empleado.tipoTrabajDiscap = discapTyp.Item01;
                    info_det.empleado.porcentajeDiscap = "0";
                    info_det.empleado.tipIdDiscap      = tipIdDiscapTyp.N;
                    info_det.empleado.idDiscap         = "999";
                    info_det.deducAliementSpecified    = true;
                    info_det.deducVestimSpecified      = true;
                    info_det.deducSaludSpecified       = true;
                    info_det.deducEducaSpecified       = true;
                    info_det.deducViviendaSpecified    = true;
                    info_det.deducArtycultSpecified    = true;
                    info_det.suelSal                  = (item.Sueldo) == null ? Convert.ToDecimal(0.00) : Convert.ToDecimal(item.Sueldo);
                    info_det.sobSuelComRemu           = (item.IngresoVarios) == null ? Convert.ToDecimal(0.00) : Convert.ToDecimal(item.IngresoVarios);
                    info_det.partUtil                 = Convert.ToDecimal(item.Utilidades);
                    info_det.intGrabGen               = Convert.ToDecimal(item.IngresoPorOtrosEmpleaodres);
                    info_det.impRentEmpl              = Convert.ToDecimal(item.ImpuestoRentaAsumidoPorEsteEmpleador);
                    info_det.decimTer                 = (item.DecimoTercerSueldo) == null ? Convert.ToDecimal(0.00) : Convert.ToDecimal(item.DecimoTercerSueldo);
                    info_det.decimCuar                = (item.DecimoCuartoSueldo) == null ? Convert.ToDecimal(0.00) : Convert.ToDecimal(item.DecimoCuartoSueldo);
                    info_det.fondoReserva             = (item.FondosReserva) == null ? Convert.ToDecimal(0.00) : Convert.ToDecimal(item.FondosReserva);
                    info_det.salarioDigno             = 0;
                    info_det.otrosIngRenGrav          = Convert.ToDecimal(item.OtrosIngresosRelacionDependencia);
                    info_det.ingGravConEsteEmpl       = Convert.ToDecimal(item.IngresosGravadorPorEsteEmpleador);
                    info_det.sisSalNet                = "1";
                    info_det.apoPerIess               = Convert.ToDecimal(item.AportePErsonal);
                    info_det.aporPerIessConOtrosEmpls = Convert.ToDecimal(item.IessPorOtrosEmpleadores);
                    info_det.deducVivienda            = Convert.ToDecimal(item.GastoVivienda);
                    info_det.deducSalud               = Convert.ToDecimal(item.GastoSalud);
                    info_det.deducEduca               = Convert.ToDecimal(item.GastoEucacion);
                    info_det.deducAliement            = Convert.ToDecimal(item.GastoAlimentacion);
                    info_det.deducVestim              = Convert.ToDecimal(item.GastoVestimenta);
                    info_det.deducArtycult            = 0;
                    info_det.basImp              = Convert.ToDecimal((item.BaseImponibleGravada));
                    info_det.impRentCaus         = Convert.ToDecimal((item.ImpuestoRentaCausado));
                    info_det.valRetAsuOtrosEmpls = Convert.ToDecimal((item.ValorImpuestoPorOtroEmplador));
                    info_det.valImpAsuEsteEmpl   = Convert.ToDecimal((item.ValorImpuestoPorEsteEmplador));
                    info_det.valRet              = Convert.ToDecimal((item.ValorImpuestoRetenidoTrabajador));
                    info_det.exoDiscap           = Convert.ToDecimal(item.ExoneraionPorDiscapacidad);
                    info_det.exoTerEd            = Convert.ToDecimal(item.ExoneracionPorTerceraEdad);

                    rdep.retRelDep.Add(info_det);
                });
                return(rdep);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #3
0
        public rdep get_list(int IdEmpresa, int Anio, decimal IdEmpleado)
        {
            try
            {
                info_empresa      = bus_empresa.get_info(IdEmpresa);
                list_base_calculo = odata_base_Calculo.get_list(Anio).OrderByDescending(v => v.Secuencia).ToList();
                rdp.anio          = Anio.ToString();
                rdp.numRuc        = info_empresa.em_ruc;
                datRetRelDepTyp detalle = new datRetRelDepTyp();
                rdp.retRelDep = new List <datRetRelDepTyp>();
                var lis = odata.gett_list(IdEmpresa, Anio, IdEmpleado);
                lis.ForEach(item =>
                {
                    if (item.pe_cedulaRuc == "0927181131")
                    {
                    }
                    datRetRelDepTyp info_det       = new datRetRelDepTyp();
                    info_det.empleado              = new datEmpTyp();
                    info_det.empleado.benGalpg     = benGalpgType.NO;
                    info_det.empleado.tipIdRet     = datEmpTypTipIdRet.C;
                    info_det.empleado.idRet        = item.pe_cedulaRuc;
                    info_det.empleado.apellidoTrab = item.pe_apellido.Replace("Ñ", "N").Trim();
                    info_det.empleado.nombreTrab   = item.pe_nombre.Replace("Ñ", "N").Trim();

                    info_det.empleado.apellidoTrab = info_det.empleado.apellidoTrab.Replace("  ", " ").Trim();
                    info_det.empleado.nombreTrab   = info_det.empleado.nombreTrab.Replace("  ", " ").Trim();


                    info_det.empleado.estab            = item.Su_CodigoEstablecimiento;
                    info_det.empleado.residenciaTrab   = resciTyp.Item01;
                    info_det.empleado.paisResidencia   = "593";
                    info_det.empleado.aplicaConvenio   = convImposTyp.NA;
                    info_det.empleado.tipIdDiscap      = tipIdDiscapTyp.N;
                    info_det.empleado.tipoTrabajDiscap = discapTyp.Item01;
                    info_det.empleado.porcentajeDiscap = "0";
                    info_det.empleado.idDiscap         = "999";
                    info_det.deducAliementSpecified    = true;
                    info_det.deducVestimSpecified      = true;
                    info_det.deducSaludSpecified       = true;
                    info_det.deducEducaSpecified       = true;
                    info_det.deducViviendaSpecified    = true;
                    info_det.deducArtycultSpecified    = true;
                    info_det.deducArtycult             = 0;
                    info_det.suelSal                  = (item.Sueldo) == null?Convert.ToDecimal(0.00):Convert.ToDecimal(item.Sueldo);
                    info_det.sobSuelComRemu           = (item.IngresoVarios) == null ? Convert.ToDecimal(0.00) : Convert.ToDecimal(item.IngresoVarios);
                    info_det.partUtil                 = Convert.ToDecimal(item.Utilidades);
                    info_det.intGrabGen               = 0;
                    info_det.impRentEmpl              = 0;
                    info_det.decimTer                 = (item.DecimoTercerSueldo) == null ? Convert.ToDecimal(0.00) : Convert.ToDecimal(item.DecimoTercerSueldo);
                    info_det.decimCuar                = (item.DecimoCuartoSueldo) == null ? Convert.ToDecimal(0.00) : Convert.ToDecimal(item.DecimoCuartoSueldo);
                    info_det.fondoReserva             = (item.FondosReserva) == null ? Convert.ToDecimal(0.00) : Convert.ToDecimal(item.FondosReserva);
                    info_det.salarioDigno             = 0;
                    info_det.otrosIngRenGrav          = 0;
                    info_det.sisSalNet                = "1";
                    info_det.apoPerIess               = Convert.ToDecimal(item.AportePErsonal);
                    info_det.aporPerIessConOtrosEmpls = 0;
                    info_det.deducVivienda            = Convert.ToDecimal(item.GastoVivienda);
                    info_det.deducSalud               = Convert.ToDecimal(item.GastoSalud);
                    info_det.deducEduca               = Convert.ToDecimal(item.GastoEucacion);
                    info_det.deducAliement            = Convert.ToDecimal(item.GastoAlimentacion);
                    info_det.deducVestim              = Convert.ToDecimal(item.GastoVestimenta);
                    info_det.deducArtycult            = 0;
                    info_det.exoDiscap                = 0;
                    info_det.exoTerEd                 = 0;
                    info_det.basImp              = Convert.ToDecimal((info_det.suelSal + info_det.sobSuelComRemu) - (info_det.deducVivienda + info_det.deducSalud + info_det.deducEduca + info_det.deducAliement + info_det.deducVestim + info_det.apoPerIess));
                    info_det.impRentCaus         = CalcularImpuestoRenta(info_det);
                    info_det.valRetAsuOtrosEmpls = 0;
                    info_det.valImpAsuEsteEmpl   = 0;
                    info_det.valRet              = 0;
                    info_det.ingGravConEsteEmpl  = info_det.suelSal + info_det.sobSuelComRemu;
                    info_det.intGrabGen          = 0;

                    rdp.retRelDep.Add(info_det);
                });
                return(rdp);
            }
            catch (Exception)
            {
                throw;
            }
        }