private NominaPercepcionesPercepcionHorasExtra contruyeNominaHoraExtra(CFDIReciboHrsExtras cfdiReciboHrsExtras) { NominaPercepcionesPercepcionHorasExtra horaExtra = new NominaPercepcionesPercepcionHorasExtra(); horaExtra.Dias = (cfdiReciboHrsExtras.dias); horaExtra.HorasExtra = (cfdiReciboHrsExtras.horasExtras); Double importePagado = cfdiReciboHrsExtras.importeExento + cfdiReciboHrsExtras.importeGravable; horaExtra.ImportePagado = (UtileriasSat.castNumerosToImporteMX(importePagado)); ///pendiente horaExtra.TipoHoras = (cfdiReciboHrsExtras.tipoHoras); return(horaExtra); }
private Nomina cargaConceptosANomina(Nomina nomina, List <CFDIReciboConcepto> listConceptos, List <CFDIReciboHrsExtras> listReciboHorasExtras) { totalDeducciones = 0.0; totalPercepciones = 0.0; totalOtrosPagos = 0.0; listConceptos = listConceptos == null ? new List <CFDIReciboConcepto>() : listConceptos; if (listConceptos.Count() > 0) { if (nomina == null) { nomina = new Nomina(); } List <CFDIReciboConcepto> listPercepciones = new List <CFDIReciboConcepto>(); List <CFDIReciboConcepto> listOtrosPagos = new List <CFDIReciboConcepto>(); List <CFDIReciboConcepto> listDeducciones = new List <CFDIReciboConcepto>(); int i; for (i = 0; i < listConceptos.Count(); i++) { if (listConceptos[i].otroPago) { listOtrosPagos.Add(listConceptos[i]); } else if (string.Equals(listConceptos[i].tipoNaturaleza, ManejadorEnum.GetDescription(Naturaleza.PERCEPCION))) { listPercepciones.Add(listConceptos[i]); } else if (string.Equals(listConceptos[i].tipoNaturaleza, ManejadorEnum.GetDescription(Naturaleza.DEDUCCION))) { listDeducciones.Add(listConceptos[i]); } } nomina.Percepciones = (contruyeNominaListaPercepciones(listPercepciones, listReciboHorasExtras)); if (listOtrosPagos.Any()) { nomina.OtrosPagos = (contruyeNominaListaOtrosPagos(listOtrosPagos).ToArray()); } else { nomina.OtrosPagos = (construyeSinSubsidio().ToArray()); } nomina.Deducciones = (contruyeNominaListaDeducciones(listDeducciones)); nomina.TotalPercepciones = (UtileriasSat.castNumerosToImporteMX(totalPercepciones)); nomina.TotalOtrosPagos = (UtileriasSat.castNumerosToImporteMX(totalOtrosPagos)); nomina.TotalDeducciones = (UtileriasSat.castNumerosToImporteMX(totalDeducciones)); } return(nomina); }
private NominaReceptor construyeNominaReceptor(CFDIEmpleado cfdiEmpleado) { NominaReceptor receptor = new NominaReceptor(); receptor.Curp = (cfdiEmpleado.CURP); if (cfdiEmpleado.noSeguroSocial == null ? false : cfdiEmpleado.noSeguroSocial.Trim().Length > 0) { receptor.NumSeguridadSocial = (cfdiEmpleado.noSeguroSocial); } if (cfdiEmpleado.fechaInicioRelLaboral != null) { receptor.FechaInicioRelLaboral = (UtileriasSat.castXmlFechaFormatoIso8601(cfdiEmpleado.fechaInicioRelLaboral.GetValueOrDefault())); } if (cfdiEmpleado.antiguedad != null) { //"P".concat(String.valueOf(cfdiEmpleado.getAntiguedad())).concat("W") receptor.Antigüedad = (string.Concat("P", string.Concat(cfdiEmpleado.antiguedad, "W"))); } //////// if (cfdiEmpleado.getAntiguedadYMD().trim().length() > 0) { //////// receptor.setAntiguedad(cfdiEmpleado.getAntiguedadYMD()); //////// } receptor.TipoContrato = (cfdiEmpleado.tipoContrato); if (cfdiEmpleado.jornada == null ? false : cfdiEmpleado.jornada.Trim().Length > 0) { receptor.TipoJornada = (cfdiEmpleado.jornada); } receptor.TipoRegimen = (cfdiEmpleado.regimenContratacion); //@ receptor.NumEmpleado = (cfdiEmpleado.plazasPorEmpleadosMov.plazasPorEmpleado.empleados.clave); if (cfdiEmpleado.departamento == null ? false : cfdiEmpleado.departamento.Trim().Length > 0) { receptor.Departamento = (cfdiEmpleado.departamento); } if (cfdiEmpleado.puesto == null ? false : cfdiEmpleado.puesto.Trim().Length > 0) { receptor.Puesto = (cfdiEmpleado.puesto); } if (cfdiEmpleado.riesgoPuesto != null) { receptor.RiesgoPuesto = (cfdiEmpleado.riesgoPuesto); } receptor.PeriodicidadPago = (cfdiEmpleado.periodiciadadPago); if (cfdiEmpleado.claveBancoSat == null ? false : cfdiEmpleado.claveBancoSat.Trim().Length > 0) { receptor.Banco = (cfdiEmpleado.claveBancoSat); } if (cfdiEmpleado.cuentaBancaria == null ? false : cfdiEmpleado.cuentaBancaria.Trim().Length > 0) { receptor.CuentaBancaria = (UtileriasSat.castNumerosToBigInteger(cfdiEmpleado.cuentaBancaria).ToString()); } if (cfdiEmpleado.salBaseCotAport == null ? false: cfdiEmpleado.salBaseCotAport > 0) { receptor.SalarioBaseCotApor = (UtileriasSat.castNumerosToImporteMX(cfdiEmpleado.salBaseCotAport)); } if (cfdiEmpleado.salIntIMSS == null ? false: cfdiEmpleado.salIntIMSS > 0) { receptor.SalarioDiarioIntegrado = (UtileriasSat.castNumerosToImporteMX(cfdiEmpleado.salIntIMSS)); } try { //receptor.ClaveEntFed=(CEstado.fromValue(cfdiEmpleado.estado)); receptor.ClaveEntFed = (cfdiEmpleado.estado); } catch (Exception e) { receptor.ClaveEntFed = (null); } ///subcontratacion ///receptor.setSindicalizado(SCHEMALOCATION_NOMINA); //opcional pendiente return(receptor); }