public void LoadTripData(string folderPath)
        {
            // save the base folder path
            dataPath = folderPath;

            // generate path to the trips.dat XML, and then load it
            string      metadataPath = folderPath + "\\trips.dat";
            XmlDocument xmlDocument  = new XmlDocument();

            xmlDocument.Load(metadataPath);
            // grab ride list via the XML root node in trips.dat
            XmlNodeList xmlNodes = xmlDocument.GetElementsByTagName("TripDetailsItem");

            foreach (XmlNode node in xmlNodes)
            {// loop through the ride list and store the metadata into the variables
                XmlNodeReader xmlNodeReader = new XmlNodeReader(node);
                // for some reason, need to "read" twice to access the data
                xmlNodeReader.Read();
                xmlNodeReader.Read();
                FileName.Add(xmlNodeReader.ReadElementContentAsString());
                Title.Add(xmlNodeReader.ReadElementContentAsString());
                Distance.Add(xmlNodeReader.ReadElementContentAsDouble());
                // the duration is stored as ticks; cast as DateTime
                // for conversion to seconds later
                duration.Add(new DateTime(xmlNodeReader.ReadElementContentAsLong()));
                DateOfRoute.Add(xmlNodeReader.ReadElementContentAsDateTime());
                CaloriesBurned.Add(xmlNodeReader.ReadElementContentAsInt());
                Weather.Add(xmlNodeReader.ReadElementContentAsInt());
                CourseJoy.Add(xmlNodeReader.ReadElementContentAsInt());
                ExtraNotes.Add(xmlNodeReader.ReadElementContentAsString());
            }
        }
 public IEnumerable <WsItem> GetItems()
 {
     if (_disposed)
     {
         throw new InvalidOperationException($"Enumerate in {nameof(WsItemsReaderEngine)} is disposed");
     }
     if (_getItemsInvoked)
     {
         throw new InvalidOperationException($"Enumerate in {nameof(WsItemsReaderEngine)} can call only ones");
     }
     _getItemsInvoked = true;
     CreatedFileResolver.IFolderItemsResolver folderItemsResolver = _useCreatedFileResolver ? _apiClient._createdFileResolver.FindFolderItemsResolver(_folderPath) : null;
     while (AppVersion == 0 && _disposed == false)
     {
         if (_xmlReader.Name == "folder")
         {
             yield return(CreateItemInfo <WsFolder>());
         }
         else if (_xmlReader.Name == "file")
         {
             WsFile file = CreateItemInfo <WsFile>();
             if (file.IsReady)
             {
                 if (folderItemsResolver?.RemoveFileAndFolderIfEmpty(file) == true)
                 {
                     folderItemsResolver = null;
                 }
                 yield return(file);
             }
         }
         else if (_xmlReader.Name == "app_version")
         {
             AppVersion = _xmlReader.ReadElementContentAsInt();
         }
         else
         {
             break;
         }
     }
     Dispose();
     if (folderItemsResolver != null)
     {
         foreach (WsFile file in folderItemsResolver.GetCreatedFilesInProgress())
         {
             yield return(file);
         }
     }
 }
示例#3
0
        public void importaSessao(DateTime data)
        {
            try
            {
                using (AuditoriaEntities db = new AuditoriaEntities())
                {
                    SessoesReunioes      cliente = new SessoesReunioes();
                    sessao_camara        sessao  = new sessao_camara();
                    List <sessao_camara> sessoes = new List <sessao_camara>();
                    XmlNode       resposta       = cliente.ListarPresencasDia(data.Date.ToString("dd/MM/yyyy", CultureInfo.CurrentCulture), "", "", "");
                    XmlNodeReader reader         = new XmlNodeReader(resposta);
                    int           qtdSessoaDia   = 0;
                    reader.Read(); //header
                    reader.Read(); //dia
                    if (reader.NodeType.ToString() != "None")
                    {
                        sessao.dataSessao = data; //data
                        reader.Read();
                        reader.Read();
                        reader.Read();
                        qtdSessoaDia       = reader.ReadElementContentAsInt(); //qtdeSessoes
                        sessao.legislatura = reader.ReadElementContentAsInt(); //legislatura
                        //Verifica se o dia já foi importado
                        var dataverify = from d in db.sessoes_camara
                                         .Where(d => d.dataSessao == sessao.dataSessao)
                                         select d;

                        if (!(dataverify.Count() > 0))
                        {
                            reader.Read(); //parlamentar
                            while (reader.Name != "sessaoDia")
                            {
                                reader.Read();
                            }
                            for (int i = 0; i < qtdSessoaDia; i++)
                            {
                                reader.Read();
                                sessao.inicio = reader.ReadElementContentAsString();
                                sessao.inicio = sessao.inicio.Substring(sessao.inicio.IndexOf(" ") + 1, (sessao.inicio.Length - sessao.inicio.IndexOf(" ") - 1));
                                string desc = reader.ReadElementContentAsString();
                                sessao.descricao = desc.Substring(0, desc.IndexOf("-") - 1);
                                reader.Read();
                                reader.Read();
                                reader.Read();
                                reader.Read();

                                sessoes.Add(new sessao_camara()
                                {
                                    dataSessao  = sessao.dataSessao,
                                    descricao   = sessao.descricao,
                                    inicio      = sessao.inicio,
                                    legislatura = sessao.legislatura,
                                });
                                sessoes[i] = db.sessoes_camara.Add(sessoes[i]);
                                db.SaveChangesAsync();
                            }
                            importaPresenca(resposta, db, sessoes);
                        }
                    }
                    else
                    {
                    }
                }
            }
            catch (DbEntityValidationException e)
            {
                //gerar log
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine(eve.Entry.Entity.GetType().Name + ": \n");
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("-- " + ve.ErrorMessage + "\n");
                    }
                }
            }
            catch (Exception ex)
            {
                //gerar log
                Console.WriteLine(ex.Message + "\n");
                Console.WriteLine(ex.TargetSite + "\n");
                Console.WriteLine(ex.StackTrace);
                Console.Read();
            }
        }
示例#4
0
        private void importaPresenca(System.Xml.XmlNode resultado, AuditoriaEntities db, List <sessao_camara> sessoes)
        {
            try
            {
                XmlNodeReader     reader   = new XmlNodeReader(resultado);
                presenca_deputado presenca = new presenca_deputado();
                bool fim = false;

                while (reader.LocalName != "carteiraParlamentar")
                {
                    reader.Read();
                }
                while (fim == false)
                {
                    presenca.legislatura         = sessoes[0].legislatura;
                    presenca.carteiraParlamentar = reader.ReadElementContentAsInt();
                    while (reader.LocalName != "justificativa")
                    {
                        reader.Read();
                    }
                    presenca.justificativa   = reader.ReadElementContentAsString();
                    presenca.presencaExterna = (sbyte)reader.ReadElementContentAsInt();
                    reader.Read();
                    while (reader.LocalName != "sessoesDia")
                    {
                        reader.Read();
                        reader.Read();
                        reader.Read();
                        reader.Read();
                        string descricao = reader.ReadElementContentAsString();
                        descricao = descricao.Substring(0, descricao.IndexOf("-") - 1);
                        var verify = from b in sessoes.Where(b => b.descricao == descricao)
                                     select b;
                        presenca.idSessao = verify.ElementAt(0).idSessao;
                        if (reader.ReadElementContentAsString() == "Presença")
                        {
                            presenca.presenca = 1;
                        }
                        else
                        {
                            presenca.presenca = 0;
                        }
                        db.presencas_deputado.Add(presenca);
                        db.SaveChangesAsync();
                        reader.Read();
                    }
                    reader.Read();
                    reader.Read();
                    reader.Read();

                    if (reader.NodeType.ToString() == "EndElement")
                    {
                        fim = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + "\n");
                Console.WriteLine(ex.TargetSite + "\n");
                Console.WriteLine(ex.StackTrace);
                Console.ReadLine();
            }
        }