private void ClearViews() { taxNameTextBox.Text = string.Empty; searchTaxTextBox.Text = string.Empty; percentageTaxTextBox.Text = string.Empty; impuestoUpdate = new Impuestos(); }
public bool Guardar() { try { decimal dcmRecargo = 0; if (txtRecargo.Text.Trim().Length > 0) { dcmRecargo = Convert.ToDecimal(txtRecargo.Text.Trim()); } if (ValidarGuardar()) { var oImpuesto = new Impuestos(); oImpuesto.Porcentaje = Convert.ToDecimal(txtPorcentaje.Text); oImpuesto.RecargoEquivalencia = dcmRecargo; SGPADatos.Impuestos.Add(oImpuesto); SGPADatos.SaveChanges(); LlenarGrid(""); Inicializar(); strProceso = "N"; return(true); } return(false); } catch (Exception oException) { return(false); } }
public IActionResult SaveImpuesto([FromBody] Impuestos impuestos) { try { if (ModelState.IsValid) { if (impuestos.idImpuesto == 0) { PosUoW.ImpuestosRepository.Add(impuestos); } else { PosUoW.ImpuestosRepository.Update(impuestos); } PosUoW.Save(); return(Ok(impuestos)); } else { return(BadRequest("Los datos del impuesto son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public async Task <Impuestos> saveTaxes(Impuestos impuestos) { string webApiUrl = WebApiMethods.SaveImpuesto; Impuestos impuestoResult = await App.HttpTools .HttpPostObjectWithResponseDataAsync <Impuestos, Impuestos>(webApiUrl, impuestos, "Hubo un error en el guardado del impuesto").ConfigureAwait(false);; return(impuestoResult); }
private void taxGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e) { impuestoUpdate = (sender as DataGrid).SelectedValue as Impuestos; if (impuestoUpdate != null) { taxNameTextBox.Text = impuestoUpdate.Descripcion; percentageTaxTextBox.Text = impuestoUpdate.Porcentaje.ToString(); activateTaxChkBox.IsChecked = impuestoUpdate.Estatus == true ? true : false; } }
//************************************************** //* METHODS FORM //************************************************** private void activateTaxBtn_Click(object sender, RoutedEventArgs e) { impuestoUpdate = taxGrid.SelectedItem as Impuestos; if (impuestoUpdate != null) { impuestoUpdate.Estatus = true; _taxesPresenter.saveTaxes(impuestoUpdate); ClearViews(); getAllTaxes(); } }
private void deactivateTaxBtn_Click(object sender, RoutedEventArgs e) { impuestoUpdate = taxGrid.SelectedItem as Impuestos; if (impuestoUpdate != null) { impuestoUpdate.Estatus = false; _taxesPresenter.saveTaxes(impuestoUpdate); taxesList.Remove(impuestoUpdate); taxesList.ResetBindings(); ClearViews(); } }
public ItemComprobanteX(object _comprobanteDeOrigen, string IdProducto) { tsh_ProductosExDataset data = mz.erp.businessrules.tsh_ProductosEx.GetByPk(IdProducto); if (data.tsh_Productos.Rows.Count != 1) { object ex = new System.Exception("Error al buscar producto"); } _precioDeCostoNeto = _CostoFinal(data); _precioDeVentaBruto = _PrecioVentaBruto(data); _precioDeVentaNeto = _PrecioDeVentaNeto(data); _comprobanteDeOrigen = comprobanteDeOrigen; _impuestos = _ImpuestosProducto(data); }
private void createNewTax() { if (!string.IsNullOrWhiteSpace(taxNameTextBox.Text) && !string.IsNullOrWhiteSpace(percentageTaxTextBox.Text)) { Impuestos impuestos = new Impuestos { Descripcion = taxNameTextBox.Text, Porcentaje = int.Parse(percentageTaxTextBox.Text), Estatus = true }; Impuestos addImpuesto = _taxesPresenter.saveTaxes(impuestos).Result; ClearViews(); taxesList.Add(impuestos); } }
public IActionResult GetImpuestoById(int id) { try { Impuestos impuesto = PosUoW.ImpuestosRepository.GetById(a => a.idImpuesto.Equals(id)); if (impuesto != null) { return(Ok(impuesto)); } else { return(NotFound()); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
private void ImpresionItems() { /* * * decimal iva = 0; * decimal cantidad = 0; * string descripcion = String.Empty; * decimal monto = 0; * * * * */ ItemsComprobantes items = _comprobante.Items; foreach (ItemComprobante itemComp in items) { ItemFiscal item = new ItemFiscal(); item.TextoFiscal = String.Empty; //txtBxTextoFiscal.Text; item.Cantidad = itemComp.Cantidad; item.Descripcion = itemComp.DescripcionLarga; item.IVA = itemComp.GetPorcentajeImpuesto(Variables.GetValueString("Impuestos.IVA")); item.Monto = itemComp.Precio; Impuestos imp = itemComp.ImpuestosDirectos; item.ImpuestosInternos = 8; //imp.GetTotalImpuesto(Variables.GetValueString("Impuestos.II")); //cantidad = imp.GetTotalImpuesto(Variables.GetValueString("Impuestos.IB")); //if (rdbttnDescuento.Checked) {item.Diferencia = 'D';} //if (rdbttnRecargo.Checked) {item.Diferencia = 'R';} item.MontoDif = 0; //Decimal.Parse(txtMontoDif.Text); item.DescripcionDif = String.Empty; //txtBxDescripcionDif.Text; fiscal.GrabarItem(item); } }
protected override void GetFormSourceData() { _list = Impuestos.GetList(); }
public Pago() { documentosRelacionados = new List <DocumentoRelacionado>(); impuestos = new Impuestos(); }
public Task <Impuestos> saveTaxes(Impuestos impuestos) { return(_taxesPresenter.saveTaxes(impuestos)); }
public GTDocumento FExportacionXml(FacturaElectronicaGT Header, DataTable Detalle) { DireccionEmisor direccionEmisor = new DireccionEmisor { Direccion = Header.DireccionEmisor, CodigoPostal = Header.CodigoPostalEmisor, Municipio = Header.MunicipioEmisor, Departamento = Header.DepartamentoEmisor, Pais = Header.PaisEmisor, }; DireccionReceptor direccionReceptor = new DireccionReceptor { Direccion = Header.DireccionReceptor, CodigoPostal = Header.CodigoPostalReceptor, Municipio = Header.MunicipioReceptor, Departamento = Header.DepartamentoReceptor, Pais = Header.PaisReceptor, }; Frases frases = new Frases(); //SI ES FACTURA DE EXPORTACION SE AGREGAR 3 LINEAS DE FRASES. if (Header.Exp.Equals("SI")) { frases.Frase = new List <Frase> { new Frase { CodigoEscenario = Header.CodigoEscenario, TipoFrase = Header.TipoFrase }, new Frase { CodigoEscenario = Header.CodigoEscenario, TipoFrase = "4" } }; } else { frases.Frase = new List <Frase> { new Frase { CodigoEscenario = Header.CodigoEscenario, TipoFrase = Header.TipoFrase } }; } TotalImpuestos TotalImpuestos = new TotalImpuestos { TotalImpuesto = new TotalImpuesto { NombreCorto = "IVA", TotalMontoImpuesto = Header.TotalMontoImpuesto.ToString() }, }; Totales totales = new Totales { TotalImpuestos = new TotalImpuestos { TotalImpuesto = new TotalImpuesto { NombreCorto = "IVA", TotalMontoImpuesto = Header.TotalMontoImpuesto.ToString() }, }, GranTotal = Header.GranTotal.ToString(), }; List <Item> item = new List <Item>(); List <Impuesto> impuesto = new List <Impuesto>(); for (int i = 0; i <= Detalle.Rows.Count - 1; i++) { Impuestos impuestos = new Impuestos { Impuesto = new Impuesto { NombreCorto = "IVA", CodigoUnidadGravable = Convert.ToDecimal(Detalle.Rows[i]["Impuesto"].ToString()) > 0 ? "1" : "2", MontoGravable = Detalle.Rows[i]["Gravable"].ToString(), MontoImpuesto = Detalle.Rows[i]["Impuesto"].ToString(), } }; item.Add(new Item { BienOServicio = Detalle.Rows[i]["Tipo"].ToString().Equals("P") ? "B" : "S", Cantidad = Detalle.Rows[i]["Cantidad"].ToString(), NumeroLinea = (i + 1).ToString(), UnidadMedida = Detalle.Rows[i]["Unidad"].ToString(), Descripcion = Detalle.Rows[i]["Descripcion"].ToString(), PrecioUnitario = Detalle.Rows[i]["Unitario"].ToString(), Precio = Detalle.Rows[i]["Precio"].ToString(), Descuento = Detalle.Rows[i]["Descuento"].ToString(), Impuesto = impuestos, Total = Detalle.Rows[i]["Total"].ToString(), }); } Items items = new Items { Item = item, }; //Cuando la factura es de credito se agrega el complemento. XmlFormatoFactura.Abono abono = new XmlFormatoFactura.Abono { NumeroAbono = "1", FechaVencimiento = Header.Vencimiento, MontoAbono = Header.GranTotal.ToString(), }; XmlFormatoFactura.AbonosFacturaCambiaria abonoFC = new XmlFormatoFactura.AbonosFacturaCambiaria { Cfc = "http://www.sat.gob.gt/dte/fel/CompCambiaria/0.1.0", Version = "1", SchemaLocation = Header.SchemaLocation, Abono = abono, }; //Complemento complemento = new Complemento //{ // IDComplemento = "Cambiaria", // NombreComplemento = "Cambiaria", // URIComplemento = "http://www.sat.gob.gt/fel/cambiaria.xsd", // AbonosFacturaCambiaria = abonoFC, //}; Exportacion exportacion = new Exportacion { Cex = "http://www.sat.gob.gt/face2/ComplementoExportaciones/0.1.0", Version = "1", SchemaLocation = Header.SchemaLocation, NombreConsignatarioODestinatario = Header.NombreConsignatarioODestinatario, DireccionConsignatarioODestinatario = Header.DireccionConsignatarioODestinatario, CodigoConsignatarioODestinatario = Header.CodigoConsignatarioODestinatario, NombreComprador = Header.NombreComprador, DireccionComprador = Header.DireccionComprador, CodigoComprador = Header.CodigoComprador, OtraReferencia = Header.OtraReferencia, INCOTERM = Header.INCOTERM, NombreExportador = Header.NombreExportador, CodigoExportador = Header.CodigoExportador, }; //Complemento complemento = new Complemento //{ // IDComplemento = "Exportacion", // NombreComplemento = "Exportacion", // URIComplemento = "http://www.sat.gob.gt/fel/exportacion.xsd", // Exportacion = exportacion, //}; List <Complemento> complementoList = new List <Complemento> { new Complemento { IDComplemento = "Exportacion", NombreComplemento = "Exportacion", URIComplemento = "http://www.sat.gob.gt/fel/exportacion.xsd", Exportacion = exportacion, }, new Complemento { IDComplemento = "Cambiaria", NombreComplemento = "Cambiaria", URIComplemento = "http://www.sat.gob.gt/fel/cambiaria.xsd", AbonosFacturaCambiaria = abonoFC, }, }; Complementos complementos = new Complementos { //Complemento = complemento Complemento = complementoList }; DatosEmision datosEmision = new DatosEmision { ID = "DatosEmision", DatosGenerales = new DatosGenerales { CodigoMoneda = Header.CodigoMoneda, FechaHoraEmision = Header.FechaHoraEmision, Tipo = Header.Tipo, Exp = Header.Exp, }, Emisor = new Emisor { AfiliacionIVA = Header.AfiliacionIVA, CodigoEstablecimiento = Header.CodigoEstablecimiento, CorreoEmisor = Header.CorreoEmisor, NITEmisor = Header.NITEmisor, NombreComercial = Header.NombreComercial, NombreEmisor = Header.NombreEmisor, DireccionEmisor = direccionEmisor, }, Receptor = new Receptor { DireccionReceptor = direccionReceptor, CorreoReceptor = Header.CorreoReceptor, IDReceptor = Header.IDReceptor, NombreReceptor = Header.NombreReceptor, }, Frases = frases, Items = items, Totales = totales, Complementos = complementos, }; DTE dte = new DTE { ID = "DatosCertificados", DatosEmision = datosEmision, }; SAT sat = new SAT { ClaseDocumento = "dte", DTE = dte, }; return(new GTDocumento { SAT = sat, }); }
public static void CrearFactura() { //Aquí configuramos el rfc con el cliente, como vamos a hacer pruebas utilizaremos el rfc de pruebas // Para cambiar a produción simplemente haga cambie de NO a SI. cuando esta configurado en NO estamos en prueba pac = new PAC("DEMO700101XXX", "DEMO700101XXX", "NO"); //Configuración de certificados. conf = new Conf(@"C:\multifacturas_sdk\pruebas\CSD01_AAA010101AAA.cer", @"C:\multifacturas_sdk\pruebas\CSD01_AAA010101AAA.key", "12345678a"); //Configuramos el sdk para el timbrado sdkconf = new SDKConfig(pac, conf, @"C:\multifacturas_sdk\"); sdk = new SDK(sdkconf); //Datos del emisor. emisor = new Emisor(); //Domicilio emisor.Nombre = "Soluciones Integrales en Tecnologías de la Información del Maya S.A de C.V"; emisor.RFC = "AAA010101AAA"; //Creamos el domicilio fiscal del emisor DomicilioFiscal domiciliofiscal = new DomicilioFiscal(); domiciliofiscal.Calle = " 41"; domiciliofiscal.NoExterior = "318"; domiciliofiscal.Colonia = "Montealban"; domiciliofiscal.CodigoPostal = "97114"; domiciliofiscal.Localidad = "Mérida"; domiciliofiscal.Municipio = "Mérida"; domiciliofiscal.Pais = "México"; domiciliofiscal.Estado = "Yucatán"; //En caso de que la expedisión sea en otra sucursal. ExpedidoEn expedidoen = new ExpedidoEn(); expedidoen.Calle = "Andador Potasio"; expedidoen.NoExterior = "279"; expedidoen.NoInterior = "3A"; expedidoen.Colonia = "11 de Julio"; expedidoen.CodigoPostal = "60954"; expedidoen.Localidad = "Lázaro Cárdenas"; expedidoen.Municipio = "Lázaro Cárdenas"; expedidoen.Pais = "México"; expedidoen.Estado = "Michoacán"; emisor.Domicilio = domiciliofiscal; emisor.ExpedidoEn = expedidoen; ///Creamos el receptor receptor = new Receptor(); receptor.Nombre = "Francisco Javier Guerrero"; receptor.RFC = "XAXX010101000"; //aquí publico gneral. Domicilio domicilioreceptor = new Domicilio(); domicilioreceptor.Calle = "Domicilio Conocido"; domicilioreceptor.Localidad = "Lazaro Cárdenas"; receptor.Domicilio = domicilioreceptor; //No es necesario llenar todos los campos. //Creamos la venta List <Concepto> conceptos = new List <Concepto>(); conceptos.Add(new Concepto("1", "Pieza", "COD1", "Producto Prueba", "120", "120")); Impuestos impuestos = new Impuestos(); impuestos.AgregaTraslado(new Translado("IVA", "19.2", "16")); //Creamos un nuevo objeto de tipo factura factura = new CFDI(); //Datos básicos de la factura //factura.Emisor = emisor; //factura.Receptor = receptor; factura.Emisor = emisor; factura.Receptor = receptor; factura.Conceptos = conceptos; factura.Impuestos = impuestos; //Configuramos la serie y el folio factura.Serie = "AA"; factura.Folio = "1"; factura.FechaDeExpedicion = "2016-12-02 19:00:00"; //Consultar los cambios a la miscelanea fiscal Agosto 2016. factura.MetodoDePago = "01"; //Los 4 digitos si pagó con tarjeta o cheque... factura.NumCtaPAgo = ""; //Esto se configura según las reglas del negocio; factura.FormaDePago = "Pago en una sola exhibición"; //Peso mexicano... cambiar al tipo de cambio en caso de cobrar en USD o en otra moneda. factura.TipoDeCambio = "1.0"; //Consultar el Anexo 20. factura.TipoDeComprobante = "ingreso"; //ingreso, egreso, traslado [Escribir en minúsculas] factura.LugarDeExpedicion = "Lázaro Cárdenas, Michoacan"; factura.RegimenFiscal = "De las personas fisicas con actividad empresarial"; factura.SubTotal = "120"; factura.Descuento = "0"; factura.Total = "139.2"; //El total con el iva NETO var x = AppDomain.CurrentDomain.BaseDirectory; sdk.CreaINI(factura, AppDomain.CurrentDomain.BaseDirectory + "Factura01"); //Esta cadena se cambia por la de tu archivo a generar. //Ahora creamos el tmbrado con el archivo INI ya generado (generamos el XML) //factura, directorio y el archivo .ini generado sdk.Timbrar(factura, AppDomain.CurrentDomain.BaseDirectory, "Factura01"); }
// #region TaxTotal private TaxTotalType[] TaxTotalType(TramaDocumento Doc) { try { //Impuestos List <TaxTotalType> taxTotal = new List <TaxTotalType>(); foreach (var Impuestos in Doc.DI) { string[] DI = Impuestos.Split('|'); TaxTotalType taxTotalType = new TaxTotalType() { TaxAmount = new TaxAmountType { currencyID = "PEN", Value = Convert.ToDecimal(DI[1].ToString()) }, TaxSubtotal = new TaxSubtotalType[] { new TaxSubtotalType { TaxAmount = new TaxAmountType { currencyID = "PEN", Value = Convert.ToDecimal(DI[2].ToString()) }, TaxableAmount = new TaxableAmountType { Value = Convert.ToDecimal(DI[6].ToString()) }, TaxCategory = new TaxCategoryType { ID = new IDType { Value = "S" }, TierRange = new TierRangeType { Value = "S" }, TaxExemptionReasonCode = new TaxExemptionReasonCodeType { Value = "" }, TaxScheme = new TaxSchemeType { ID = new IDType { Value = DI[3].ToString() }, Name = new NameType1 { Value = DI[4].ToString() }, TaxTypeCode = new TaxTypeCodeType { Value = DI[5].ToString() } } }, Percent = new PercentType1 { Value = 18 } } }, }; taxTotal.Add(taxTotalType); } return(taxTotal.ToArray()); } catch (Exception) { throw; } }
public GTDocumento FacturaXml(FacturaElectronicaGT Header, DataTable Detalle) { DireccionEmisor direccionEmisor = new DireccionEmisor { Direccion = Header.DireccionEmisor, CodigoPostal = Header.CodigoPostalEmisor, Municipio = Header.MunicipioEmisor, Departamento = Header.DepartamentoEmisor, Pais = Header.PaisEmisor, }; DireccionReceptor direccionReceptor = new DireccionReceptor { Direccion = Header.DireccionReceptor, CodigoPostal = Header.CodigoPostalReceptor, Municipio = Header.MunicipioReceptor, Departamento = Header.DepartamentoReceptor, Pais = Header.PaisReceptor, }; Frases frases = new Frases(); frases.Frase = new List <Frase> { new Frase { CodigoEscenario = Header.CodigoEscenario, TipoFrase = Header.TipoFrase } }; TotalImpuestos TotalImpuestos = new TotalImpuestos { TotalImpuesto = new TotalImpuesto { NombreCorto = "IVA", TotalMontoImpuesto = Header.TotalMontoImpuesto.ToString() }, }; Totales totales = new Totales { TotalImpuestos = new TotalImpuestos { TotalImpuesto = new TotalImpuesto { NombreCorto = "IVA", TotalMontoImpuesto = Header.TotalMontoImpuesto.ToString() }, }, GranTotal = Header.GranTotal.ToString(), }; List <Item> item = new List <Item>(); List <Impuesto> impuesto = new List <Impuesto>(); for (int i = 0; i <= Detalle.Rows.Count - 1; i++) { Impuestos impuestos = new Impuestos { Impuesto = new Impuesto { NombreCorto = "IVA", CodigoUnidadGravable = "1", MontoGravable = Detalle.Rows[i]["Gravable"].ToString(), MontoImpuesto = Detalle.Rows[i]["Impuesto"].ToString(), } }; item.Add(new Item { BienOServicio = Detalle.Rows[i]["Tipo"].ToString().Equals("P") ? "B" : "S", Cantidad = Detalle.Rows[i]["Cantidad"].ToString(), NumeroLinea = (i + 1).ToString(), UnidadMedida = Detalle.Rows[i]["Unidad"].ToString(), Descripcion = Detalle.Rows[i]["Descripcion"].ToString(), PrecioUnitario = Detalle.Rows[i]["Unitario"].ToString(), Precio = Detalle.Rows[i]["Precio"].ToString(), Descuento = Detalle.Rows[i]["Descuento"].ToString(), Impuesto = impuestos, Total = Detalle.Rows[i]["Total"].ToString(), }); } Items items = new Items { Item = item, }; //Cuando la factura es de credito se agrega el complemento. Abono abono = new Abono { NumeroAbono = "1", FechaVencimiento = Header.Vencimiento, MontoAbono = Header.GranTotal.ToString(), }; AbonosFacturaCambiaria abonoFC = new AbonosFacturaCambiaria { Cfc = "http://www.sat.gob.gt/dte/fel/CompCambiaria/0.1.0", Version = "1", SchemaLocation = Header.SchemaLocation, Abono = abono, }; Complemento complemento = new Complemento { IDComplemento = "Cambiaria", NombreComplemento = "Cambiaria", URIComplemento = "http://www.sat.gob.gt/fel/cambiaria.xsd", AbonosFacturaCambiaria = abonoFC, }; Complementos complementos = new Complementos { Complemento = complemento }; DatosEmision datosEmision = new DatosEmision { ID = "DatosEmision", DatosGenerales = new DatosGenerales { CodigoMoneda = Header.CodigoMoneda, FechaHoraEmision = Header.FechaHoraEmision, Tipo = Header.Tipo, }, Emisor = new Emisor { AfiliacionIVA = Header.AfiliacionIVA, CodigoEstablecimiento = Header.CodigoEstablecimiento, CorreoEmisor = Header.CorreoEmisor, NITEmisor = Header.NITEmisor, NombreComercial = Header.NombreComercial, NombreEmisor = Header.NombreEmisor, DireccionEmisor = direccionEmisor, }, Receptor = new Receptor { CorreoReceptor = Header.CorreoReceptor, IDReceptor = Header.IDReceptor, NombreReceptor = Header.NombreReceptor, DireccionReceptor = direccionReceptor, }, Frases = frases, Items = items, Totales = totales, Complementos = complementos }; DTE dte = new DTE { ID = "DatosCertificados", DatosEmision = datosEmision, }; SAT sat = new SAT { ClaseDocumento = "dte", DTE = dte, Adenda = new Adenda { Codigo_cliente = Header.Codigo_cliente, Observaciones = Header.Observaciones, Lugar = Header.Lugar, Vendedor = Header.Vendedor, Forma_pago = Header.Forma_pago, Vencimiento = Header.Vencimiento, TCambio = Header.TCambio, } }; return(new GTDocumento { SAT = sat, }); }
public GTDocumento NotaCDXml(FacturaElectronicaGT Header, DataTable Detalle, ResponseApi Api, string Motivo) { DireccionEmisor direccionEmisor = new DireccionEmisor { Direccion = Header.DireccionEmisor, CodigoPostal = Header.CodigoPostalEmisor, Municipio = Header.MunicipioEmisor, Departamento = Header.DepartamentoEmisor, Pais = Header.PaisEmisor, }; DireccionReceptor direccionReceptor = new DireccionReceptor { Direccion = Header.DireccionReceptor, CodigoPostal = Header.CodigoPostalReceptor, Municipio = Header.MunicipioReceptor, Departamento = Header.DepartamentoReceptor, Pais = Header.PaisReceptor, }; Totales totales = new Totales { TotalImpuestos = new TotalImpuestos { TotalImpuesto = new TotalImpuesto { NombreCorto = "IVA", TotalMontoImpuesto = Header.TotalMontoImpuesto.ToString() }, }, GranTotal = Header.GranTotal.ToString(), }; List <Item> item = new List <Item>(); List <Impuesto> impuesto = new List <Impuesto>(); for (int i = 0; i <= Detalle.Rows.Count - 1; i++) { Impuestos impuestos = new Impuestos { Impuesto = new Impuesto { NombreCorto = "IVA", CodigoUnidadGravable = Convert.ToDouble(Detalle.Rows[i]["Impuesto"]) == 0.00 ? "2" : "1", MontoGravable = Detalle.Rows[i]["Gravable"].ToString(), MontoImpuesto = Detalle.Rows[i]["Impuesto"].ToString(), } }; item.Add(new Item { BienOServicio = Detalle.Rows[i]["Tipo"].ToString().Equals("P") ? "B" : "S", Cantidad = Detalle.Rows[i]["Cantidad"].ToString(), NumeroLinea = (i + 1).ToString(), UnidadMedida = Detalle.Rows[i]["Unidad"].ToString(), Descripcion = Detalle.Rows[i]["Descripcion"].ToString(), PrecioUnitario = Detalle.Rows[i]["Unitario"].ToString(), Precio = Detalle.Rows[i]["Precio"].ToString(), Descuento = Detalle.Rows[i]["Descuento"].ToString(), Impuesto = impuestos, Total = Detalle.Rows[i]["Total"].ToString(), }); } Items items = new Items { Item = item, }; ReferenciasNota referencia = new ReferenciasNota { Cno = "http://www.sat.gob.gt/face2/ComplementoReferenciaNota/0.1.0", FechaEmisionDocumentoOrigen = Api.fecha.Substring(0, 10), MotivoAjuste = Motivo, NumeroAutorizacionDocumentoOrigen = Api.uuid, NumeroDocumentoOrigen = Api.numero, SerieDocumentoOrigen = Api.serie, Version = "0.0", SchemaLocation = Header.SchemaLocation }; Complemento complemento = new Complemento { IDComplemento = "Notas", NombreComplemento = "Notas", URIComplemento = "http://www.sat.gob.gt/fel/notas.xsd", ReferenciasNota = referencia }; Complementos complementos = new Complementos { Complemento = complemento }; DatosEmision datosEmision = new DatosEmision { ID = "DatosEmision", DatosGenerales = new DatosGenerales { CodigoMoneda = Header.CodigoMoneda, FechaHoraEmision = Header.FechaHoraEmision, Tipo = Header.Tipo, }, Emisor = new Emisor { AfiliacionIVA = Header.AfiliacionIVA, CodigoEstablecimiento = Header.CodigoEstablecimiento, CorreoEmisor = Header.CorreoEmisor, NITEmisor = Header.NITEmisor, NombreComercial = Header.NombreComercial, NombreEmisor = Header.NombreEmisor, DireccionEmisor = direccionEmisor, }, Receptor = new Receptor { CorreoReceptor = Header.CorreoReceptor, IDReceptor = Header.IDReceptor, NombreReceptor = Header.NombreReceptor, DireccionReceptor = direccionReceptor, }, Items = items, Totales = totales, Complementos = complementos, }; DTE dte = new DTE { ID = "DatosCertificados", DatosEmision = datosEmision, }; SAT sat = new SAT { ClaseDocumento = "dte", DTE = dte, }; return(new GTDocumento { SAT = sat, }); }