예제 #1
0
        public Canonico EliminarElementoDesdeElFinal()
        {
            int      count = 0;
            Canonico p     = new Canonico();

            if (!ListaVacia())
            {
                Nodo Recorrido  = cabeza;
                Nodo Referencia = new Nodo();

                while (Recorrido != null)
                {
                    if (Recorrido.Siguiente != null)
                    {
                        Referencia = Recorrido;
                    }

                    Recorrido = Recorrido.Siguiente;
                    count++;
                }

                if (count == 1)
                {
                    p      = cabeza.Valor;
                    cabeza = null;
                }
                else
                {
                    p = Referencia.Siguiente.Valor;
                    Referencia.Siguiente = null;
                    Recorrido            = Referencia;
                }
            }
            return(p);
        }
        public static Canonico ObjetoCanonico(int columnas, ListaSimple.ListaEnlazadaSimple lista, string etiqueta)
        {
            Canonico canonico = new Canonico();

            canonico.Tipo_documento = etiqueta;
            canonico.Id             = int.Parse(lista.imprimirPosicion(0));
            canonico.Fecha          = lista.imprimirPosicion(1);
            canonico.Carrera        = lista.imprimirPosicion(2);
            canonico.Nombres        = lista.imprimirPosicion(3);
            canonico.Apellidos      = lista.imprimirPosicion(4);
            canonico.Identificacion = int.Parse(lista.imprimirPosicion(5));

            if (etiqueta.Equals("SOLI"))
            {
                canonico.Modalidad = lista.imprimirPosicion(6);
                canonico.Semestre  = lista.imprimirPosicion(7);
            }
            else if (etiqueta.Equals("SOLCANMA"))
            {
                canonico.Motivo_cancelacion = lista.imprimirPosicion(6);
            }
            else if (etiqueta.Equals("SOLCREES"))
            {
                canonico.Celular   = long.Parse(lista.imprimirPosicion(6));
                canonico.Correo    = lista.imprimirPosicion(7);
                canonico.Direccion = lista.imprimirPosicion(8);
                canonico.Edad      = int.Parse(lista.imprimirPosicion(9));
                canonico.Carnet    = lista.imprimirPosicion(10);
                canonico.Jornada   = lista.imprimirPosicion(11);
                canonico.Sede      = lista.imprimirPosicion(12);
            }
            else if (etiqueta.Equals("SOLGRA"))
            {
                canonico.Tipo_graducacion   = lista.imprimirPosicion(6);
                canonico.Historia_academica = lista.imprimirPosicion(7);
                canonico.Historico_notas    = lista.imprimirPosicion(8);
                canonico.Pago_derechos      = lista.imprimirPosicion(9);
            }
            else if (etiqueta.Equals("SOLMAFI"))
            {
                canonico.Forma_pago        = lista.imprimirPosicion(6);
                canonico.Periodo_academico = lista.imprimirPosicion(7);
                canonico.Total_pagar       = int.Parse(lista.imprimirPosicion(8));
                canonico.Descuentos        = int.Parse(lista.imprimirPosicion(9));
                canonico.Total_liquidado   = int.Parse(lista.imprimirPosicion(10));
            }
            else if (etiqueta.Equals("SOLMAAC"))
            {
                canonico.Materias = lista.imprimirPosicion(6);
                canonico.Docentes = lista.imprimirPosicion(7);
                canonico.Horario  = lista.imprimirPosicion(8);
            }

            return(canonico);
        }
예제 #3
0
        public void AgregarElementoAlInicio(Canonico value)
        {
            Nodo Nuevo = new Nodo();

            Nuevo.Valor = value;

            if (ListaVacia())
            {
                cabeza = Nuevo;
            }
            else
            {
                Nuevo.Siguiente = cabeza;
                cabeza          = Nuevo;
            }
        }
        public static void encolarPrioridad(Canonico canonico)
        {
            string tipo_codumento = canonico.Tipo_documento;

            if (tipo_codumento.Equals("SOLCANMA"))
            {
                colaBaja.Encolar(canonico);
            }
            else if (tipo_codumento.Equals("SOLGRA") || tipo_codumento.Equals("SOLCREES"))
            {
                colaMedia.Encolar(canonico);
            }
            else if (tipo_codumento.Equals("SOLI") || tipo_codumento.Equals("SOLMAFI") || tipo_codumento.Equals("SOLMAAC"))
            {
                colaAlta.Encolar(canonico);
            }
        }
예제 #5
0
        public Canonico consultarCabeza()
        {
            Nodo     recorrido = cabeza;
            Canonico p         = new Canonico();

            while (recorrido != null)
            {
                if (recorrido.Siguiente == null)
                {
                    p = recorrido.Valor;
                }

                if (recorrido.Siguiente != null)
                {
                    recorrido = recorrido.Siguiente;
                }
            }

            return(p);
        }
        public static void guardarArchivos(Canonico can)
        {
            String tipoDocumento = can.Tipo_documento;

            String fechaCompleta = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss");

            /*---- Destino----*/
            String rutaDestino = @"../../Documentos\CarpetaDestino\OUT_" + tipoDocumento;

            /*se debe incluir en el canonico el nombre del archivo original csv...
             * para prueba se agrega nombres...*/
            String nombreDocumento = @"\XML_" + tipoDocumento + "_" + fechaCompleta + ".xml";

            rutaDestino += nombreDocumento;

            String documento = generarXmlCanonico(can);

            /*se guarda el documento en su carpeta correspondiente*/
            File.WriteAllText(rutaDestino, documento);
            File.SetAttributes(rutaDestino, FileAttributes.Normal);


            /*-----LOG-----*/

            String rutaLog = @"../../Documentos\CarpetaDestino\OUT_LOG";

            String nombreDocumentoLog = @"\XML_" + tipoDocumento + "_" + fechaCompleta + ".txt";

            rutaLog += nombreDocumentoLog;

            String peso         = pesoArchivo(rutaDestino);
            String documentoLog = generarLog(tipoDocumento, fechaCompleta, peso);


            /*se guarda el log del documento en carpeta log*/
            File.WriteAllText(rutaLog, documentoLog);
            File.SetAttributes(rutaLog, FileAttributes.Normal);
        }
        public static String generarXmlCanonico(Canonico can)
        {
            String texto =
                "<canonico>\n" +
                "   <tipo_documento>" + can.Tipo_documento + "</tipo_documento>\n" +
                "   <id>" + can.Id + "</id>\n" +
                "   <fecha>" + can.Fecha + "</fecha>\n" +
                "   <carrera>" + can.Carrera + "</carrera>\n" +
                "   <nombres>" + can.Nombres + "</nombres>\n" +
                "   <apellidos>" + can.Apellidos + "</apellidos>\n" +
                "   <identificación>" + can.Identificacion + "</identificación>\n" +
                "   <modalidad_formación>" + can.Modalidad + "</modalidad_formación>\n" +
                "   <semestre>" + can.Semestre + "</semestre>\n" +
                "   <forma_de_pago>" + can.Forma_pago + "</forma_de_pago>\n" +
                "   <periodo_académico>" + can.Periodo_academico + "</periodo_académico>\n" +
                "   <total_pagar>" + can.Total_pagar + "</total_pagar>\n" +
                "   <descuentos>" + can.Descuentos + "</descuentos>\n" +
                "   <total_liquidado>" + can.Total_liquidado + "</total_liquidado>\n" +
                "   <materias>" + can.Materias + "</materias>\n" +
                "   <docentes>" + can.Docentes + "</docentes>\n" +
                "   <horario>" + can.Horario + "</horario>\n" +
                "   <tipo_graduación>" + can.Tipo_graducacion + "</tipo_graduación>\n" +
                "   <historia_académica>" + can.Historia_academica + "</historia_académica>\n" +
                "   <histórico_de_notas>" + can.Historico_notas + "</histórico_de_notas>\n" +
                "   <pago_derechos>" + can.Pago_derechos + "</pago_derechos>\n" +
                "   <celular>" + can.Celular + "</celular>\n" +
                "   <correo>" + can.Correo + "</correo>\n" +
                "   <dirección>" + can.Direccion + "</dirección>\n" +
                "   <edad>" + can.Edad + "</edad>\n" +
                "   <carnet>" + can.Carnet + "</carnet>\n" +
                "   <jornada>" + can.Jornada + "</jornada>\n" +
                "   <sede>" + can.Sede + "</sede>\n" +
                "   <motivo_cancelación>" + can.Motivo_cancelacion + "</motivo_cancelación>\n" +
                "</canonico>";

            return(texto);
        }
예제 #8
0
 public void Encolar(Canonico Obj)
 {
     base.AgregarElementoAlInicio(Obj);
 }
        public static void GenerarXML()
        {
            int contador = 0;

            string line;

            string rutaCSV = "./../../Documentos/CarpetaComun/";

            DirectoryInfo direcCSV = new DirectoryInfo(rutaCSV);
            DirectoryInfo direcXML = new DirectoryInfo("./../../Documentos/CarpetaSeguimiento/");


            string etiqueta = "";

            int namefiles = 0;

            string oldFile = NewestFileofDirectory(rutaCSV);

            var stopwatch = Stopwatch.StartNew();

            Thread.Sleep(1000);
            stopwatch.Stop();

            if (!oldFile.Equals(""))
            {
                FileInfo fi = new FileInfo(rutaCSV + oldFile);



                ListaSimple.ListaEnlazadaSimple listCabecera = new ListaSimple.ListaEnlazadaSimple();

                ListaSimple.ListaEnlazadaSimple listContenido = new ListaSimple.ListaEnlazadaSimple();

                bool A1 = fi.Name.Contains("SOLI");
                bool A2 = fi.Name.Contains("SOLCANMA");
                bool A3 = fi.Name.Contains("SOLCREES");
                bool A4 = fi.Name.Contains("SOLGRA");
                bool A5 = fi.Name.Contains("SOLMAAC");
                bool A6 = fi.Name.Contains("SOLMAFI");

                if (A1)
                {
                    etiqueta = "SOLI";
                }
                else if (A2)
                {
                    etiqueta = "SOLCANMA";
                }
                else if (A3)
                {
                    etiqueta = "SOLCREES";
                }
                else if (A4)
                {
                    etiqueta = "SOLGRA";
                }
                else if (A5)
                {
                    etiqueta = "SOLMAAC";
                }
                else if (A6)
                {
                    etiqueta = "SOLMAFI";
                }

                string estructura = "<" + etiqueta + "> \n";

                System.IO.StreamReader file = new System.IO.StreamReader(direcCSV.FullName + fi.Name);
                //Console.WriteLine(direcCSV.FullName + fi.Name);

                while ((line = file.ReadLine()) != null)
                {
                    contador++;

                    var archivo = line.Split(';');
                    if (contador == 1)
                    {
                        foreach (var cabecera in archivo)
                        {
                            listCabecera.AgregarElementoAlFinal(cabecera);
                        }
                    }
                    else
                    {
                        foreach (var contenido in archivo)
                        {
                            listContenido.AgregarElementoAlFinal(contenido);
                        }
                    }
                }

                contador = 0;
                file.Close();

                for (int xml = 0; xml < listCabecera.CantidadElementos(); xml++)
                {
                    estructura += "\t<" + listCabecera.imprimirPosicion(xml) + ">" + listContenido.imprimirPosicion(xml) + "</" + listCabecera.imprimirPosicion(xml) + "> \n";
                }

                Canonico objetDocument = ObjetoCanonico(listCabecera.CantidadElementos(), listContenido, etiqueta);

                estructura += "</" + etiqueta + "> ";
                //Console.WriteLine(estructura);

                namefiles++;
                String fechaCompleta = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss");
                if (A1)
                {
                    System.IO.File.WriteAllText(direcXML.FullName + "XML_SOLI/" + etiqueta + fechaCompleta + ".xml", estructura);
                }
                else if (A2)
                {
                    System.IO.File.WriteAllText(direcXML.FullName + "XML_SOLCANMA/" + etiqueta + fechaCompleta + ".xml", estructura);
                }
                else if (A3)
                {
                    System.IO.File.WriteAllText(direcXML.FullName + "XML_SOLCREES/" + etiqueta + fechaCompleta + ".xml", estructura);
                }
                else if (A4)
                {
                    System.IO.File.WriteAllText(direcXML.FullName + "XML_SOLGRA/" + etiqueta + fechaCompleta + ".xml", estructura);
                }
                else if (A5)
                {
                    System.IO.File.WriteAllText(direcXML.FullName + "XML_SOLMAAC/" + etiqueta + fechaCompleta + ".xml", estructura);
                }
                else if (A6)
                {
                    System.IO.File.WriteAllText(direcXML.FullName + "XML_SOLMAFI/" + namefiles + fechaCompleta + ".xml", estructura);
                }

                File.Delete(direcCSV.FullName + fi.Name);

                encolarPrioridad(objetDocument);

                estructura = null;
            }
        }