public List<OnibusBO> getOnibus() { List<OnibusBO> lstOnibus = new List<OnibusBO>(); string path = AppDomain.CurrentDomain.BaseDirectory.ToString() + @"csv"; string nomeArquivo = "arquivo.csv"; string pathCompleto = path + "\\" + nomeArquivo; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } DataSet ds = getDadosFromCSV(pathCompleto); if (ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { NumberFormatInfo provider = new NumberFormatInfo(); provider.NumberDecimalSeparator = ","; provider.NumberGroupSeparator = "."; OnibusBO onibus = new OnibusBO(); onibus.DataHora = Convert.ToDateTime(dr["dataHora"]); onibus.Latitude = Convert.ToDouble(dr["Latitude"].ToString().Replace(".", ","), provider); onibus.Longitude = Convert.ToDouble(dr["Longitude"].ToString().Replace(".", ","), provider); onibus.Ordem = dr["ordem"].ToString(); onibus.Velocidade = Convert.ToInt32(dr["Velocidade"].ToString() == "" ? 0 : dr["Velocidade"]); onibus.Linha = dr["linha"].ToString(); lstOnibus.Add(onibus); } } return lstOnibus; }
private List<OnibusBO> preencheObjetoJSON(JObject jObject) { List<OnibusBO> lstOnibus = new List<OnibusBO>(); if (jObject != null) { List<ColunaIndice> lstColunaIndice = new List<ColunaIndice>(); if (jObject["COLUMNS"] != null) { for (int i = 0; i < jObject["COLUMNS"].Count(); i++) { ColunaIndice colunaIndice = new ColunaIndice(); colunaIndice.coluna = jObject["COLUMNS"][i].ToString(); colunaIndice.indice = i; lstColunaIndice.Add(colunaIndice); } } if (jObject["DATA"] != null) { for (int i = 0; i < jObject["DATA"].Count(); i++) { NumberFormatInfo provider = new NumberFormatInfo(); provider.NumberDecimalSeparator = ","; provider.NumberGroupSeparator = "."; OnibusBO onibus = new OnibusBO(); onibus.DataHora = Convert.ToDateTime(jObject["DATA"][i][lstColunaIndice.Find(x => x.coluna == "DATAHORA").indice]); onibus.Latitude = Convert.ToDouble(jObject["DATA"][i][lstColunaIndice.Find(x => x.coluna == "LATITUDE").indice].ToString().Replace(".", ","), provider); onibus.Longitude = Convert.ToDouble(jObject["DATA"][i][lstColunaIndice.Find(x => x.coluna == "LONGITUDE").indice].ToString().Replace(".", ","), provider); onibus.Ordem = jObject["DATA"][i][lstColunaIndice.Find(x => x.coluna == "ORDEM").indice].ToString(); // onibus.Velocidade = Convert.ToInt32(jObject["DATA"][i]["Velocidade"].ToString() == "" ? 0 : jObject["DATA"][i]["Velocidade"]); onibus.Linha = jObject["DATA"][i][lstColunaIndice.Find(x => x.coluna == "LINHA").indice].ToString(); lstOnibus.Add(onibus); } } } return lstOnibus; }