private bool storeStations(string strJson) { if (strJson == "") { return(false); } var data = JSON.Parse(strJson); if (data == null) { return(false); } for (int i = 0; i < data["metadata"]["stations"].Count; i++) { stations station = new stations(); station.id = data["metadata"]["stations"][i]["id"].Value; station.name = data["metadata"]["stations"][i]["name"].Value; station.lat = data["metadata"]["stations"][i]["location"]["latitude"].AsFloat; station.lng = data["metadata"]["stations"][i]["location"]["longitude"].AsFloat; if (!listStations.Exists(item => item.id == Convert.ToString(station.id))) { listStations.Add(station); } } Debug.Log("total station - " + listStations.Count); return(true); }
private bool loadData(string strJson) { //Debug.Log("i got this json loadData @ " + DateTime.Now + " - " + strJson); if (strJson == "") { return(false); } var data = JSON.Parse(strJson); if (data == null) { return(false); } if (listDataPoints.Count != 0) { Dictionary <string, object> lastPt = listDataPoints.Last(); string strDtLast = (string)lastPt[Headers.Timestamp]; if (strDtLast.Equals(data["items"][0]["timestamp"].Value)) { return(false); } } for (int i = 0; i < data["items"][0]["readings"].Count; i++) { var entry = new Dictionary <string, object>(); entry[Headers.Id] = data["items"][0]["readings"][i]["station_id"].Value; if (!listStations.Exists(item => item.id == (string)entry[Headers.Id])) { Debug.Log(entry[Headers.Id] + " doesnt match"); storeStations(strJson); } stations station = listStations.Find(item => item.id == (string)entry[Headers.Id]); entry[Headers.Name] = station.name; entry[Headers.Lat] = station.lat; entry[Headers.Lng] = station.lng; entry[Headers.Rain] = data["items"][0]["readings"][i]["value"].AsFloat; entry[Headers.Timestamp] = data["items"][0]["timestamp"].Value; //limit growing of the list if (listDataPoints.Count >= MAX_LIST) { listDataPoints.RemoveAt(0); } listDataPoints.Add(entry); } return(true); }
async Task UpdateCitidals(CancellationToken stoppingToken) { using var sp = _service.CreateScope(); await using MarketDB db1 = IsTQ ? sp.ServiceProvider.GetService <TQMarketDB>() : sp.ServiceProvider.GetService <CNMarketDB>(); long[] citidals; try { citidals = await this.client.GetAllCitidalIds(stoppingToken); } catch (Exception e) { _logger.LogInformation(e, $"更新建筑物失败 {IsTQ} " + e); return; } var tasks = citidals.Select(p => new { p, task = this.client.GetCitidal(p) }).ToList(); var oldstations = await db1.stations.Where(p => p.stationid > int.MaxValue).ToListAsync(); try { await Task.WhenAll(tasks.Select(p => p.task)); } catch (Exception e) { _logger.LogInformation(e, $"更新建筑物失败 {IsTQ} " + e); return; } foreach (var task in tasks.Where(p => p.task.Result != null)) { var citidalinfo = task.task.Result; var model = oldstations.FirstOrDefault(p => p.stationid == task.p); if (model == null) { model = new stations(); model.stationid = task.p; db1.stations.Add(model); } var name = citidalinfo.Name.Split(" - ")[0]; model.systemid = citidalinfo.Solar_system_id; model.corpid = citidalinfo.Owner_id; // var mod = await db1.evetypes.FirstOrDefaultAsync(p => p.typeID == citidalinfo.Type_id); // var typename = mod?.typeName ?? "玩家建筑物"; model.stationname = citidalinfo.Name; model.typeid = citidalinfo.Type_id; } db1.RemoveRange(db1.stations.Where(p => p.stationid > int.MaxValue).Where(p => !citidals.Contains(p.stationid))); await db1.SaveChangesAsync(stoppingToken); }
// PUT: api/Station/5 public IHttpActionResult Put(int id, [FromBody] dynamic value) { using (testeftEntities db = new testeftEntities()) { stations s = db.stations.Find(id); s.is_active = value.is_active; db.SaveChanges(); return(Ok()); } }
private List <Dictionary <string, object> > loadPastData(string strJsonSpeed, string strJsonDir) { List <Dictionary <string, object> > listPastData = new List <Dictionary <string, object> >(); //Debug.Log(strJsonSpeed + " \n " + strJsonDir + "\n@" + DateTime.Now); if (strJsonSpeed == "" || strJsonDir == "") { return(listPastData); } var dataSpeed = JSON.Parse(strJsonSpeed); var dataDir = JSON.Parse(strJsonDir); if (dataSpeed == null || dataDir == null) { return(listPastData); } for (int i = 0; i < dataSpeed["items"][0]["readings"].Count; i++) { var entry = new Dictionary <string, object>(); if (!Convert.ToString(dataSpeed["items"][0]["readings"][i]["station_id"].Value).Equals(Convert.ToString(dataDir["items"][0]["readings"][i]["station_id"].Value))) { Debug.LogError("speed and dir data not in sync - " + dataSpeed["items"][0]["readings"][i]["station_id"].Value + " -vs- " + dataDir["items"][0]["readings"][i]["station_id"].Value); continue; } entry[Headers.Id] = dataSpeed["items"][0]["readings"][i]["station_id"].Value; if (!listStations.Exists(item => item.id == (string)entry[Headers.Id])) { Debug.Log(entry[Headers.Id] + " doesnt match"); storeStations(strJsonSpeed); } stations station = listStations.Find(item => item.id == (string)entry[Headers.Id]); entry[Headers.Name] = station.name; entry[Headers.Lat] = station.lat; entry[Headers.Lng] = station.lng; entry[Headers.Speed] = dataSpeed["items"][0]["readings"][i]["value"].AsFloat; entry[Headers.Dir] = dataDir["items"][0]["readings"][i]["value"].AsFloat; entry[Headers.Timestamp] = dataSpeed["items"][0]["timestamp"].Value; listPastData.Add(entry); } return(listPastData); }
// POST: api/Station public IHttpActionResult Post([FromBody] dynamic value) { using (testeftEntities db = new testeftEntities()) { stations s = new stations(); s.cnpj = value.cnpj; s.company_name = value.company_name; s.is_active = true; db.stations.Add(s); db.SaveChanges(); return(Ok(s.id)); } }
private List <Dictionary <string, object> > loadPastData(string strJson) { List <Dictionary <string, object> > listPastData = new List <Dictionary <string, object> >(); //Debug.Log("i got this json loadPastData @ " + DateTime.Now + " - " + strJson ); if (strJson == "") { return(listPastData); } var data = JSON.Parse(strJson); if (data == null) { return(listPastData); } for (int i = 0; i < data["items"][0]["readings"].Count; i++) { var entry = new Dictionary <string, object>(); entry[Headers.Id] = data["items"][0]["readings"][i]["station_id"].Value; if (!listStations.Exists(item => item.id == (string)entry[Headers.Id])) { Debug.Log(entry[Headers.Id] + " doesnt match"); storeStations(strJson); } stations station = listStations.Find(item => item.id == (string)entry[Headers.Id]); entry[Headers.Name] = station.name; entry[Headers.Lat] = station.lat; entry[Headers.Lng] = station.lng; entry[Headers.Rain] = data["items"][0]["readings"][i]["value"].AsFloat; entry[Headers.Timestamp] = data["items"][0]["timestamp"].Value; listPastData.Add(entry); } return(listPastData); }
BuildHtml(stations, transportLines, Singleton <SimulationManager> .instance.m_metaData.m_CityName, Singleton <SimulationManager> .instance.m_metaData.m_gameInstanceIdentifier, Singleton <SimulationManager> .instance.m_currentGameTime);
private bool loadData(string strJsonSpeed, string strJsonDir) { if (strJsonSpeed == "" || strJsonDir == "") { return(false); } var dataSpeed = JSON.Parse(strJsonSpeed); var dataDir = JSON.Parse(strJsonDir); if (dataSpeed == null || dataDir == null) { return(false); } if (listDataPoints.Count != 0) { Dictionary <string, object> lastPt = listDataPoints.Last(); string strDtLast = (string)lastPt[Headers.Timestamp]; if (strDtLast.Equals(dataSpeed["items"][0]["timestamp"].Value)) { return(false); } } for (int i = 0; i < dataSpeed["items"][0]["readings"].Count; i++) { var entry = new Dictionary <string, object>(); if (!Convert.ToString(dataSpeed["items"][0]["readings"][i]["station_id"].Value).Equals(Convert.ToString(dataDir["items"][0]["readings"][i]["station_id"].Value))) { Debug.LogError("speed and dir data not in sync - " + dataSpeed["items"][0]["readings"][i]["station_id"].Value + " -vs- " + dataDir["items"][0]["readings"][i]["station_id"].Value); continue; } entry[Headers.Id] = dataSpeed["items"][0]["readings"][i]["station_id"].Value; if (!listStations.Exists(item => item.id == (string)entry[Headers.Id])) { Debug.Log(entry[Headers.Id] + " doesnt match"); storeStations(strJsonSpeed); } stations station = listStations.Find(item => item.id == (string)entry[Headers.Id]); entry[Headers.Name] = station.name; entry[Headers.Lat] = station.lat; entry[Headers.Lng] = station.lng; entry[Headers.Speed] = dataSpeed["items"][0]["readings"][i]["value"].AsFloat; entry[Headers.Dir] = dataDir["items"][0]["readings"][i]["value"].AsFloat; entry[Headers.Timestamp] = dataSpeed["items"][0]["timestamp"].Value; //limit growing of the list if (listDataPoints.Count >= MAX_LIST) { listDataPoints.RemoveAt(0); } listDataPoints.Add(entry); } return(true); }