public void UpdateImpuesto(Impuesto entity) { ImpuestoDao.Update(entity); }
public static void DatosItems(DataSet dstdetailinvoicexml, List <Item> items) { foreach (DataRow reader in dstdetailinvoicexml.Tables[0].Rows) { Item item = new Item(); item.impuestos = new List <Impuesto>(); Impuesto impuesto = new Impuesto(); //impuesto var impuestonombrecorto = reader["impuestonombrecorto"]; if (impuestonombrecorto != null) { impuesto.NombreCorto = impuestonombrecorto.ToString(); } var codigounidadgravable = reader["codigounidadgravable"]; if (codigounidadgravable != null) { impuesto.CodigoUnidadGravable = codigounidadgravable.ToString(); } var montoimpuesto = reader["montoimpuesto"]; if (montoimpuesto != null) { impuesto.MontoImpuesto = montoimpuesto.ToString(); } var montogravable = reader["montogravable"]; if (montogravable != null) { impuesto.MontoGravable = montogravable.ToString(); } //item en general var bienoservicio = reader["bienoservicio"]; if (bienoservicio != null) { item.BienOServicio = bienoservicio.ToString(); } var descripcion = reader["descripcion"]; if (descripcion != null) { item.Descripcion = descripcion.ToString(); } var numerolinea = reader["numerolinea"]; if (numerolinea != null) { item.NumeroLinea = numerolinea.ToString(); } var cantidad = reader["cantidad"]; if (cantidad != null) { item.Cantidad = cantidad.ToString(); } var unidadMedida = reader["unidadMedida"]; if (unidadMedida != null) { item.UnidadMedida = unidadMedida.ToString(); } var precio = reader["precio"]; if (precio != null) { item.Precio = precio.ToString(); } var preciounitario = reader["preciounitario"]; if (preciounitario != null) { item.PrecioUnitario = preciounitario.ToString(); } var total = reader["total"]; if (total != null) { item.Total = total.ToString(); } var descuento = reader["descuento"]; if (descuento != null) { if (Double.Parse(descuento.ToString()) > 0d) { item.Descuento = descuento.ToString(); } } items.Add(item); item.impuestos.Add(impuesto); } }
public int SaveImpuesto(Impuesto entity) { return(ImpuestoDao.Save(entity)); }
public void Update(Impuesto impuesto) { crudImpuesto.Update(impuesto); }
public void Delete(Impuesto impuesto) { crudImpuesto.Delete(impuesto); }
public void Create(Impuesto impuesto) { crudImpuesto.Create(impuesto); }
public Impuesto RetrieveById(Impuesto impuesto) { return(crudImpuesto.Retrieve <Impuesto>(impuesto)); }
public static void InicializaDatabaseDefaultsValues() { try { using (var db = new DymContext()) { var estacion = db.Estacion.FirstOrDefault(x => x.EstacionId == "SYS"); if (estacion == null) { estacion = new Estacion(); estacion.EstacionId = "SYS"; estacion.Nombre = "DEFAUTL"; estacion.CanjearPuntosAuto = false; db.Add(estacion); } var sustancia = db.Sustancia.FirstOrDefault(x => x.SustanciaId == "SYS"); if (sustancia == null) { sustancia = new Sustancia(); sustancia.SustanciaId = "SYS"; sustancia.Nombre = "DEFAUTL"; db.Add(sustancia); } var categoria = db.Categoria.FirstOrDefault(x => x.CategoriaId == "SYS"); if (categoria == null) { categoria = new Categoria(); categoria.CategoriaId = "SYS"; categoria.Nombre = "DEFAUTL"; db.Add(categoria); } var presentacion = db.Presentacion.FirstOrDefault(x => x.PresentacionId == "SYS"); if (presentacion == null) { presentacion = new Presentacion(); presentacion.PresentacionId = "SYS"; presentacion.Nombre = "DEFAUTL"; db.Add(presentacion); } var laboratorio = db.Laboratorio.FirstOrDefault(x => x.LaboratorioId == "SYS"); if (laboratorio == null) { laboratorio = new Laboratorio(); laboratorio.LaboratorioId = "SYS"; laboratorio.Nombre = "DEFAUTL"; db.Add(laboratorio); } var impuesto = db.Impuesto.FirstOrDefault(x => x.ImpuestoId == "SYS"); if (impuesto == null) { impuesto = new Impuesto(); impuesto.ImpuestoId = "SYS"; impuesto.Tasa = 0; impuesto.CImpuesto = "002"; db.Add(impuesto); } var unidadMedida = db.UnidadMedida.FirstOrDefault(x => x.UnidadMedidaId == "SYS"); if (unidadMedida == null) { unidadMedida = new UnidadMedida(); unidadMedida.UnidadMedidaId = "SYS"; unidadMedida.Nombre = "DEFAUTL"; unidadMedida.UnidadSat = "H87"; db.Add(unidadMedida); } var edodocP = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "PEN"); if (edodocP == null) { edodocP = new EstadoDoc(); edodocP.EstadoDocId = "PEN"; edodocP.Descripcion = "PENDIENTE"; db.Add(edodocP); } var edodocCa = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "CAN"); if (edodocCa == null) { edodocCa = new EstadoDoc(); edodocCa.EstadoDocId = "CAN"; edodocCa.Descripcion = "CANCELADO"; db.Add(edodocCa); } var edodocCo = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "CON"); if (edodocCo == null) { edodocCo = new EstadoDoc(); edodocCo.EstadoDocId = "CON"; edodocCo.Descripcion = "CONFIRMADO"; db.Add(edodocCo); } var clienteSYS = db.Cliente.FirstOrDefault(x => x.ClienteId == "SYS"); if (clienteSYS == null) { clienteSYS = new Cliente(); clienteSYS.ClienteId = "SYS"; clienteSYS.Rfc = "XAXX010101000"; clienteSYS.Negocio = "PUBLICO EN GENERAL"; clienteSYS.RazonSocial = "PUBLICO EN GENERAL"; clienteSYS.MetodoPagoId = "PUE"; clienteSYS.FormaPagoId = "01"; clienteSYS.UsoCfdiid = "G01"; db.Add(clienteSYS); } var proveedorSYS = db.Proveedor.FirstOrDefault(x => x.ProveedorId == "SYS"); if (proveedorSYS == null) { proveedorSYS = new Proveedor(); proveedorSYS.ProveedorId = "SYS"; proveedorSYS.Negocio = "PROVEEDOR GENERICO"; proveedorSYS.RazonSocial = "PROVEEDOR GENERICO"; proveedorSYS.Rfc = "XAXX010101000"; proveedorSYS.DiasCredito = 0; proveedorSYS.LimiteCredito = 0; proveedorSYS.Saldo = 0; proveedorSYS.IsDeleted = false; db.Add(proveedorSYS); } var puntosConfig = db.PuntoConfig.FirstOrDefault(); if (puntosConfig == null) { puntosConfig = new PuntoConfig(); puntosConfig.DiasReset = 30; puntosConfig.TasaDescuento = 0.01m; puntosConfig.Vigente = true; puntosConfig.IsDeleted = false; db.Add(puntosConfig); } //01010101 var prodSys = db.Producto.FirstOrDefault(x => x.ProductoId.Equals("01010101")); if (prodSys == null) { prodSys = new Producto(); prodSys.ProductoId = "01010101"; prodSys.CategoriaId = "SYS"; prodSys.PresentacionId = "SYS"; prodSys.LaboratorioId = "SYS"; prodSys.Stock = 0; prodSys.Descripcion = "Concepto generico facturable"; prodSys.PrecioCompra = 0; prodSys.PrecioCaja = 0; prodSys.Precio1 = 0; prodSys.Precio2 = 0; prodSys.Precio3 = 0; prodSys.Precio4 = 0; prodSys.Utilidad1 = 0; prodSys.Utilidad2 = 0; prodSys.Utilidad3 = 0; prodSys.Utilidad4 = 0; prodSys.TieneLote = false; prodSys.IsDeleted = false; prodSys.CratedAt = DateTime.Now; prodSys.UnidadMedidaId = "SYS"; prodSys.ClaveProdServId = "01010101"; prodSys.ClaveUnidadId = "H87"; prodSys.ChkCaducidad = false; prodSys.CratedAt = DateTime.Now; prodSys.CratedBy = "JMENDOZAJ"; db.Add(prodSys); } /**************ACTUALIZA CONEXION REPORTES**************/ var informes = db.Informe.ToList(); foreach (var informe in informes) { var stiReport = new StiReport(); stiReport.LoadPackedReportFromString(informe.Codigo); stiReport.Dictionary.Databases.Clear(); stiReport.Dictionary.Databases.Add(new StiSqlDatabase("Dym", Ambiente.Conexion.StandardSecurityConnectionString())); informe.Codigo = stiReport.SavePackedReportToString(); db.Update(informe); } /*******************************************************/ Ambiente.InformeTicket = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.Ticket == true) .FirstOrDefault().InformeId)); Ambiente.InformeFactura = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.Factura == true) .FirstOrDefault().InformeId)); Ambiente.InformeCompra = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.Compra == true) .FirstOrDefault().InformeId)); Ambiente.InformeCorte = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.Corte == true) .FirstOrDefault().InformeId)); Ambiente.InformeDevCom = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.DevCom == true) .FirstOrDefault().InformeId)); Ambiente.InformeInvetarios = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.Inventario == true) .FirstOrDefault().InformeId)); Ambiente.InformeCierresInv = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.CierresInv == true) .FirstOrDefault().InformeId)); if (Ambiente.InformeTicket == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de ticket no existe, esto causará problemas"); } if (Ambiente.InformeFactura == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de factura no existe, esto causará problemas"); } if (Ambiente.InformeCompra == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de compra no existe, esto causará problemas"); } if (Ambiente.InformeDevCom == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de devcom no existe, esto causará problemas"); } if (Ambiente.InformeCorte == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de corte no existe, esto causará problemas"); } if (Ambiente.InformeInvetarios == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de inventarios no existe, esto causará problemas"); } if (Ambiente.InformeCierresInv == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de InformeCierresInv no existe, esto causará problemas"); } db.SaveChanges(); } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Error al inicializar db defautls: " + ex.ToString()); } if (!Ambiente.ServerImgAccesible) { Ambiente.Mensaje("!Advertencia! Las rutas de red indicadas para llegar al servidor no pasaron la prueba del 75%. Esto causará rendiento deficiente al acceder a recursos en el server. valor real: " + Ambiente.ServerImgAccesible); } }
public bool RegistrarImpuesto(Impuesto unImpuesto) { bool exito = false; return(exito); }
static void Main(string[] args) { string datilApiNotaDebitoUrl = "https://link.datil.co/debit-notes/"; // Credenciales del requerimiento string myApiKey = "xxxx"; string myPassword = "******"; // Crear requerimiento var requestOptions = new RequestOptions(); requestOptions.ApiKey = myApiKey; requestOptions.Password = myPassword; requestOptions.Url = datilApiNotaDebitoUrl + "issue"; // Información del comprador Comprador comprador = new Comprador("Juan Pérez", "0989898921001", "04", "*****@*****.**", "Calle única Numero 987", "046029400"); // Información del establecimiento Establecimiento establecimiento = new Establecimiento("001", "002", "Av. Primera 234 y calle 5ta"); // Información del emisor. Necesita de un Establecimiento. Emisor emisor = new Emisor("0910000000001", "GUGA S.A. ", "XYZ Corp", "Av.Primera 234 y calle 5ta", "12345", true, establecimiento); // Detalle de la nota de débito y sus impuestos. var items = new List <ItemNotaDeDebito>(); ItemNotaDeDebito item = new ItemNotaDeDebito("Interès por mora", 50.00); items.Add(item); //agregar más items a la lista de ser necesario // Total de la nota de débito con sus impuestos, no necesita propina. var totales = new TotalesNotaDeDebito(4359.54, 4882.68); var impuestosDeTotal = new List <Impuesto>(); Impuesto impuesto = new Impuesto("2", "0", 0.0, 0.0); impuesto.Tarifa = 0.00; impuestosDeTotal.Add(impuesto); totales.Impuestos = impuestosDeTotal; // agregar más impuestos a la lista de ser necesario. // Crear nota de débito NotaDeDebito notaDeDebito = new NotaDeDebito(); // Cabecera notaDeDebito.Secuencial = "610"; DateTime today = DateTime.Today; var offset = TimeZoneInfo.Local.GetUtcOffset(today); notaDeDebito.FechaEmision = new DateTimeOffset(today, offset); notaDeDebito.Ambiente = 1; notaDeDebito.TipoEmision = 1; notaDeDebito.FechaEmisionDocumentoModificado = new DateTimeOffset(today, offset); notaDeDebito.NumeroDocumentoModificado = "001-001-000012345"; notaDeDebito.TipoDocumentoModificado = "01"; //notaDeDebito.Version = //notaDeDebito.ClaveAcceso = // Informaciòn de la nota de débito notaDeDebito.Emisor = emisor; notaDeDebito.Comprador = comprador; notaDeDebito.Totales = totales; notaDeDebito.Items = items; // Informaciòn adicional var infoAdicionalFactura = new Dictionary <string, string>(); infoAdicionalFactura.Add("Tiempo de entrega", "5 días"); notaDeDebito.InformacionAdicional = infoAdicionalFactura; // Enviar nota de débito var respuesta = notaDeDebito.Enviar(requestOptions); Console.WriteLine("RESPUESTA:" + respuesta); // Obtener el id externo, para luego consultar el estado JObject json = JObject.Parse(respuesta); string idExterno = (string)json["id"]; Console.WriteLine("ID EXTERNO: " + idExterno); //5832e2c370414663a1bea71938a65bf0 //Consultar estado de la nota de débito var requestOptions2 = new RequestOptions(); requestOptions2.ApiKey = myApiKey; requestOptions2.Password = myPassword; requestOptions2.Url = datilApiNotaDebitoUrl + idExterno; respuesta = NotaDeDebito.Consultar(requestOptions2); json = JObject.Parse(respuesta); string estado = (string)json["estado"]; Console.WriteLine("ESTADO: " + estado); // RECIBIDO }
public static void InicializaDatabaseDefaultsValues() { try { using (var db = new DymContext()) { var estacion = db.Estacion.FirstOrDefault(x => x.EstacionId == "SYS"); if (estacion == null) { estacion = new Estacion(); estacion.EstacionId = "SYS"; estacion.Nombre = "DEFAUTL"; estacion.CanjearPuntosAuto = false; db.Add(estacion); } var sustancia = db.Sustancia.FirstOrDefault(x => x.SustanciaId == "SYS"); if (sustancia == null) { sustancia = new Sustancia(); sustancia.SustanciaId = "SYS"; sustancia.Nombre = "DEFAUTL"; db.Add(sustancia); } var categoria = db.Categoria.FirstOrDefault(x => x.CategoriaId == "SYS"); if (categoria == null) { categoria = new Categoria(); categoria.CategoriaId = "SYS"; categoria.Nombre = "DEFAUTL"; db.Add(categoria); } var presentacion = db.Presentacion.FirstOrDefault(x => x.PresentacionId == "SYS"); if (presentacion == null) { presentacion = new Presentacion(); presentacion.PresentacionId = "SYS"; presentacion.Nombre = "DEFAUTL"; db.Add(presentacion); } var laboratorio = db.Laboratorio.FirstOrDefault(x => x.LaboratorioId == "SYS"); if (laboratorio == null) { laboratorio = new Laboratorio(); laboratorio.LaboratorioId = "SYS"; laboratorio.Nombre = "DEFAUTL"; db.Add(laboratorio); } var impuesto = db.Impuesto.FirstOrDefault(x => x.ImpuestoId == "SYS"); if (impuesto == null) { impuesto = new Impuesto(); impuesto.ImpuestoId = "SYS"; impuesto.Tasa = 0; impuesto.CImpuesto = "002"; db.Add(impuesto); } var unidadMedida = db.UnidadMedida.FirstOrDefault(x => x.UnidadMedidaId == "SYS"); if (unidadMedida == null) { unidadMedida = new UnidadMedida(); unidadMedida.UnidadMedidaId = "SYS"; unidadMedida.Nombre = "DEFAUTL"; unidadMedida.UnidadSat = "H87"; db.Add(unidadMedida); } var edodocP = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "PEN"); if (edodocP == null) { edodocP = new EstadoDoc(); edodocP.EstadoDocId = "PEN"; edodocP.Descripcion = "PENDIENTE"; db.Add(edodocP); } var edodocCa = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "CAN"); if (edodocCa == null) { edodocCa = new EstadoDoc(); edodocCa.EstadoDocId = "CAN"; edodocCa.Descripcion = "CANCELADO"; db.Add(edodocCa); } var edodocCo = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "CON"); if (edodocCo == null) { edodocCo = new EstadoDoc(); edodocCo.EstadoDocId = "CON"; edodocCo.Descripcion = "CONFIRMADO"; db.Add(edodocCo); } var tipoDocCom = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "COM"); if (tipoDocCom == null) { tipoDocCom = new TipoDoc(); tipoDocCom.TipoDocId = "COM"; tipoDocCom.Descripcion = "COMPRA"; db.Add(tipoDocCom); } var tipoDocDvc = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "DVC"); if (tipoDocDvc == null) { tipoDocDvc = new TipoDoc(); tipoDocDvc.TipoDocId = "DVC"; tipoDocDvc.Descripcion = "DEVOLUCIÓN SOBRE COMPRA"; db.Add(tipoDocDvc); } var tipoDocDev = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "DVV"); if (tipoDocDev == null) { tipoDocDev = new TipoDoc(); tipoDocDev.TipoDocId = "DVV"; tipoDocDev.Descripcion = "DEVOLUCIÓN SOBRE VENTA"; db.Add(tipoDocDev); } var tipoDocFac = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "FAC"); if (tipoDocFac == null) { tipoDocFac = new TipoDoc(); tipoDocFac.TipoDocId = "FAC"; tipoDocFac.Descripcion = "FACTURA"; db.Add(tipoDocFac); } var tipoDocRem = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "REM"); if (tipoDocRem == null) { tipoDocRem = new TipoDoc(); tipoDocRem.TipoDocId = "REM"; tipoDocRem.Descripcion = "REMISIÓN"; db.Add(tipoDocRem); } var tipoDocTic = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "TIC"); if (tipoDocTic == null) { tipoDocTic = new TipoDoc(); tipoDocTic.TipoDocId = "TIC"; tipoDocTic.Descripcion = "TICKET"; db.Add(tipoDocTic); } var tipoDocNc = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "NC"); if (tipoDocNc == null) { tipoDocNc = new TipoDoc(); tipoDocNc.TipoDocId = "NC"; tipoDocNc.Descripcion = "NOTA DE CRÉDITO"; db.Add(tipoDocNc); } var tipoDocCxp = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "CXP"); if (tipoDocCxp == null) { tipoDocCxp = new TipoDoc(); tipoDocCxp.TipoDocId = "CXP"; tipoDocCxp.Descripcion = "CUENTA POR PAGAR"; db.Add(tipoDocCxp); } var tipoDocTra = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "TRA"); if (tipoDocTra == null) { tipoDocTra = new TipoDoc(); tipoDocTra.TipoDocId = "TRA"; tipoDocTra.Descripcion = "TRASPASO DE MERCANCIAS"; db.Add(tipoDocTra); } var clienteSYS = db.Cliente.FirstOrDefault(x => x.ClienteId == "SYS"); if (clienteSYS == null) { clienteSYS = new Cliente(); clienteSYS.ClienteId = "SYS"; clienteSYS.Rfc = "XAXX010101000"; clienteSYS.Negocio = "PUBLICO EN GENERAL"; clienteSYS.RazonSocial = "PUBLICO EN GENERAL"; clienteSYS.MetodoPagoId = "PUE"; clienteSYS.FormaPagoId = "01"; clienteSYS.UsoCfdiid = "G01"; db.Add(clienteSYS); } var proveedorSYS = db.Proveedor.FirstOrDefault(x => x.ProveedorId == "SYS"); if (proveedorSYS == null) { proveedorSYS = new Proveedor(); proveedorSYS.ProveedorId = "SYS"; proveedorSYS.Negocio = "PROVEEDOR GENERICO"; proveedorSYS.RazonSocial = "PROVEEDOR GENERICO"; proveedorSYS.Rfc = "XAXX010101000"; proveedorSYS.DiasCredito = 0; proveedorSYS.LimiteCredito = 0; proveedorSYS.Saldo = 0; proveedorSYS.IsDeleted = false; db.Add(proveedorSYS); } var puntosConfig = db.PuntoConfig.FirstOrDefault(); if (puntosConfig == null) { puntosConfig = new PuntoConfig(); puntosConfig.DiasReset = 30; puntosConfig.TasaDescuento = 0.01m; puntosConfig.Vigente = true; puntosConfig.IsDeleted = false; db.Add(puntosConfig); } //01010101 var prodSys = db.Producto.FirstOrDefault(x => x.ProductoId.Equals("01010101")); if (prodSys == null) { prodSys = new Producto(); prodSys.ProductoId = "01010101"; prodSys.CategoriaId = "SYS"; prodSys.PresentacionId = "SYS"; prodSys.LaboratorioId = "SYS"; prodSys.Stock = 0; prodSys.Descripcion = "Concepto generico facturable"; prodSys.PrecioCompra = 0; prodSys.PrecioCaja = 0; prodSys.Precio1 = 0; prodSys.Precio2 = 0; prodSys.Precio3 = 0; prodSys.Precio4 = 0; prodSys.Utilidad1 = 0; prodSys.Utilidad2 = 0; prodSys.Utilidad3 = 0; prodSys.Utilidad4 = 0; prodSys.TieneLote = false; prodSys.IsDeleted = false; prodSys.CratedAt = DateTime.Now; prodSys.UnidadMedidaId = "SYS"; prodSys.ClaveProdServId = "01010101"; prodSys.ClaveUnidadId = "SYS"; prodSys.ChkCaducidad = false; db.Add(prodSys); } db.SaveChanges(); } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Error al inicializar db defautls: " + ex.ToString()); } }
public void LlenarInformacionTributaria(String version) { factura = new Factura(); factura.infoTributaria = new InfoTributaria(); factura.infoTributaria.ambiente = comprobante.EMPRESA.TIPOAMBIENTE.CODIGOTIPOAMBIENTE.ToString(); factura.infoTributaria.claveAcceso = comprobante.CLAVEDEACCESO; factura.infoTributaria.codDoc = comprobante.TIPOCOMPROBANTE.CODIGOSRI.Trim(); factura.infoTributaria.dirMatriz = comprobante.EMPRESA.DIRECCION1; factura.infoTributaria.estab = comprobante.ESTABLECIMIENTO.NUMERO; factura.infoTributaria.nombreComercial = comprobante.EMPRESA.NOMBRECOMERCIAL; factura.infoTributaria.ptoEmi = comprobante.PUNTOEMISION.SERIE; factura.infoTributaria.razonSocial = comprobante.EMPRESA.NOMBRE.Trim(); factura.infoTributaria.ruc = comprobante.EMPRESA.RUC; factura.infoTributaria.secuencial = comprobante.NUMEROCOMPROBANTE.ToString().PadLeft(9, '0'); factura.infoTributaria.tipoEmision = EnumTipoEmision.NORMAL.GetHashCode().ToString(); factura.infoFactura = new InfoFactura(); factura.infoFactura.contribuyenteEspecial = comprobante.EMPRESA.NUMERORESOLUCION; factura.infoFactura.direccionComprador = comprobante.SOCIONEGOCIO.DIRECCION; factura.infoFactura.dirEstablecimiento = comprobante.ESTABLECIMIENTO.DIRECCION; factura.infoFactura.fechaEmision = comprobante.FECHAEMISION.ToString("dd/MM/yyyy"); factura.infoFactura.identificacionComprador = comprobante.SOCIONEGOCIO.NUMERODOCUMENTO; factura.infoFactura.obligadoContabilidad = comprobante.EMPRESA.LLEVACONTABILIDAD; factura.infoFactura.importeTotal = comprobante.TOTAL; factura.infoFactura.moneda = "DOLAR"; factura.infoFactura.obligadoContabilidad = comprobante.EMPRESA.LLEVACONTABILIDAD; factura.infoFactura.pagos = new Pagos(); factura.infoFactura.pagos.pago = new List <Pago>(); foreach (COMPROBANTEFORMAPAGO pago in comprobante.COMPROBANTEFORMAPAGO) { Pago regpago = new Pago(); regpago.formaPago = pago.FORMAPAGO.TIPOFORMAPAGO.CODIGOSRI; regpago.plazo = pago.PLAZO; regpago.total = pago.VALOR; regpago.unidadTiempo = (pago.UNIDADTIEMPO.DESCRIPCION is null ? "dias" : pago.UNIDADTIEMPO.DESCRIPCION); factura.infoFactura.pagos.pago.Add(regpago); } factura.infoFactura.placa = null; factura.infoFactura.razonSocialComprador = comprobante.SOCIONEGOCIO.RAZONSOCIAL; factura.infoFactura.tipoIdentificacionComprador = comprobante.SOCIONEGOCIO.TIPOIDENTIFICACION.TIPOIDENTIFICACIONSRI; foreach (IMPUESTOCOMPROBANTE impuesto in comprobante.IMPUESTOCOMPROBANTE) { if (impuesto.BASEIMPONIBLE > 0) { TotalImpuesto regimp = new TotalImpuesto(); regimp.baseImponible = impuesto.BASEIMPONIBLE; regimp.codigo = impuesto.IMPUESTO.CODIGOTIPOIMPUESTO.ToString(); regimp.codigoPorcentaje = impuesto.IMPUESTO.CODIGOSRI.Trim(); regimp.tarifa = impuesto.PORCENTAJE; regimp.valor = impuesto.VALORIMPUESTO; factura.infoFactura.totalConImpuestos = new TotalConImpuestos(); factura.infoFactura.totalConImpuestos.totalImpuesto = new List <TotalImpuesto>(); factura.infoFactura.totalConImpuestos.totalImpuesto.Add(regimp); } } factura.infoFactura.totalDescuento = 0; factura.infoFactura.totalSinImpuestos = comprobante.TOTALSINIMPUESTO; factura.version = comprobante.TIPOCOMPROBANTE.VERSION; factura.id = "comprobante"; factura.version = version; factura.detalles = new Detalles(); factura.detalles.detalle = new List <Detalle>(); foreach (DETALLECOMPROBANTE detalle in comprobante.DETALLECOMPROBANTE) { Detalle regDetalle = new Detalle(); regDetalle.cantidad = detalle.CANTIDAD; regDetalle.codigoAuxiliar = detalle.ARTICULO.CODIGOARTICULO.ToString(); regDetalle.codigoPrincipal = detalle.ARTICULO.SECCION; regDetalle.descripcion = detalle.ARTICULO.DESCRIPCION; regDetalle.descuento = detalle.DESCUENTO.Value; regDetalle.precioTotalSinImpuesto = detalle.BASEIMPONIBLE.Value; regDetalle.precioUnitario = detalle.PVP; Impuesto regImpuesto = new Impuesto(); regImpuesto.baseImponible = detalle.BASEIMPONIBLE.Value; regImpuesto.codigo = detalle.IMPUESTO.CODIGOTIPOIMPUESTO.ToString(); regImpuesto.codigoPorcentaje = detalle.IMPUESTO.CODIGOSRI.Trim(); regImpuesto.tarifa = detalle.IMPUESTO.PORCENTAJE; regImpuesto.valor = detalle.VALORIMPUESTO.Value; regDetalle.impuestos = new Impuestos(); regDetalle.impuestos.impuesto = new List <Impuesto>(); regDetalle.impuestos.impuesto.Add(regImpuesto); factura.detalles.detalle.Add(regDetalle); } if (comprobante.COMPROBANTEADICIONAL.Count() > 0) { factura.infoAdicional = new InfoAdicional(); factura.infoAdicional.campoAdicional = new List <CampoAdicional>(); CampoAdicional campo; foreach (COMPROBANTEADICIONAL comprobanteAdicional in comprobante.COMPROBANTEADICIONAL) { campo = new CampoAdicional(); campo.nombre = comprobanteAdicional.TITULO; campo.value = comprobanteAdicional.DESCRIPCION; factura.infoAdicional.campoAdicional.Add(campo); } } }