Example #1
0
 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);
     }
 }
Example #2
0
        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);
                    }
                }
            }
        }