public int LeerDocumentoExcel(ref List<ComplementoPagoImportadoExcel> LCPIE, string RutaArchivo, out string MensajeError)
{
try
{
MensajeError = string.Empty;
var book = new ExcelQueryFactory(RutaArchivo);
var resultado = (from row in book.Worksheet("Hoja1")
let item = new ComplementoPagoImportadoExcel
{
//ENCABEZADO
DE DOCUMENTO
Serie = row["SERIE"].Cast<string>(),
Cliente = row["CLIENTE"].Cast<string>(),
Bodega = row["BODEGA"].Cast<string>(),
Fecha = row["FECHA"].Cast<DateTime>(),
FormaPago = row["FORMAPAGO"].Cast<int>(),
Expedido = row["EXPEDIDO"].Cast<string>(),
FechaPago = row["FECHA DE PAGO"].Cast<DateTime>(),
Moneda = row["MONEDA"].Cast<string>(),
TipoCambio = row["TIPO DE CAMBIO"].Cast<int>(),
CondicionesPago = row["CONDICIONES PAGO"].Cast<string>(),
Referencia = row["REFERENCIA"].Cast<string>(),
ExcentoIva = row["EXCENTO IVA"].Cast<string>(),
TazaIva = row["TASA IVA"].Cast<decimal>(),
TazarIva = row["TASAR IVA"].Cast<decimal>(),
TipoRelacion = row["TIPO DE RELACION "].Cast<string>(),
UsoDeCFDI = row["USO DE CFDI"].Cast<string>(),
Notas = row["NOTAS"].Cast<string>(),
Confirmacion = row["CONFIRMACIÓN"].Cast<string>(),
MedioPago = row["MEDIO DE PAGO"].Cast<string>(),
//COMPLEMENTO
DE PAGO
FechaPagoCP = row["FECHA DE PAGO"].Cast<DateTime>(),
HoraPago = row["HORA PAGO"].Cast<DateTime>(),
MonedaPago = row["MONEDA PAGO"].Cast<string>(),
TipoPago = row["TIPO DE PAGO"].Cast<string>(),
FormaPagoCP = row["FORMA DE PAGO"].Cast<string>(),
Monto = row["MONTO"].Cast<decimal>(),
NumeroOpera = row["NUMERO OPERACIÓN"].Cast<string>(),
RFCEmisor = row["Rfc Emisor:"].Cast<string>(),
NoBanco = row["Nom Banco:"].Cast<string>(),
CuentaOrdenante = row["Cuenta Ordenante:"].Cast<string>(),
RfcBeneficiario = row["Rfc Beneficiario:"].Cast<string>(),
CuentaBeneficiaria = row["Cuenta Beneficiario:"].Cast<string>(),
TipoCadenaPago = row["Tipo Cadena Pago:"].Cast<string>(),
CertificadoPago = row["Certificado de Pago:"].Cast<string>(),
CadenaPago = row["Cadena Pago:"].Cast<string>(),
SelloPago = row["Sello Pago:"].Cast<string>(),
//DETALLE
COMPLEMENTO PAGO
SerieDCP = row["SERIE"].Cast<string>(),
FolioDCP = row["FOLIO"].Cast<string>(),
UUIDDCP
= row["UUID"].Cast<string>(),
MonedaDCP = row["MONEDA"].Cast<string>(),
TipoCambioDCP = row["TIPO CAMBIO"].Cast<int>(),
ParcialidadCDP = row["PARCIALIDAD"].Cast<int>(),
SaldoAnteriorDCP = row["SALDO ANTERIOR"].Cast<decimal>(),
ImportePagadoDCP = row["IMPORTE PAGADO"].Cast<decimal>(),
SaldoDCP = row["SALDO"].Cast<decimal>()
}
//where
(item.Serie != null) || (item.Cliente != null) || (item.Bodega != null)
select item).ToList();
var aux = (from x in resultado
where (x.Serie != null) || (x.Cliente != null) || (x.Bodega != null)
select x).ToList();
book.Dispose();
LCPIE = aux;
return 0;
}
catch (Exception e)
{
MensajeError = e.Message;
return -1;
}
}