public override void ParseJson(DbGeographyGeoJsonConverter converter, Newtonsoft.Json.Linq.JArray array) { var targetCoordinateSystem = (converter as EpsgDbGeometryConverter).CoordinateSystem; //Cant convert if source dont have any coordinate system. if (!CoordinateSystem.HasValue || CoordinateSystem == targetCoordinateSystem) { base.ParseJson(converter, array); return; } Rings = new List <List <Position> >(); var rings = array.ToObject <double[][][]>(); var ringSizes = rings.Select(r => r.Length).ToArray(); var coordinateLength = rings.First().GroupBy(c => c.Length).Single().Key; foreach (var ring in rings) { var flat = ring.SelectMany(s => s).ToArray(); Reproject.ReprojectPoints(flat, null, ProjectionInfo.FromEpsgCode(CoordinateSystem.Value), ProjectionInfo.FromEpsgCode(targetCoordinateSystem.Value), 0, ringSizes[0]); var ringList = new List <Position>(); for (int i = 0; i < flat.Length; i += coordinateLength) { ringList.Add(new Position(flat.Skip(i).Take(coordinateLength).ToArray())); } Rings.Add(ringList); } CoordinateSystem = targetCoordinateSystem; }
public void OnPostDiagnostics() { if (!CheckPatient) { newTriage = (Triage)Enum.Parse(typeof(Triage), Request.Form[nameof(newTriage)].ToString()); } else { Newtonsoft.Json.Linq.JArray tempData = (Newtonsoft.Json.Linq.JArray)JsonConvert.DeserializeObject((string)TempData["attention"]); patientsAttention = tempData.ToObject <List <ConsultoryPatients> >(); var patientRecovered = new Patient { Id = patientsAttention[0].Id, Name = patientsAttention[0].Name, Age = patientsAttention[0].Age, Document = patientsAttention[0].Document, Gender = patientsAttention[0].Gender, State = State.Recuperado }; patientsAttention.RemoveAt(0); TempData["attention"] = JsonConvert.SerializeObject(patientsAttention); patientsRecovered.Add(patientRecovered); GetConsultories(); } }
public static List <T> GetList <T>(DbDataReader dataReader) { // 列名 var cols = new List <string>(); for (int index = 0; index < dataReader.FieldCount; index++) { cols.Add(dataReader.GetName(index)); } // 赋值 Newtonsoft.Json.Linq.JArray jArray = new Newtonsoft.Json.Linq.JArray(); while (dataReader.Read() == true) { var toAdd_JObject = new Newtonsoft.Json.Linq.JObject(); foreach (string col in cols) { if (dataReader[col] != DBNull.Value) { toAdd_JObject.Add(col, dataReader[col].ToString()); } else { toAdd_JObject.Add(col, null); } } jArray.Add(toAdd_JObject); } return(jArray.ToObject <List <T> >()); }
// GET: IoT public async Task <ActionResult> Index() { List <Incident> incidents; using (var client = IncidentApiHelper.GetIncidentAPIClient()) { int CACHE_EXPIRATION_SECONDS = 60; //Check Cache string cachedData = string.Empty; if (RedisCacheHelper.UseCachedDataSet(Settings.REDISCCACHE_KEY_INCIDENTDATA, out cachedData)) { incidents = JsonConvert.DeserializeObject <List <Incident> >(cachedData); } else { //If stale refresh var results = await client.IncidentOperations.GetAllIncidentsAsync(); Newtonsoft.Json.Linq.JArray ja = (Newtonsoft.Json.Linq.JArray)results; incidents = ja.ToObject <List <Incident> >(); RedisCacheHelper.AddtoCache(Settings.REDISCCACHE_KEY_INCIDENTDATA, incidents, CACHE_EXPIRATION_SECONDS); } } return(View(incidents)); }
static async void DownloadPageAsync() { // ... Target page. //string page = "https://jsonplaceholder.typicode.com/posts"; //string page = "http://www.mocky.io/v2/5d447b6b2f000080291796ce"; string page = "http://localhost:3000/api/todo"; // ... Use HttpClient. using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); using (HttpResponseMessage response = await client.GetAsync(page)) using (HttpContent content = response.Content) { // ... Read the string. string result = await content.ReadAsStringAsync(); // ... Display the result. if (result != null && result.Length >= 50) { Console.WriteLine(result); dynamic json = JsonConvert.DeserializeObject(result); Newtonsoft.Json.Linq.JArray jarr = json; OnePost v = jarr[0].ToObject <OnePost>(); var va = jarr.ToObject <OnePost[]>(); } } } }
//RETURNS ALL BORROWED NOT RETURNED BUT BEFORE DEADLINE public async Task <List <Borrowed> > GetBorrowedForUserAsync(string email) { var gotFromServer = await service.getClient().GetStringAsync("http://localhost:8543/Borrowed/" + email); Newtonsoft.Json.Linq.JArray array = (Newtonsoft.Json.Linq.JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(gotFromServer); List <Borrowed> BorrowedByArray = array.ToObject <List <Borrowed> >(); return(BorrowedByArray); }
public async Task <List <Item> > GetItemsAsync() { var gotFromServer = await service.getClient().GetStringAsync("http://localhost:8543/Items"); Newtonsoft.Json.Linq.JArray array = (Newtonsoft.Json.Linq.JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(gotFromServer); List <Item> itemArray = array.ToObject <List <Item> > (); return(itemArray); }
public List <T> GetAllX <T>(List <DataFilterExpressionREST> dataFilterExpressionRESTs, out string error) { error = null; try { Uri basePath = new Uri(wpfConfig.RESTBasePath); Uri requestUri = new Uri(basePath, "CustomerDemographics/GetAllX"); GeneralBodyGet getRequest = new GeneralBodyGet(); getRequest.NumberOfItens = 0; getRequest.ItensToSkip = 0; getRequest.Filters = dataFilterExpressionRESTs; string requestBody = Newtonsoft.Json.JsonConvert.SerializeObject(getRequest); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Clear(); var request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = requestUri, Content = new StringContent(requestBody, Encoding.UTF8, "application/json") }; var response = client.SendAsync(request).Result; var responseContent = response.Content; string responseString = responseContent.ReadAsStringAsync().Result; GeneralGetResponse generalGetResponse = JsonConvert.DeserializeObject <GeneralGetResponse>(responseString); if (response.IsSuccessStatusCode) { Newtonsoft.Json.Linq.JArray jArray = (Newtonsoft.Json.Linq.JArray)generalGetResponse.Data; List <GetCustomerDemographicsView> dataRetrieved = jArray.ToObject <List <GetCustomerDemographicsView> >(); List <T> result = new List <T>(); foreach (GetCustomerDemographicsView item in dataRetrieved) { T modelNotifiedForCustomerDemographicsNew = (T)Activator.CreateInstance(typeof(T)); Cloner.CopyAllTo(typeof(GetCustomerDemographicsView), item, typeof(T), modelNotifiedForCustomerDemographicsNew); result.Add(modelNotifiedForCustomerDemographicsNew); } return(result); } else { error = "Server side refused this request and returned status {0}. Reason {1}. TransactionID:{0}"; error = string.Format(error, response.StatusCode, generalGetResponse.ReportHeader.MessageFromServer, generalGetResponse.ReportHeader.TransactionID); } return(null); } } catch (Exception ex) { error = "Error trying during data request. Request crash: " + ex.Message; } return(null); }
/// <summary> /// GridViewColumnsAddVisible /// </summary> private void GridViewColumnsAddVisible(DevExpress.XtraGrid.GridControl gridControl, DevExpress.XtraGrid.Views.Grid.GridView gridView, string gridControlHead) { string filePath = string.Format(@"{0}\GridViewHeaderJson\{1}.txt", System.Windows.Forms.Application.StartupPath, gridControlHead); string jsonString = System.IO.File.ReadAllText(filePath); Newtonsoft.Json.Linq.JArray jAarray = Newtonsoft.Json.Linq.JArray.Parse(jsonString) as Newtonsoft.Json.Linq.JArray; List <FYYK.Model.GridControlHeader> listDataGridViewHeader = jAarray.ToObject <List <FYYK.Model.GridControlHeader> >(); FYYK.Util.DevGridControlHelper.DynamicGenerateColumns(gridView, listDataGridViewHeader); }
//RETURNS ALL BORROWED AFTER DEADLINE public async Task <List <Borrowed> > GetFinesForUserAsync(string email) { var gotFromServer = await service.getClient().GetStringAsync("http://localhost:8543/Borrowed/Fines/" + email); Newtonsoft.Json.Linq.JArray array = (Newtonsoft.Json.Linq.JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(gotFromServer); List <Borrowed> FinesArray = array.ToObject <List <Borrowed> >(); foreach (Borrowed fine in FinesArray) { fine.setFine(); } return(FinesArray); }
/// <summary> /// GetDataGridViewHeader /// </summary> /// <param name="fileName"></param> /// <returns></returns> public static DataTable GetDataGridViewHeader(string fileName) { string filePath = string.Format(@"{0}\DataGridViewHeaderJson\{1}.txt", System.Windows.Forms.Application.StartupPath, fileName); System.Data.DataTable dt = new DataTable(); try { string jsonString = System.IO.File.ReadAllText(filePath); Newtonsoft.Json.Linq.JArray jAarray = Newtonsoft.Json.Linq.JArray.Parse(jsonString) as Newtonsoft.Json.Linq.JArray; List <Model.GridControlHeader> listDataGridViewHeader = jAarray.ToObject <List <Model.GridControlHeader> >(); dt = Util.DataTableHelper.ListToDataTable <Model.GridControlHeader>(listDataGridViewHeader); return(dt); }catch (Exception ex) { Log4netUtil.Log4NetHelper.Info(String.Format("GetDataGridViewHeader Json转换成DataTable失败 {0}", ex.Message), @"Exception"); return(dt); } }
public T Convert <T>(string contents) { dynamic result = null; try { if (!string.IsNullOrEmpty(contents)) { object data = JsonConvert.DeserializeObject(contents); Newtonsoft.Json.Linq.JArray jArray = (Newtonsoft.Json.Linq.JArray)data; result = jArray.ToObject <T>(); } } catch (Exception ex) { } return((T)System.Convert.ChangeType(result, typeof(T))); }
public static List <CardDefClass> audioLanguagesFromJSONString(String faceJSONData) { List <CardDefClass> ret = new List <CardDefClass>(); var JSONData = JsonConvert.DeserializeObject(faceJSONData); Newtonsoft.Json.Linq.JArray DataArray = (Newtonsoft.Json.Linq.JArray)JSONData; List <CardDefClass> ArrayCards = DataArray.ToObject <List <CardDefClass> >(); foreach (CardDefClass item in ArrayCards) { if (item.TYPE == true) { ret.Add(item); } } return(ret); }
private List <string> GetParameterAsList(Dictionary <string, object> request, string paramName, int size) { ValidateParamExists(request, paramName); Newtonsoft.Json.Linq.JArray paramArray = (Newtonsoft.Json.Linq.JArray)request[paramName]; List <string> paramList = paramArray.ToObject <List <string> >(); if (paramList.Count > MaxRequestList) { throw new ValidationException(OverMaxErrorMessage); } if (size > 0) { //validate foreach (string param in paramList) { ValidateTrytes(paramName, size, param); } } return(paramList); }
private Track CreateTrack(Activity activity, List <ActivityStream> streams) { List <TrackPoint> trackPoints = new List <TrackPoint>(); var latLngJArray = new Newtonsoft.Json.Linq.JArray( streams.First(stream => stream.StreamType == StreamType.LatLng).Data.ToArray() ); var latLngList = latLngJArray.ToObject <List <float[]> >(); //foreach(var item in latLngJArray) // item. //var latLngList = latLngJArray.SelectMany(token => token.Values<float[]>()).ToArray(); var distanceArray = streams.First(stream => stream.StreamType == StreamType.Distance).Data.Select(obj => (double)obj).ToArray(); var altitudeArray = streams.First(stream => stream.StreamType == StreamType.Altitude).Data.Select(obj => (double)obj).ToArray(); var timeArray = streams.First(stream => stream.StreamType == StreamType.Time).Data.Select(obj => TimeSpan.FromSeconds(Convert.ToDouble(obj))).ToArray(); for (int i = 0; i < latLngList.Count; i++) { var latitude = latLngList[i][0]; var longitude = latLngList[i][1]; var distance = distanceArray[i]; var altitude = altitudeArray[i]; var time = activity.DateTimeStart + timeArray[i]; var trackpoint = new TrackPoint(latitude, longitude, altitude, distance, time); trackPoints.Add(trackpoint); } var climbs = new ClimbFinder().Find(trackPoints.ToArray()); return(new Track(Guid.NewGuid(), trackPoints.ToArray(), climbs)); }
private static T ReadSql <T>(string name) { try { if (Storage.Count == 0) { if (!File.Exists(cFile)) { return(default(T)); } string json = GZipHelper.Decompress(File.ReadAllText(cFile)); if (string.IsNullOrEmpty(json)) { return(default(T)); } Storage = json.ToObject <Dictionary <string, string> >(); } if (!Storage.ContainsKey(name)) { return(default(T)); } if (typeof(Newtonsoft.Json.Linq.JArray) == Storage[name].GetType()) { Newtonsoft.Json.Linq.JArray ja = (Newtonsoft.Json.Linq.JArray)Storage[name]; return(ja.ToObject <T>()); } else { return(Storage[name].ToObject <T>()); } } catch (Exception ex) { throw ex; } }
public static List <CardDefClass> faceCardStructureFromJSONString(String faceJSONData) { List <CardDefClass> ret = new List <CardDefClass>(); try { var JSONData = JsonConvert.DeserializeObject(faceJSONData); Newtonsoft.Json.Linq.JArray DataArray = (Newtonsoft.Json.Linq.JArray)JSONData; List <CardDefClass> ArrayCards = DataArray.ToObject <List <CardDefClass> >(); foreach (CardDefClass item in ArrayCards) { ret.Add(item); } } catch (Exception _ee) { Console.WriteLine("ERROR:" + _ee.ToString()); } return(ret); }
public void OnPostDnaTest() { if (Test != null) { var result = new StringBuilder(); using (var reader = new StreamReader(Test.OpenReadStream())) { while (reader.Peek() >= 0) { result.AppendLine(reader.ReadLine()); } } var dna = result; if (dna.ToString().Contains(MonGuaChain)) { Newtonsoft.Json.Linq.JArray tempData = (Newtonsoft.Json.Linq.JArray)JsonConvert.DeserializeObject((string)TempData["attention"]); patientsAttention = tempData.ToObject <List <ConsultoryPatients> >(); patientsAttention[0].Infected = true; } TempData["attention"] = JsonConvert.SerializeObject(patientsAttention); GetConsultories(); } }
public void Open(object sender, EventArgs e) { //open project OpenFileDialog openFile = new OpenFileDialog(); openFile.InitialDirectory = VB2projectsPath; openFile.Filter = @"VB3 Project Files|*.vbpx|All Files|*.*"; openFile.FilterIndex = 1; openFile.RestoreDirectory = true; string strFileName = string.Empty; //save file name if (openFile.ShowDialog() == DialogResult.OK) { strFileName = openFile.FileName; } else { return; } //Load a project file from disk and then send it out to be unpacked. IDictionary <string, IDictionary <string, object> > dictPluginStates = new Dictionary <string, IDictionary <string, object> >(); StreamReader streamreader = new StreamReader(strFileName); JsonTextReader jsonreader = new JsonTextReader(streamreader); string strProjectStateJson = streamreader.ReadToEnd(); var dictPackedProjectState = JsonConvert.DeserializeObject <Dictionary <string, object> >(strProjectStateJson); streamreader.Close(); jsonreader.Close(); //loop through plugins, deserialize each foreach (var plugin in dictPackedProjectState) { //key in pluginStates dict string strPluginKey = plugin.Key; //hold value Dictionary <string, string> dictJsonRep = new Dictionary <string, string>(); //hold class type of value Dictionary <string, Type> dictObjectType = new Dictionary <string, Type>(); //hold plugin state with value/class type assigned Dictionary <string, object> dictPluginState = new Dictionary <string, object>(); //store plugin elements as a string for deserializing string strPluginStateJson = plugin.Value.ToString(); Newtonsoft.Json.Linq.JArray jarray = (Newtonsoft.Json.Linq.JArray)JsonConvert.DeserializeObject(strPluginStateJson); //convert jarray to list in order to pull index for value and index for class type List <object> listContainer = jarray.ToObject <List <object> >(); string strJsonDictJson = listContainer[0].ToString(); string strObjectTypeDictJson = listContainer[1].ToString(); //deserialize value and class type of value dictJsonRep = JsonConvert.DeserializeObject <Dictionary <string, string> >(strJsonDictJson); dictObjectType = JsonConvert.DeserializeObject <Dictionary <string, Type> >(strObjectTypeDictJson); //loop through each pair and deserialize the value to it's class type foreach (var pair in dictJsonRep) { Type objType = dictObjectType[pair.Key]; Type jsonType = objType; string jsonRep = pair.Value; object objDeserialized = JsonConvert.DeserializeObject(jsonRep, jsonType); //add the newly constructed key value pair, containing correct class types to a dictionary dictPluginState.Add(pair.Key, objDeserialized); } //add each plugin dictionary dictPluginStates.Add(strPluginKey, dictPluginState); } //raise unpacke event, sending packed plugins dictionary signaller.UnpackProjectState(dictPluginStates); }
static void Main(string[] args) { useHttp(true); port("8080"); startServerInstance(); get("/", (body, reponse) => { return("Hello World"); }); post("/Create/Call", (body, reponse) => { ApiCreateCallRequest apiCreateCallRequest = new ApiCreateCallRequest(); apiCreateCallRequest.To = body.To; apiCreateCallRequest.From = body.From; apiCreateCallRequest.AnswerUrl = body.AnswerUrl; apiCreateCallRequest.ApplicationId = voiceApplicationId; try { voiceController.CreateCall(voiceAccountId, apiCreateCallRequest); } catch (APIException ex) { throw new HttpStatusAwareException(ex.ResponseCode, ex.Message); } return("Creates a call"); }); post("/Create/Message", (body, reponse) => { MessageRequest messageReqeust = new MessageRequest(); Newtonsoft.Json.Linq.JArray arr = body.To; messageReqeust.To = arr.ToObject <List <string> >(); messageReqeust.From = body.From; messageReqeust.Text = body.Text; messageReqeust.ApplicationId = msgApplicationId; try { msgController.CreateMessage(msgApiToken, messageReqeust); } catch (APIException ex) { throw new HttpStatusAwareException(ex.ResponseCode, ex.Message); } return(""); }); post("/Callbacks/Messaging", (body, reponse) => { return("Handle message callback"); }); post("/Callbacks/Voice/Outbound", (body, reponse) => { return("Handle outboud voice callback"); }); post("/Callbacks/Voice/Inbound", (body, reponse) => { return("Handle inbound voice callback"); }); post("/Bxml", (body, reponse) => { Response response = new Response(); SpeakSentence speakSentence = new SpeakSentence { Sentence = "Hello World!" }; response.Add(speakSentence); return(response.ToBXML()); }); post("/status", (body, reponse) => { string strBody = body; return(strBody); }); post("/stop", (body, reponse) => { Task.Run(() => { Thread.Sleep(2000); stop(); }); return("Server Shutting Down"); }); WaitOnServerToStop(); }
public Collection <Dictionary <string, object> > PAsDictCollection(string name) { Newtonsoft.Json.Linq.JArray rp = (Newtonsoft.Json.Linq.JArray)stateParameters[name]; return(rp.ToObject <Collection <Dictionary <string, object> > >()); }
public void LoadEntities(AbstractScene scene, string levelID) { foreach (EntityInstance entity in world.ParseLevel(scene, levelID)) { Vector2 position = new Vector2(entity.Px[0], entity.Px[1]); if (entity.Identifier.Equals("Hero")) { hero = new Hero(scene, position); } else if (entity.Identifier.Equals("Lava")) { new Lava(scene, (int)entity.Width, (int)entity.Height, position); } else if (entity.Identifier.Equals("Spikes")) { Direction dir = default; foreach (FieldInstance field in entity.FieldInstances) { if (field.Identifier == "Direction") { dir = Enum.Parse(typeof(Direction), field.Value); } } float size = entity.Width > entity.Height ? entity.Width : entity.Height; new Spikes(scene, position, (int)size, dir); } else if (entity.Identifier.Equals("Fuel")) { float amount = 0; bool gravity = true; foreach (FieldInstance field in entity.FieldInstances) { if (field.Identifier == "Amount") { amount = (float)field.Value; } else if (field.Identifier == "HasGravity") { gravity = field.Value; } } FuelCan can = new FuelCan(scene, position, amount); can.HasGravity = gravity; } else if (entity.Identifier.Equals("EnemyPatrolTrigger")) { new EnemyPatrolTrigger(scene, (int)entity.Width, (int)entity.Height, position); } else if (entity.Identifier.Equals("Enemy")) { Direction dir = Direction.WEST; bool patrol = true; bool tutorial = false; Newtonsoft.Json.Linq.JArray array = null; foreach (FieldInstance field in entity.FieldInstances) { if (field.Identifier == "Direction") { dir = Enum.Parse(typeof(Direction), field.Value); } else if (field.Identifier == "Patrol") { patrol = field.Value; } else if (field.Identifier == "Tutorial") { tutorial = field.Value; } else if (field.Identifier == "CarriedItems") { array = field.Value; } } List <string> carriedItems = array.ToObject <List <string> >(); EnemyTest enemy = new EnemyTest(scene, position, dir); enemy.Patrol = patrol; enemy.Tutorial = tutorial; if (carriedItems != null && carriedItems.Count > 0) { enemy.CarriedItems = carriedItems; } } else if (entity.Identifier.Equals("Door")) { bool locked = false; foreach (FieldInstance field in entity.FieldInstances) { if (field.Identifier == "Locked") { locked = field.Value; } } new Door(scene, position, (int)entity.Height, locked); } else if (entity.Identifier.Equals("MountedGun")) { Direction dir = default; Newtonsoft.Json.Linq.JArray array = null; foreach (FieldInstance field in entity.FieldInstances) { if (field.Identifier == "Direction") { dir = Enum.Parse(typeof(Direction), field.Value); } else if (field.Identifier == "Integer") { array = field.Value; } } List <int> param = array.ToObject <List <int> >(); new MountedGun(scene, position, dir, param[0], param[1], param[2], param[3]); } else if (entity.Identifier.Equals("Saw")) { bool horizontal = false; foreach (FieldInstance field in entity.FieldInstances) { if (field.Identifier == "Horizontal") { horizontal = field.Value; } } new Saw(scene, position, horizontal); } else if (entity.Identifier.Equals("TrapTrigger")) { new TrapTrigger(scene, position, (int)entity.Width, (int)entity.Height); } else if (entity.Identifier.Equals("TutorialTrigger")) { string tutorial = ""; foreach (FieldInstance field in entity.FieldInstances) { if (field.Identifier == "Tutorial") { tutorial = field.Value; } } new TutorialTrigger(scene, position, (int)entity.Width, (int)entity.Height, tutorial); } else if (entity.Identifier.Equals("Ammo")) { Type weaponType = null; int amount = 0; foreach (FieldInstance field in entity.FieldInstances) { if (field.Identifier == "Weapon") { if (field.Value == "Handgun") { weaponType = typeof(Handgun); } else if (field.Value == "Machinegun") { weaponType = typeof(Machinegun); } else if (field.Value == "Shotgun") { weaponType = typeof(Shotgun); } } else if (field.Identifier == "Amount") { amount = (int)field.Value; } } new Ammo(scene, position, amount, weaponType); } else if (entity.Identifier.Equals("HealthPickup")) { new HealthPickup(scene, position); } else if (entity.Identifier.Equals("EndGameTrigger")) { new EndGameTrigger(scene, position, (int)entity.Width, (int)entity.Height); } } }
public TCPCommand executeCommand(TCPCommand cmd) { if (cmd == null) { // null command? Can't do anything with a null command! return(null); } else { try { MethodInfo method = FindMethod(cmd.name, _commandStructure.GetType()); if (method == null) { //tcpCommand response = new tcpCommand("__error", null); //response.guid = cmd.guid; //return response; if (cmd.name == "GetName") { TCPCommand resp = new TCPCommand("__response", new List <object> { _linkName }); resp.guid = cmd.guid; return(resp); } return(null); } else { object[] args; if (cmd.arguments != null) { args = cmd.arguments.ToArray(); } else { args = new object[0]; } int idx = 0; foreach (ParameterInfo param in method.GetParameters()) { if (args[idx] is Newtonsoft.Json.Linq.JArray) { Newtonsoft.Json.Linq.JArray jArr = (Newtonsoft.Json.Linq.JArray)args[idx]; args[idx] = jArr.ToObject(param.ParameterType); } else { args[idx] = Convert.ChangeType(args[idx], param.ParameterType); } idx++; } object retval = method.Invoke(_commandStructure, args); TCPCommand response = new TCPCommand("__response", new List <object> { retval }); response.guid = cmd.guid; return(response); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); TCPCommand response = new TCPCommand("__error", null); response.guid = cmd.guid; return(response); } } }
/// <summary> /// 对总馆的数据进行添加 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TimedEventBorrow(object sender, System.Timers.ElapsedEventArgs e) { try { #region 操作sqlsugar SqlSugarClient db = new SqlSugarClient( new ConnectionConfig() { //ConnectionString = @"server=DESKTOP-FTUFS40\SQLEXPRESS;database=Sy04;uid=sa;pwd=90-=uiop", ConnectionString = "Data Source=.;Initial Catalog=Sy_DataWallHengDong01;Integrated Security=True", DbType = SqlSugar.DbType.SqlServer, //设置数据库类型 IsAutoCloseConnection = true, //自动释放数据务,如果存在事务,在事务结束后释放 InitKeyType = InitKeyType.Attribute //从实体特性中读取主键自增列信息 }); //时间 var afterTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //获取到当前的时间 var beforeTime = DateTime.Now.AddHours(-1).ToString("yyyy-MM-dd HH:mm:ss"); //获取前一小时 #endregion #region 荣桓城北分馆 string L1 = ConfigurationManager.ConnectionStrings["ShangYe.Data.L1"].ToString().Trim();//获取第一个馆的IP //获取第一个馆的设备id,此步骤需要查询第一个馆的数据库,客流设备的ID(切记不能和主馆ID重复) #region 第一个ID int DeviceID = 2;//设备ID var url = L1 + "QuqeryList?SysCustDeviceId=" + DeviceID + "&beforeTime=" + beforeTime + "&afterTime=" + afterTime; //获取返回的结果集 var result = HttpClient.Get(url); JsonReader reader = new JsonTextReader(new StringReader(result)); var resp = ""; while (reader.Read()) { resp = reader.Value.ToString(); } if (resp != "[]") { Newtonsoft.Json.Linq.JArray userAarray1 = Newtonsoft.Json.Linq.JArray.Parse(resp) as Newtonsoft.Json.Linq.JArray; List <SysCustData> userListModel = userAarray1.ToObject <List <SysCustData> >(); foreach (var cus in userListModel) { var datas = new SysCustData() { SysCustDeviceId = DeviceID, //设备ID D_Date = Convert.ToDateTime(cus.D_Date), //时间 D_InNum = Convert.ToInt32(cus.D_InNum), //进馆人次 D_OutNum = Convert.ToInt32(cus.D_OutNum), //出馆人次 }; db.Insertable(datas).InsertColumns(it => new { it.SysCustDeviceId, it.D_Date, it.D_InNum, it.D_OutNum }).ExecuteReturnIdentity(); } LogHelper.InfoLog("荣桓分馆设备ID" + DeviceID + "|时间从" + beforeTime + "开始|到" + afterTime + "结束"); } #endregion #region 第二个ID int DeviceIDA = 7;//设备ID var urlA = L1 + "QuqeryList?SysCustDeviceId=" + DeviceIDA + "&beforeTime=" + beforeTime + "&afterTime=" + afterTime; //获取返回的结果集 var resultA = HttpClient.Get(urlA); JsonReader readerA = new JsonTextReader(new StringReader(resultA)); var respA = ""; while (readerA.Read()) { respA = readerA.Value.ToString(); } if (respA != "[]") { Newtonsoft.Json.Linq.JArray userAarray1A = Newtonsoft.Json.Linq.JArray.Parse(respA) as Newtonsoft.Json.Linq.JArray; List <SysCustData> userListModelA = userAarray1A.ToObject <List <SysCustData> >(); foreach (var cusA in userListModelA) { var datasA = new SysCustData() { SysCustDeviceId = DeviceIDA, //设备ID D_Date = Convert.ToDateTime(cusA.D_Date), //时间 D_InNum = Convert.ToInt32(cusA.D_InNum), //进馆人次 D_OutNum = Convert.ToInt32(cusA.D_OutNum), //出馆人次 }; db.Insertable(datasA).InsertColumns(it => new { it.SysCustDeviceId, it.D_Date, it.D_InNum, it.D_OutNum }).ExecuteReturnIdentity(); } LogHelper.InfoLog("荣桓分馆设备ID" + DeviceIDA + "|时间从" + beforeTime + "开始|到" + afterTime + "结束"); } #endregion #endregion #region 荣桓24小时分馆1 //获取第一个馆的IP string L2 = ConfigurationManager.ConnectionStrings["ShangYe.Data.L2"].ToString().Trim(); //获取第一个馆的设备id,此步骤需要查询第一个馆的数据库,客流设备的ID(切记不能和主馆ID重复) #region 第一个ID int DeviceID2 = 4;//设备ID var url2 = L2 + "QuqeryList?SysCustDeviceId=" + DeviceID2 + "&beforeTime=" + beforeTime + "&afterTime=" + afterTime; //获取返回的结果集 var result2 = HttpClient.Get(url2); JsonReader reader2 = new JsonTextReader(new StringReader(result2)); var resp2 = ""; while (reader2.Read()) { resp2 = reader2.Value.ToString(); } if (resp2 != "[]") { Newtonsoft.Json.Linq.JArray userAarray2 = Newtonsoft.Json.Linq.JArray.Parse(resp2) as Newtonsoft.Json.Linq.JArray; List <SysCustData> userListMode2 = userAarray2.ToObject <List <SysCustData> >(); foreach (var cus2 in userListMode2) { var datas2 = new SysCustData() { SysCustDeviceId = DeviceID2, //设备ID D_Date = Convert.ToDateTime(cus2.D_Date), //时间 D_InNum = Convert.ToInt32(cus2.D_InNum), //进馆人次 D_OutNum = Convert.ToInt32(cus2.D_OutNum), //出馆人次 }; db.Insertable(datas2).InsertColumns(it => new { it.SysCustDeviceId, it.D_Date, it.D_InNum, it.D_OutNum }).ExecuteReturnIdentity(); } LogHelper.InfoLog("24小时1馆ID" + DeviceID2 + "|时间从" + beforeTime + "开始|到" + afterTime + "结束"); } #endregion #endregion #region 荣桓24小时分馆3 //获取第一个馆的IP string L3 = ConfigurationManager.ConnectionStrings["ShangYe.Data.L3"].ToString().Trim(); //获取第一个馆的设备id,此步骤需要查询第一个馆的数据库,客流设备的ID(切记不能和主馆ID重复) #region 第一个ID int DeviceID3 = 6;//设备ID var url3 = L3 + "QuqeryList?SysCustDeviceId=" + DeviceID3 + "&beforeTime=" + beforeTime + "&afterTime=" + afterTime; //获取返回的结果集 var result3 = HttpClient.Get(url3); JsonReader reader3 = new JsonTextReader(new StringReader(result3)); var resp3 = ""; while (reader3.Read()) { resp3 = reader3.Value.ToString(); } if (resp3 != "[]") { Newtonsoft.Json.Linq.JArray userAarray3 = Newtonsoft.Json.Linq.JArray.Parse(resp3) as Newtonsoft.Json.Linq.JArray; List <SysCustData> userListMode3 = userAarray3.ToObject <List <SysCustData> >(); foreach (var cus3 in userListMode3) { var datas3 = new SysCustData() { SysCustDeviceId = DeviceID3, //设备ID D_Date = Convert.ToDateTime(cus3.D_Date), //时间 D_InNum = Convert.ToInt32(cus3.D_InNum), //进馆人次 D_OutNum = Convert.ToInt32(cus3.D_OutNum), //出馆人次 }; db.Insertable(datas3).InsertColumns(it => new { it.SysCustDeviceId, it.D_Date, it.D_InNum, it.D_OutNum }).ExecuteReturnIdentity(); } LogHelper.InfoLog("24小时2馆ID" + DeviceID3 + "|时间从" + beforeTime + "开始|到" + afterTime + "结束"); } #endregion #endregion } catch (Exception ex) { LogHelper.ErrorLog("错误原因:" + ex.Message + "错误位置:" + ex.StackTrace); } }