parent
1919e5ed01
commit
80751b0889
|
|
@ -122,12 +122,21 @@ namespace Exferia_Aplicacion.Modelos_Factura_E
|
||||||
|
|
||||||
const string FACTURA_E_InvoiceHeader_NAME = "InvoiceHeader";
|
const string FACTURA_E_InvoiceHeader_NAME = "InvoiceHeader";
|
||||||
const string FACTURA_E_InvoiceNumber_NAME = "InvoiceNumber";
|
const string FACTURA_E_InvoiceNumber_NAME = "InvoiceNumber";
|
||||||
const string FACTURA_E_InvoiceSeriesCode_NAME = "InvoiceSeriesCode";
|
const string FACTURA_E_InvoiceSeriesCode_NAME = "InvoiceDocumentType";
|
||||||
|
const string FACTURA_E_ReasonCode_NAME = "ReasonCode";
|
||||||
|
const string FACTURA_E_ReasonCode = "01";
|
||||||
|
|
||||||
|
const string FACTURA_E_InvoiceDocumentType_NAME = "InvoiceDocumentType";
|
||||||
|
const string FACTURA_E_InvoiceDocumentType = "FC";
|
||||||
|
|
||||||
const string FACTURA_E_InvoiceClass_NAME = "InvoiceClass";
|
const string FACTURA_E_InvoiceClass_NAME = "InvoiceClass";
|
||||||
|
|
||||||
const string FACTURA_E_Corrective_NAME = "Corrective";
|
const string FACTURA_E_Corrective_NAME = "Corrective";
|
||||||
const string FACTURA_E_ReasonDescription_NAME = "ReasonDescription";
|
const string FACTURA_E_ReasonDescription_NAME = "ReasonDescription";
|
||||||
const string FACTURA_E_CorrectionMethodDescription_NAME = "CorrectionMethodDescription";
|
const string FACTURA_E_CorrectionMethodDescription_NAME = "CorrectionMethodDescription";
|
||||||
|
const string FACTURA_E_CorrectionMethod_NAME = "CorrectionMethod";
|
||||||
|
const string FACTURA_E_CorrectionMethod = "01";
|
||||||
|
|
||||||
const string FACTURA_E_AdditionalReasonDescription_NAME = "AdditionalReasonDescription";
|
const string FACTURA_E_AdditionalReasonDescription_NAME = "AdditionalReasonDescription";
|
||||||
const string FACTURA_E_TaxPeriod_NAME = "TaxPeriod";
|
const string FACTURA_E_TaxPeriod_NAME = "TaxPeriod";
|
||||||
const string FACTURA_E_StartDate_NAME = "StartDate";
|
const string FACTURA_E_StartDate_NAME = "StartDate";
|
||||||
|
|
@ -138,6 +147,13 @@ namespace Exferia_Aplicacion.Modelos_Factura_E
|
||||||
const string FACTURA_E_IssueDate_NAME = "IssueDate";
|
const string FACTURA_E_IssueDate_NAME = "IssueDate";
|
||||||
const string FACTURA_E_TaxesOutputs_NAME = "TaxesOutputs";
|
const string FACTURA_E_TaxesOutputs_NAME = "TaxesOutputs";
|
||||||
|
|
||||||
|
//const string FACTURA_E_InvoiceCurrencyCode_NAME = "InvoiceCurrencyCode";
|
||||||
|
const string FACTURA_E_TaxCurrencyCode_NAME = "TaxCurrencyCode";
|
||||||
|
const string FACTURA_E_LanguageName_NAME = "LanguageName";
|
||||||
|
const string FACTURA_E_LanguageName = "es";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//impuestos
|
//impuestos
|
||||||
const string FACTURA_E_Tax_NAME = "Tax";
|
const string FACTURA_E_Tax_NAME = "Tax";
|
||||||
const string FACTURA_E_TaxTypeCode_NAME = "TaxTypeCode";
|
const string FACTURA_E_TaxTypeCode_NAME = "TaxTypeCode";
|
||||||
|
|
@ -153,6 +169,11 @@ namespace Exferia_Aplicacion.Modelos_Factura_E
|
||||||
const string FACTURA_E_TotalGeneralDiscounts_NAME = "TotalGeneralDiscounts";
|
const string FACTURA_E_TotalGeneralDiscounts_NAME = "TotalGeneralDiscounts";
|
||||||
const string FACTURA_E_TotalGrossAmountBeforeTaxes_NAME = "TotalGrossAmountBeforeTaxes";
|
const string FACTURA_E_TotalGrossAmountBeforeTaxes_NAME = "TotalGrossAmountBeforeTaxes";
|
||||||
const string FACTURA_E_TotalTaxOutputs_NAME = "TotalTaxOutputs";
|
const string FACTURA_E_TotalTaxOutputs_NAME = "TotalTaxOutputs";
|
||||||
|
const string FACTURA_E_TotalTaxesWithheld_NAME = "TotalTaxesWithheld";
|
||||||
|
const string FACTURA_E_TotalTaxesWithheld = "0.0";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//const string FACTURA_E_TotalTaxesWithheld_NAME = "TotalTaxesWithheld";
|
//const string FACTURA_E_TotalTaxesWithheld_NAME = "TotalTaxesWithheld";
|
||||||
//const string FACTURA_E_TotalOutstandingAmount_NAME = "TotalOutstandingAmount";
|
//const string FACTURA_E_TotalOutstandingAmount_NAME = "TotalOutstandingAmount";
|
||||||
const string FACTURA_E_TotalPaymentsOnAccount_NAME = "TotalPaymentsOnAccount";
|
const string FACTURA_E_TotalPaymentsOnAccount_NAME = "TotalPaymentsOnAccount";
|
||||||
|
|
@ -167,6 +188,9 @@ namespace Exferia_Aplicacion.Modelos_Factura_E
|
||||||
const string FACTURA_E_DeliveryNoteDate_NAME = "DeliveryNoteDate";
|
const string FACTURA_E_DeliveryNoteDate_NAME = "DeliveryNoteDate";
|
||||||
const string FACTURA_E_ItemDescription_NAME = "ItemDescription";
|
const string FACTURA_E_ItemDescription_NAME = "ItemDescription";
|
||||||
const string FACTURA_E_Quantity_NAME = "Quantity";
|
const string FACTURA_E_Quantity_NAME = "Quantity";
|
||||||
|
const string FACTURA_E_UnitOfMeasure_NAME = "UnitOfMeasure";
|
||||||
|
const string FACTURA_E_UnitOfMeasure = "01";
|
||||||
|
|
||||||
const string FACTURA_E_UnitPriceWithoutTax_NAME = "UnitPriceWithoutTax";
|
const string FACTURA_E_UnitPriceWithoutTax_NAME = "UnitPriceWithoutTax";
|
||||||
const string FACTURA_E_TotalCost_NAME = "TotalCost";
|
const string FACTURA_E_TotalCost_NAME = "TotalCost";
|
||||||
|
|
||||||
|
|
@ -397,7 +421,77 @@ namespace Exferia_Aplicacion.Modelos_Factura_E
|
||||||
}
|
}
|
||||||
private string grabaLineasFactura(XmlDocument doc, XmlElement nodo)
|
private string grabaLineasFactura(XmlDocument doc, XmlElement nodo)
|
||||||
{
|
{
|
||||||
return null;
|
string res = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
XmlElement nbase = doc.CreateElement(string.Empty, FACTURA_E_Invoice_NAME, string.Empty);
|
||||||
|
//head
|
||||||
|
XmlElement nheader = doc.CreateElement(string.Empty, FACTURA_E_InvoiceHeader_NAME, string.Empty);
|
||||||
|
|
||||||
|
XmlElement nod = doc.CreateElement(string.Empty, FACTURA_E_InvoiceNumber_NAME, string.Empty);
|
||||||
|
nod.InnerText = NumeroFactura.ToString();
|
||||||
|
nheader.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_InvoiceSeriesCode_NAME, string.Empty);
|
||||||
|
nod.InnerText = SerieDelegacion;
|
||||||
|
nheader.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_InvoiceDocumentType_NAME, string.Empty);
|
||||||
|
nod.InnerText = FACTURA_E_InvoiceDocumentType;
|
||||||
|
nheader.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_InvoiceClass_NAME, string.Empty);
|
||||||
|
nod.InnerText = FacturaOriginal?"OO":"OR";
|
||||||
|
nheader.AppendChild(nod);
|
||||||
|
|
||||||
|
if (!FacturaOriginal && Correcciones!=null)
|
||||||
|
{
|
||||||
|
res = grabaCorreccion(Correcciones, doc, nheader);
|
||||||
|
if (res != null)
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
nbase.AppendChild(nheader);
|
||||||
|
|
||||||
|
res = grabaInvoiceIssueData(doc, nbase);
|
||||||
|
if (res != null)
|
||||||
|
return res;
|
||||||
|
|
||||||
|
//TaxesOutputs
|
||||||
|
XmlElement nTaxesOutputs = doc.CreateElement(string.Empty, FACTURA_E_TaxesOutputs_NAME, string.Empty);
|
||||||
|
res = grabaImpuestos(Impuesto, doc, nTaxesOutputs);
|
||||||
|
if(res != null)
|
||||||
|
return res;
|
||||||
|
nbase.AppendChild(nTaxesOutputs);
|
||||||
|
//InvoiceTotals
|
||||||
|
res = grabaInvoiceTotals(doc, nbase);
|
||||||
|
if (res != null)
|
||||||
|
return res;
|
||||||
|
//Items
|
||||||
|
if(Items!= null && Items.Length>0)
|
||||||
|
{
|
||||||
|
XmlElement nItems = doc.CreateElement(string.Empty, FACTURA_E_Items_NAME, string.Empty);
|
||||||
|
|
||||||
|
foreach( var item in Items)
|
||||||
|
{
|
||||||
|
res = grabaItem(item, doc, nItems);
|
||||||
|
if (res != null)
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
nbase.AppendChild(nItems);
|
||||||
|
}
|
||||||
|
|
||||||
|
nodo.AppendChild(nbase);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
res = "Error en " + nameof(grabaPartesInvolucradas) + ": " + e.Message;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string grabaTaxIdentification(INTERNO_Entidad_Factura_E_Modelo dat, XmlDocument doc, XmlElement nodo)
|
private string grabaTaxIdentification(INTERNO_Entidad_Factura_E_Modelo dat, XmlDocument doc, XmlElement nodo)
|
||||||
|
|
@ -553,6 +647,292 @@ namespace Exferia_Aplicacion.Modelos_Factura_E
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
private string grabaCorreccion(INTERNO_Correcciones_Factura_E_Modelo dat, XmlDocument doc, XmlElement nodo)
|
||||||
|
{
|
||||||
|
string res = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
XmlElement nbase = doc.CreateElement(string.Empty, FACTURA_E_Corrective_NAME, string.Empty);
|
||||||
|
|
||||||
|
XmlElement nod = doc.CreateElement(string.Empty, FACTURA_E_InvoiceNumber_NAME, string.Empty);
|
||||||
|
nod.InnerText = dat.NumeroFactura.ToString();
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_InvoiceSeriesCode_NAME, string.Empty);
|
||||||
|
nod.InnerText = dat.SerieDelegacion.ToString();
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_ReasonCode_NAME, string.Empty);
|
||||||
|
nod.InnerText = FACTURA_E_ReasonCode;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_ReasonDescription_NAME, string.Empty);
|
||||||
|
nod.InnerText = dat.RazonCode;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
XmlElement nTaxPeriod = doc.CreateElement(string.Empty, FACTURA_E_TaxPeriod_NAME, string.Empty);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_StartDate_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.Inicio);
|
||||||
|
nTaxPeriod.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_EndDate_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.Fin);
|
||||||
|
nTaxPeriod.AppendChild(nod);
|
||||||
|
|
||||||
|
nbase.AppendChild(nTaxPeriod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_CorrectionMethod_NAME, string.Empty);
|
||||||
|
nod.InnerText = FACTURA_E_CorrectionMethod;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_CorrectionMethodDescription_NAME, string.Empty);
|
||||||
|
nod.InnerText = dat.RazonCorreccion;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_AdditionalReasonDescription_NAME, string.Empty);
|
||||||
|
nod.InnerText = dat.Observaciones;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
|
||||||
|
nodo.AppendChild(nbase);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
res = "Error en " + nameof(grabaCorreccion) + ": " + e.Message;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string grabaInvoiceIssueData(XmlDocument doc, XmlElement nodo)
|
||||||
|
{
|
||||||
|
string res = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
XmlElement nbase = doc.CreateElement(string.Empty, FACTURA_E_InvoiceIssueData_NAME, string.Empty);
|
||||||
|
|
||||||
|
XmlElement nod = doc.CreateElement(string.Empty, FACTURA_E_IssueDate_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(Fecha);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
XmlElement nbase2 = doc.CreateElement(string.Empty, FACTURA_E_InvoiceIssueData_NAME, string.Empty);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_InvoicingPeriod_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(PeriodoInicio);
|
||||||
|
|
||||||
|
nbase2.AppendChild(nod);
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_StartDate_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(PeriodoInicio);
|
||||||
|
nbase2.AppendChild(nod);
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_EndDate_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(PeriodoFin);
|
||||||
|
nbase2.AppendChild(nod);
|
||||||
|
nbase.AppendChild(nbase2);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_InvoiceCurrencyCode_NAME, string.Empty);
|
||||||
|
nod.InnerText = Moneda;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TaxCurrencyCode_NAME, string.Empty);
|
||||||
|
nod.InnerText = Moneda;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_LanguageName_NAME, string.Empty);
|
||||||
|
nod.InnerText = FACTURA_E_LanguageName;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nodo.AppendChild(nbase);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
res = "Error en " + nameof(grabaInvoiceIssueData) + ": " + e.Message;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
private string grabaImpuestos(INTERNO_Impuestos_Factura_E_modelo dat, XmlDocument doc, XmlElement nodo)
|
||||||
|
{
|
||||||
|
string res = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
XmlElement nbase = doc.CreateElement(string.Empty, FACTURA_E_Tax_NAME, string.Empty);
|
||||||
|
|
||||||
|
XmlElement nod = doc.CreateElement(string.Empty, FACTURA_E_TaxTypeCode_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.Tipo);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TaxRate_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.Porcentaje);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
XmlElement nbase2 = doc.CreateElement(string.Empty, FACTURA_E_TaxableBase_NAME, string.Empty);
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TotalAmount_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.Base);
|
||||||
|
nbase2.AppendChild(nod);
|
||||||
|
nbase.AppendChild(nbase2);
|
||||||
|
|
||||||
|
nbase2 = doc.CreateElement(string.Empty, FACTURA_E_TaxAmount_NAME, string.Empty);
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TotalAmount_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.Importe);
|
||||||
|
nbase2.AppendChild(nod);
|
||||||
|
nbase.AppendChild(nbase2);
|
||||||
|
nodo.AppendChild(nbase);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
res = "Error en " + nameof(grabaImpuestos) + ": " + e.Message;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string grabaInvoiceTotals(XmlDocument doc, XmlElement nodo)
|
||||||
|
{
|
||||||
|
string res = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
XmlElement nbase = doc.CreateElement(string.Empty, FACTURA_E_InvoiceTotals_NAME, string.Empty);
|
||||||
|
|
||||||
|
XmlElement nod = doc.CreateElement(string.Empty, FACTURA_E_TotalGrossAmount_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(TotalBruto);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TotalGeneralDiscounts_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(TotalDescuento);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TotalGrossAmountBeforeTaxes_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(TotalBase);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TotalTaxOutputs_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(TotalImpuestos);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TotalTaxesWithheld_NAME, string.Empty);
|
||||||
|
nod.InnerText = FACTURA_E_TotalTaxesWithheld;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_InvoiceTotals_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(TotalFactura);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TotalOutstandingAmount_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(TotalPendiente);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TotalPaymentsOnAccount_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(TotalAnticipo);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TotalExecutableAmount_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(TotalEjecutable);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nodo.AppendChild(nbase);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
res = "Error en " + nameof(grabaInvoiceTotals) + ": " + e.Message;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
private string grabaItem(INTERNO_Item_Factura_E_modelo dat, XmlDocument doc, XmlElement nodo)
|
||||||
|
{
|
||||||
|
string res = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
XmlElement nbase = doc.CreateElement(string.Empty, FACTURA_E_InvoiceLine_NAME, string.Empty);
|
||||||
|
XmlElement nbase2 = doc.CreateElement(string.Empty, FACTURA_E_DeliveryNote_NAME, string.Empty);
|
||||||
|
|
||||||
|
|
||||||
|
XmlElement nod = doc.CreateElement(string.Empty, FACTURA_E_DeliveryNoteNumber, string.Empty);
|
||||||
|
nod.InnerText = dat.Codigo;
|
||||||
|
nbase2.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_DeliveryNoteDate_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.FechaAlbaran);
|
||||||
|
nbase2.AppendChild(nod);
|
||||||
|
|
||||||
|
nbase.AppendChild(nbase2);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_ItemDescription_NAME, string.Empty);
|
||||||
|
nod.InnerText = dat.Descripcion;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_Quantity_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.Cantidad);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_UnitOfMeasure_NAME, string.Empty);
|
||||||
|
nod.InnerText = FACTURA_E_UnitOfMeasure;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_UnitPriceWithoutTax_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.Precio);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TotalCost_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.Total);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nbase2 = doc.CreateElement(string.Empty, FACTURA_E_DiscountsAndRebates_NAME, string.Empty);
|
||||||
|
var nbase3 = doc.CreateElement(string.Empty, FACTURA_E_Discount_NAME, string.Empty);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_DiscontReason_NAME, string.Empty);
|
||||||
|
nod.InnerText = dat.DescuentoRazon;
|
||||||
|
nbase3.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_DiscountRate_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.DescuentoPorcentaje);
|
||||||
|
nbase3.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_DiscountAmount_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.Descuentoimporte);
|
||||||
|
nbase3.AppendChild(nod);
|
||||||
|
|
||||||
|
nbase2.AppendChild(nbase3);
|
||||||
|
nbase.AppendChild(nbase2);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_GrossAmount_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.ImporteBruto);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
res = grabaImpuestos(dat, doc, nbase);
|
||||||
|
if (res != null)
|
||||||
|
return res;
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_TransactionDate_NAME, string.Empty);
|
||||||
|
nod.InnerText = toStr(dat.FechaAlbaran);
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_AdditionalLineItemInformation_NAME, string.Empty);
|
||||||
|
nod.InnerText = dat.Adicional;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nod = doc.CreateElement(string.Empty, FACTURA_E_AdditionalLineItemInformation_NAME, string.Empty);
|
||||||
|
nod.InnerText = dat.CodigoArticulo;
|
||||||
|
nbase.AppendChild(nod);
|
||||||
|
|
||||||
|
nodo.AppendChild(nbase);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
res = "Error en " + nameof(grabaItem) + ": " + e.Message;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
string toStr(DateTime t)
|
||||||
|
{
|
||||||
|
return t.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
|
string toStr(int t)
|
||||||
|
{
|
||||||
|
return t.ToString();
|
||||||
|
}
|
||||||
|
string toStr(float t)
|
||||||
|
{
|
||||||
|
return t.ToString();
|
||||||
|
}
|
||||||
|
string toStr(double t)
|
||||||
|
{
|
||||||
|
return t.ToString();
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region LecturaXML
|
#region LecturaXML
|
||||||
private string leeXML(XmlNode factura)
|
private string leeXML(XmlNode factura)
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,9 @@ namespace Exferia_Aplicacion.Modelos_Factura_E
|
||||||
{
|
{
|
||||||
public class INTERNO_Impuestos_Factura_E_modelo
|
public class INTERNO_Impuestos_Factura_E_modelo
|
||||||
{
|
{
|
||||||
public double Porcentaje { get; set; }
|
public float Porcentaje { get; set; }
|
||||||
public int Tipo { get; set; }
|
public int Tipo { get; set; }
|
||||||
public double Base { get; set; }
|
public float Base { get; set; }
|
||||||
public double Importe { get; set; }
|
public double Importe { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue