public void sendProfile(string ip) { try { JStringProfile Jprofile = new JStringProfile(); Jprofile.status = (int)SERVERRESPONSE.RESP_PROFILE_SUCCESS; Jprofile.data = mainWindowModel.GetListSerialId(ip); string dataResp = JsonConvert.SerializeObject(Jprofile).ToString(); StandardString info = new StandardString(); info.data = dataResp; this.Publish(publishdata, info); } catch (Exception ex) { logFile.Error(ex.Message); } }
public void sendProfile(string ip, SERVERRESPONSE serverRes, List <ProfileRF> listProfileToSend) { if (webSocket != null) { if (webSocket.IsAlive) { try { if (statusProfile != STATUSPROFILE.Updating) { JStringProfile Jprofile = new JStringProfile(); Jprofile.status = (int)serverRes; Jprofile.data = mainWindowModel.GetListSerialId(ip); if (listProfileToSend.Count > 0) { Jprofile.data = listProfileToSend; } var jsonSettings = new JsonSerializerSettings(); jsonSettings.DateFormatString = "yyyy-MM-dd"; string dataResp = JsonConvert.SerializeObject(Jprofile, jsonSettings); StandardString info = new StandardString(); info.data = dataResp; statusProfile = STATUSPROFILE.Updating; SqliteDataAccess.UpdateDeviceRF(ip, statusProfile.ToString()); mainWindowModel.ReloadListDeviceRFDGV(); this.Publish(publishdata, info); new Thread((MainWindowModel) => { int cntTimeOut = 0; while (cntTimeOut++ < 40) { if (OnFlagStatusClient.OnConfirmProfileSuccess) { break; } Thread.Sleep(1000); } if (OnFlagStatusClient.OnConfirmProfileSuccess) { OnFlagStatusClient.OnConfirmProfileSuccess = false; statusProfile = STATUSPROFILE.Updated; SqliteDataAccess.UpdateDeviceRF(ip, statusProfile.ToString() + " " + DateTime.Now.ToString("MM/dd/yyyy h:mm:ss tt")); } else { statusProfile = STATUSPROFILE.Failed; SqliteDataAccess.UpdateDeviceRF(ip, statusProfile.ToString()); } mainWindowModel.ReloadListDeviceRFDGV(); } ).Start(mainWindowModel); } } catch (Exception ex) { statusProfile = STATUSPROFILE.Error; SqliteDataAccess.UpdateDeviceRF(ip, statusProfile.ToString()); mainWindowModel.ReloadListDeviceRFDGV(); logFile.Error(ex.Message); Constant.mainWindowPointer.WriteLog(ex.Message); } } } }