public LibroCompra lectura()
        {
            LibroCompra lib = new LibroCompra();


            fileAdmin file     = new fileAdmin();
            String    fileName = file.nextFile(@"c:\IatFiles\file\", "*.json");

            if (fileName != null)
            {
                //Paso la ruta del fichero al constructor
                StreamReader objReader = new StreamReader(fileName, System.Text.Encoding.Default, true);
                objReader.ToString();
                String data = objReader.ReadToEnd();

                DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(LibroCompra));

                MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(data));

                try
                {
                    lib = (LibroCompra)js.ReadObject(ms);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    MessageBox.Show("Error de lectura JSON" + e.Message);
                }


                objReader.Close();
                ms.Close();
                file.mvFile(fileName, "C:/IatFiles/file/librocompra/", "C:/IatFiles/fileProcess/");
                return(lib);
            }
            else
            {
                return(null);
            }
        }
        public LibroCompra lectura()
        {
            LibroCompra lib = new LibroCompra();

            fileAdmin file = new fileAdmin();
            String fileName = file.nextFile(@"c:\IatFiles\file\", "*.json");

            if (fileName != null)
            {
                //Paso la ruta del fichero al constructor
                StreamReader objReader = new StreamReader(fileName, System.Text.Encoding.Default, true);
                objReader.ToString();
                String data = objReader.ReadToEnd();

                DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(LibroCompra));

                MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(data));

                try
                {
                    lib = (LibroCompra)js.ReadObject(ms);
                }
                catch (Exception e)
                {

                    Console.WriteLine(e.Message);
                    MessageBox.Show("Error de lectura JSON" + e.Message);

                }

                objReader.Close();
                ms.Close();
                file.mvFile(fileName, "C:/IatFiles/file/librocompra/", "C:/IatFiles/fileProcess/");
                return lib;
            }
            else
            {
                return null;
            }
        }
        public void doLibroCompra()
        {
            String signLibroCompra = String.Empty;

            // inatancia txt_Libro
            TxtLiborCompra lib = new TxtLiborCompra();

            LibroCompra libroC = lib.lectura();

            xmlLibroCompra xml = new xmlLibroCompra();

            signLibroCompra = xml.libroCompra_to_xml(libroC);



            signLibroCompra = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\r\n" + signLibroCompra;

            using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"" + Microsoft.Win32.Registry.GetValue(@"HKEY_CURRENT_USER\Iat", "unidadIat", null).ToString() + ":/IatFiles/file/xml/LibroCompra" + "1" + ".xml", false, Encoding.GetEncoding("ISO-8859-1")))
            {
                file.WriteLine(signLibroCompra);
            }
            Console.WriteLine(signLibroCompra);
        }
Example #4
0
        public String libroCompra_to_xml(LibroCompra libro)
        {
            Documento doc     = new Documento();
            Empresa   empresa = new Empresa();

            empresa = empresa.getEmpresa();
            String folioNotificacion = "<FolioNotificacion>" + libro.FolioNotificacion + "</FolioNotificacion>\n";

            if (libro.NroResol != 0)
            {
                folioNotificacion = "";
            }
            String cabeceraLibro =

                "<LibroCompraVenta xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sii.cl/SiiDte LibroCV_v10.xsd\" version=\"1.0\" xmlns=\"http://www.sii.cl/SiiDte\">\n"
                + "<EnvioLibro ID=\"IECV201406\">\n"
                + "<Caratula>\n"
                + "<RutEmisorLibro>" + libro.RutEmisorLibro + "</RutEmisorLibro>\n"
                + "<RutEnvia>" + libro.RutEnvia + "</RutEnvia>\n"
                + "<PeriodoTributario>" + libro.PeriodoTributario + "</PeriodoTributario>\n"
                + "<FchResol>" + libro.FchResol + "</FchResol>\n"
                + "<NroResol>" + libro.NroResol + "</NroResol>\n"
                + "<TipoOperacion>" + libro.TipoOperacion + "</TipoOperacion>\n"
                + "<TipoLibro>" + libro.TipoLibro + "</TipoLibro>\n"
                + "<TipoEnvio>" + libro.TipoEnvio + "</TipoEnvio>\n"
                + folioNotificacion
                + "</Caratula>\n";


            String resumen = "<ResumenPeriodo>\n";


            String TotalesP = String.Empty;

            foreach (var total in libro.TotalesPeriodo)
            {
                String totopivausocomun = "<TotOpIVAUsoComun>" + total.TotOpIVAUsoComun + "</TotOpIVAUsoComun>\n";
                if (total.TotOpIVAUsoComun == 0)
                {
                    totopivausocomun = "";
                }

                String totivausocomun = "<TotIVAUsoComun>" + total.TotIVAUsoComun + "</TotIVAUsoComun>\n";
                if (total.TotIVAUsoComun == 0)
                {
                    totivausocomun = "";
                }

                String fctprop = "<FctProp>" + total.FctProp + "</FctProp>\n";
                if (total.FctProp == 0)
                {
                    fctprop = "";
                }
                String totcredivausocomun = "<TotCredIVAUsoComun>" + total.TotCredIVAUsoComun + "</TotCredIVAUsoComun>\n";
                if (total.TotCredIVAUsoComun == 0)
                {
                    totcredivausocomun = "";
                }

                String b           = String.Empty;
                String c           = String.Empty;
                string totOtrosImp = string.Empty;
                String d           = String.Empty;
                String a           = "<TotalesPeriodo>\n" +
                                     "<TpoDoc>" + total.TpoDoc + "</TpoDoc>\n" +
                                     "<TotDoc>" + total.TotDoc + "</TotDoc>\n" +
                                     "<TotMntExe>" + total.TotMntExe + "</TotMntExe>\n" +
                                     "<TotMntNeto>" + total.TotMntNeto + "</TotMntNeto>\n" +
                                     "<TotMntIVA>" + total.TotMntIVA + "</TotMntIVA>\n" +
                                     totopivausocomun +
                                     totivausocomun +
                                     fctprop +
                                     totcredivausocomun;

                if (total.TotIVANoRec == null)
                {
                    b = "";
                }
                else
                {
                    foreach (var ivano in total.TotIVANoRec)
                    {
                        b = "<TotIVANoRec>\n" +
                            "<CodIVANoRec>" + ivano.CodIVANoRec + "</CodIVANoRec>\n" +
                            "<TotOpIVANoRec>" + ivano.TotOpIVANoRec + "</TotOpIVANoRec>\n" +
                            "<TotMntIVANoRec>" + ivano.TotMntIVANoRec + "</TotMntIVANoRec>\n" +
                            "</TotIVANoRec>\n";
                    }
                }

                if (total.TotOtrosImp.Count == 0)
                {
                    c = "";
                }
                else
                {
                    foreach (var otrosimp in total.TotOtrosImp)
                    {
                        c = "<TotOtrosImp>\n" +
                            "<CodImp>" + otrosimp.CodImp + "</CodImp>\n" +
                            "<TotMntImp>" + otrosimp.TotMntImp + "</TotMntImp>\n" +
                            "</TotOtrosImp>\n";
                        totOtrosImp += c;
                    }
                }

                TotalesP += a + b + totOtrosImp + d +
                            //    "<TotIVAFueraPlazo>" + total.TotIVAFueraPlazo + "</TotIVAFueraPlazo>\n" +
                            "<TotMntTotal>" + total.TotMntTotal + "</TotMntTotal>\n" +
                            "</TotalesPeriodo>\n";
            }

            String finResumen = "</ResumenPeriodo>\n";


            String detalle     = String.Empty;
            String detIvaNo    = String.Empty;
            String detOtrosImp = String.Empty;
            String detalleaux  = String.Empty;

            foreach (var det in libro.Detalle)
            {
                if (detIvaNo == null)
                {
                    detIvaNo = "";
                }

                // String mntiva = "<MntIVA>" + det.MntIVA+ "</MntIVA>\n";
                // if(det.MntIVA == 0)
                //     mntiva = "";
                detalle = "<Detalle>\n" +
                          "<TpoDoc>" + det.TpoDoc + "</TpoDoc>\n" +
                          "<NroDoc>" + det.NroDoc + "</NroDoc>\n" +
                          "<TpoImp>" + det.TpoImp + "</TpoImp>\n" +
                          "<TasaImp>" + det.TasaImp + "</TasaImp>\n" +
                          "<FchDoc>" + det.FchDoc + "</FchDoc>\n" +
                          "<RUTDoc>" + det.RUTDoc + "</RUTDoc>\n" +
                          "<RznSoc>" + det.RznSoc + "</RznSoc>\n" +
                          "<MntExe>" + det.MntExe + "</MntExe>\n" +
                          "<MntNeto>" + det.MntNeto + "</MntNeto>\n" +
                          "<MntIVA>" + det.MntIVA + "</MntIVA>\n";
                if (det.IVANoRec == null)
                {
                    detIvaNo = "";
                }
                else
                {
                    foreach (var iva in det.IVANoRec)
                    {
                        detIvaNo = "<IVANoRec>\n" +
                                   "<CodIVANoRec>" + iva.CodIVANoRec + "</CodIVANoRec>\n" +
                                   "<MntIVANoRec>" + iva.MntIVANoRec + "</MntIVANoRec>\n" +
                                   "</IVANoRec>\n";
                    }
                }

                String ivausocomun = "<IVAUsoComun>" + det.IVAUsoComun + "</IVAUsoComun>\n";
                if (det.IVAUsoComun == 0)
                {
                    ivausocomun = "";
                }

                if (det.OtrosImp.Count == 0)
                {
                    detOtrosImp = "";
                }
                else
                {
                    foreach (var otros in det.OtrosImp)
                    {
                        detOtrosImp = "<OtrosImp>\n" +
                                      "<CodImp>" + otros.CodImp + "</CodImp>\n" +
                                      "<TasaImp>" + otros.TasaImp + "</TasaImp>\n" +
                                      "<MntImp>" + otros.MntImp + "</MntImp>\n" +
                                      "</OtrosImp>\n";
                    }
                }
                detalleaux += detalle + detIvaNo + ivausocomun + detOtrosImp +
                              "<MntTotal>" + det.MntTotal + "</MntTotal>\n" +
                              "</Detalle>\n";
            }

            DateTime thisDay = DateTime.Now;
            String   fch     = String.Format("{0:yyyy-MM-ddTHH:mm:ss}", thisDay);

            String finLibro =

                "<TmstFirma>" + fch + "</TmstFirma>" +
                "</EnvioLibro>" +
                "</LibroCompraVenta>";

            String LibroCom = cabeceraLibro + resumen + TotalesP + finResumen + detalleaux + finLibro;

            X509Certificate2 cert = FuncionesComunes.obtenerCertificado(empresa.NomCertificado);

            String signLibro = firmarLibro(LibroCom, cert);

            return(signLibro);
        }