public ChileSystems.DTE.Engine.Envio.EnvioDTE GenerarEnvioCliente(ChileSystems.DTE.Engine.Documento.DTE dte, string dteXML) { var EnvioCustomer = new ChileSystems.DTE.Engine.Envio.EnvioDTE(); EnvioCustomer.SetDTE = new ChileSystems.DTE.Engine.Envio.SetDTE(); EnvioCustomer.SetDTE.DTEs.Add(dte); EnvioCustomer.SetDTE.dteXmls.Add(dteXML); EnvioCustomer.SetDTE.Caratula = new ChileSystems.DTE.Engine.Envio.Caratula(); EnvioCustomer.SetDTE.Caratula.FechaEnvio = DateTime.Now; /*Fecha de Resolución y Número de Resolución se averiguan en el sitio del SII según ambiente de producción o certificación*/ EnvioCustomer.SetDTE.Caratula.FechaResolucion = DateTime.Now; EnvioCustomer.SetDTE.Caratula.NumeroResolucion = 80; EnvioCustomer.SetDTE.Caratula.RutEmisor = rutEmpresa; EnvioCustomer.SetDTE.Caratula.RutEnvia = rutCertificado; EnvioCustomer.SetDTE.Caratula.RutReceptor = dte.Documento.Encabezado.Receptor.Rut; /*Generalmente al cliente se le envía una sola factura, sin embargo si no es el caso, * se pueden agregar varias tal cual como está el método GenerarEnvioDTEToSII()*/ EnvioCustomer.SetDTE.Caratula.SubTotalesDTE = new List <ChileSystems.DTE.Engine.Envio.SubTotalesDTE>() { new ChileSystems.DTE.Engine.Envio.SubTotalesDTE() { Cantidad = 1, TipoDTE = dte.Documento.Encabezado.IdentificacionDTE.TipoDTE } }; return(EnvioCustomer); }
public ChileSystems.DTE.Engine.Envio.EnvioDTE GenerarEnvioDTEToSII(List <ChileSystems.DTE.Engine.Documento.DTE> dtes, List <string> xmlDtes) { var EnvioSII = new ChileSystems.DTE.Engine.Envio.EnvioDTE(); EnvioSII.SetDTE = new ChileSystems.DTE.Engine.Envio.SetDTE(); EnvioSII.SetDTE.Id = "FENV010"; /*Es necesario agregar en el envío, los objetos DTE como sus respectivos XML en strings*/ foreach (var a in dtes) { EnvioSII.SetDTE.DTEs.Add(a); } foreach (var a in xmlDtes) { EnvioSII.SetDTE.dteXmls.Add(a); EnvioSII.SetDTE.signedXmls.Add(a); } EnvioSII.SetDTE.Caratula = new ChileSystems.DTE.Engine.Envio.Caratula(); EnvioSII.SetDTE.Caratula.FechaEnvio = DateTime.Now; /*Fecha de Resolución y Número de Resolución se averiguan en el sitio del SII según ambiente de producción o certificación*/ EnvioSII.SetDTE.Caratula.FechaResolucion = new DateTime(2013, 5, 30); EnvioSII.SetDTE.Caratula.NumeroResolucion = 0; EnvioSII.SetDTE.Caratula.RutEmisor = rutEmpresa; EnvioSII.SetDTE.Caratula.RutEnvia = rutCertificado; EnvioSII.SetDTE.Caratula.RutReceptor = "60803000-K"; //Este es el RUT del SII EnvioSII.SetDTE.Caratula.SubTotalesDTE = new List <ChileSystems.DTE.Engine.Envio.SubTotalesDTE>(); /*En la carátula del envío, se debe indicar cuantos documentos de cada tipo se están enviando*/ var tipos = EnvioSII.SetDTE.DTEs.GroupBy(x => x.Documento.Encabezado.IdentificacionDTE.TipoDTE); foreach (var a in tipos) { EnvioSII.SetDTE.Caratula.SubTotalesDTE.Add(new ChileSystems.DTE.Engine.Envio.SubTotalesDTE() { Cantidad = a.Count(), TipoDTE = a.ElementAt(0).Documento.Encabezado.IdentificacionDTE.TipoDTE }); } return(EnvioSII); }