private CFDIReciboIncapacidad construyeCFDIReciboIncapacidad(CFDIReciboIncapacidad cfdiReciboIncapacidad, DatosIncapacidades datosIncapacidad)
 {
     if (cfdiReciboIncapacidad == null)
     {
         cfdiReciboIncapacidad = new CFDIReciboIncapacidad();
     }
     if (mapConceptosIncapacidades.ContainsKey(datosIncapacidad.asistencia.excepciones.concepNomDefi.clave))
     {
         MovNomConcep mnc = mapConceptosIncapacidades[datosIncapacidad.asistencia.excepciones.concepNomDefi.clave];//.get(datosIncapacidad.getAsistencia().getExcepciones().getConcepNomDefi().getClave());
         if (mnc != null)
         {
             cfdiReciboIncapacidad.importeMonetario = (mnc.resultado.GetValueOrDefault());
             cfdiReciboIncapacidad.diasIncapacidad  = (datosIncapacidad.dias);
             if (String.Equals(datosIncapacidad.asistencia.excepciones.clave, ClavesParametrosModulos.claveExcepcionIncapacidadPorAccidente.ToString(), StringComparison.OrdinalIgnoreCase))
             {
                 cfdiReciboIncapacidad.tipoIncapacidad = ("01");
             }
             else if (string.Equals(datosIncapacidad.asistencia.excepciones.clave, ClavesParametrosModulos.claveExcepcionIncapacidadPorEnfermedad.ToString(), StringComparison.OrdinalIgnoreCase))
             {
                 cfdiReciboIncapacidad.tipoIncapacidad = ("02");
             }
             else if (string.Equals(datosIncapacidad.asistencia.excepciones.clave, ClavesParametrosModulos.claveExcepcionIncapacidadPorMaternidad.ToString(), StringComparison.OrdinalIgnoreCase))
             {
                 cfdiReciboIncapacidad.tipoIncapacidad = ("03");
             }
         }
         else
         {
             cfdiReciboIncapacidad = null;
         }
     }
     else
     {
         cfdiReciboIncapacidad = null;
     }
     return(cfdiReciboIncapacidad);
 }
 private CFDIReciboHrsExtras construyeCFDIReciboHrsExtras(CFDIReciboHrsExtras cfdiReciboHrsExtra, DatosHorasExtras horasExtra)
 {
     if (cfdiReciboHrsExtra == null)
     {
         cfdiReciboHrsExtra = new CFDIReciboHrsExtras();
     }
     if (mapConceptosHrsExtras.ContainsKey(horasExtra.asistencia.excepciones.concepNomDefi.clave))
     {
         MovNomConcep mnc = mapConceptosHrsExtras[horasExtra.asistencia.excepciones.concepNomDefi.clave];//.get(horasExtra.getAsistencia().getExcepciones().getConcepNomDefi().getClave());
         if (mnc != null)
         {
             cfdiReciboHrsExtra.dias        = (horasExtra.dias);
             cfdiReciboHrsExtra.horasExtras = (horasExtra.hrsExtas);
             if (string.Equals(horasExtra.asistencia.excepciones.clave, ClavesParametrosModulos.claveExcepcionExtraDoble.ToString(), StringComparison.OrdinalIgnoreCase))
             {
                 cfdiReciboHrsExtra.tipoHoras = ("01");
             }
             else if (string.Equals(horasExtra.asistencia.excepciones.clave, ClavesParametrosModulos.claveExcepcionExtraTriple.ToString(), StringComparison.OrdinalIgnoreCase))
             {
                 cfdiReciboHrsExtra.tipoHoras = ("02");
             }
             else
             {
                 cfdiReciboHrsExtra.tipoHoras = ("03");
             }
             if (mnc.movNomBaseAfecta == null)
             {
                 cfdiReciboHrsExtra.importeExento   = (0.0);
                 cfdiReciboHrsExtra.importeGravable = (0.0);
             }
             else
             {
                 List <MovNomBaseAfecta> baseAfectas = mnc.movNomBaseAfecta;
                 if (!baseAfectas.Any())
                 {
                     cfdiReciboHrsExtra.importeExento   = (0.0);
                     cfdiReciboHrsExtra.importeGravable = (0.0);
                 }
                 else
                 {
                     int j;
                     for (j = 0; j < baseAfectas.Count(); j++)
                     {
                         if (string.Equals(baseAfectas[j].baseAfecConcepNom.baseNomina.clave, (String)ClavesParametrosModulos.claveBaseNominaISR, StringComparison.OrdinalIgnoreCase))
                         {
                             cfdiReciboHrsExtra.importeExento   = (baseAfectas[j].resultadoExento.GetValueOrDefault());
                             cfdiReciboHrsExtra.importeGravable = (baseAfectas[j].resultado.GetValueOrDefault());
                             break;
                         }
                         else
                         {
                             cfdiReciboHrsExtra.importeExento   = (0.0);
                             cfdiReciboHrsExtra.importeGravable = (0.0);
                         }
                     }
                 }
             }
         }
         else
         {
             cfdiReciboHrsExtra = null;
         }
     }
     else
     {
         cfdiReciboHrsExtra = null;
     }
     return(cfdiReciboHrsExtra);
 }