private List <NominaOtroPago> contruyeNominaListaOtrosPagos(List <CFDIReciboConcepto> listConceptosOtros) { NominaOtroPago otrosPagos = null; List <NominaOtroPago> listOtrosPagos = new List <NominaOtroPago>(); listConceptosOtros = listConceptosOtros == null ? new List <CFDIReciboConcepto>() : listConceptosOtros; if (listConceptosOtros.Count() > 0) { otrosPagos = new NominaOtroPago(); // List<NominaOtroPago> listOtrosPagos = new List<NominaOtroPago>(); int i; Double totalExento = 0.0, totalGravable = 0.0; for (i = 0; i < listConceptosOtros.Count(); i++) { if (listConceptosOtros[i].tipoNaturaleza != "CALCULO") { totalExento = totalExento + listConceptosOtros[i].importeExento; totalGravable = totalGravable + listConceptosOtros[i].importeGravable; } } listOtrosPagos.Add(contruyeNominaOtroPago(listConceptosOtros)); totalOtrosPagos = totalExento + totalGravable; // otrosPagos = listOtrosPagos; } return(listOtrosPagos); }
private NominaOtroPago contruyeNominaOtroPago(List <CFDIReciboConcepto> listConceptosOtros) { NominaOtroPago otroPago = new NominaOtroPago(); int i; Double total1 = 0.0, total2 = 0.0; for (i = 0; i < listConceptosOtros.Count(); i++) { if (i == 0) { total1 = listConceptosOtros[i].importeGravable + listConceptosOtros[i].importeExento; } if (i == 1) { total2 = listConceptosOtros[i].importeExento + listConceptosOtros[i].importeGravable; } } if (total1 < total2) { otroPago.Clave = (listConceptosOtros[0].claveConcepto); otroPago.Concepto = (listConceptosOtros[0].descripcionConcepto); otroPago.TipoOtroPago = (listConceptosOtros[0].claveSAT); otroPago.Importe = (UtileriasSat.castNumerosToBigDecimal(listConceptosOtros[0].importeExento)); otroPago.SubsidioAlEmpleo = (creaSubsidioAlEmpleo(total2)); } if (total1 > total2) { if (listConceptosOtros.Count() == 1) { otroPago.Clave = (listConceptosOtros[0].claveConcepto); otroPago.Concepto = (listConceptosOtros[0].descripcionConcepto); otroPago.TipoOtroPago = (listConceptosOtros[0].claveSAT); otroPago.Importe = (UtileriasSat.castNumerosToBigDecimal(listConceptosOtros[0].importeExento)); } else { otroPago.Clave = (listConceptosOtros[1].claveConcepto); otroPago.Concepto = (listConceptosOtros[1].descripcionConcepto); otroPago.TipoOtroPago = (listConceptosOtros[1].claveSAT); otroPago.Importe = (UtileriasSat.castNumerosToBigDecimal(listConceptosOtros[1].importeExento)); } otroPago.SubsidioAlEmpleo = (creaSubsidioAlEmpleo(total1)); } /* otroPago.Clave=(cfdiConceptoPercepcion.claveConcepto); * otroPago.Concepto=(cfdiConceptoPercepcion.descripcionConcepto); * otroPago.TipoOtroPago=(cfdiConceptoPercepcion.claveSAT); * otroPago.Importe=(UtileriasSat.castNumerosToBigDecimal(cfdiConceptoPercepcion.importeExento)); * * otroPago.SubsidioAlEmpleo=(creaSubsidioAlEmpleo(cfdiConceptoPercepcion.importeExento)); ///pendiente * //////// otroPago.setCompensacionSaldosAFavor(creaCompensacionSaldosAFavor());////pendiente */ return(otroPago); }
private List <NominaOtroPago> construyeSinSubsidio() { //--- List <NominaOtroPago> listOtrosPagos = new List <NominaOtroPago>(); NominaOtroPago otroPago = new NominaOtroPago(); otroPago.Clave = conceptoNominaSubsidio.clave; //(listConceptosOtros[0].claveConcepto); otroPago.Concepto = conceptoNominaSubsidio.descripcion; //(listConceptosOtros[0].descripcionConcepto); otroPago.TipoOtroPago = "002"; //(listConceptosOtros[0].claveSAT); otroPago.Importe = (UtileriasSat.castNumerosToBigDecimal(0.00)); otroPago.SubsidioAlEmpleo = (creaSubsidioAlEmpleo(0)); listOtrosPagos.Add(otroPago); return(listOtrosPagos); }