public void ProcessResponse(EnableMachineThreadDataResponse threadData) { if (_requestCollection.Count <= 0) { return; } lock (_lockRes) { if (_requestCollection.ContainsKey(threadData.MessageID)) { EnableMachineThreadData Requestitem = _requestCollection[threadData.MessageID]; if (threadData.Ack) { LogManager.WriteLog("ProcessResponse_EnableMachine | ACK Updated for Installation No " + Requestitem.InstallationNo.ToString() , LogManager.enumLogLevel.Info); GameCapResult oGameCapResult = oGameCappingBiz.UpdateGameCapDetails(Requestitem.GameCapID, SecurityHelper.CurrentUser.UserName); LogManager.WriteLog("Game capping session closed Status [Installation No : " + Requestitem.InstallationNo.ToString() + "] : " + oGameCapResult.Message, LogManager.enumLogLevel.Info); } else { LogManager.WriteLog("ProcessResponse_EnableMachine | NACK received for Installation No " + Requestitem.InstallationNo.ToString() , LogManager.enumLogLevel.Info); } _requestCollection.Remove(threadData.MessageID); } } }
private void ProcessRequest() { try { int Message_ID = 0; lock (_lockRes) { _requestCollection.Clear(); } while (true) { //Exit thread when screen unloaded if (mEvent.WaitOne(100)) { break; } //Waits for new game cap release data from UI PauseRelease.WaitOne(); //Skip release command if there is no session to uncap if (_lstGameCapDetails.Count == 0) { continue; } List <GameCapDetails> lstTmp = _lstGameCapDetails.Where(item => item.Status == "Processing").ToList(); foreach (var item in lstTmp) { EnableMachineThreadData threadData = new EnableMachineThreadData() { InstallationNo = item.InstallationNo, GameCapID = item.GameCappingID }; Message_ID = SendEnableMachine(threadData.InstallationNo); LogManager.WriteLog("Enable machine is sent to Installation: " + threadData.InstallationNo.ToString() + ", MessageID: " + Message_ID.ToString() , LogManager.enumLogLevel.Info); item.Status = "Send"; threadData.MessageID = Message_ID; if (!_requestCollection.ContainsKey(Message_ID)) { _requestCollection.Add(Message_ID, threadData); } } } } catch (Exception ex) { ExceptionManager.Publish(ex); } }
private void ProcessRequest() { try { int Message_ID = 0; lock (_lockRes) { _requestCollection.Clear(); } while (true) { //Exit thread when screen unloaded if (mEvent.WaitOne(100)) break; //Waits for new game cap release data from UI PauseRelease.WaitOne(); //Skip release command if there is no session to uncap if (_lstGameCapDetails.Count == 0) continue; List<GameCapDetails> lstTmp = _lstGameCapDetails.Where(item => item.Status == "Processing").ToList(); foreach (var item in lstTmp) { EnableMachineThreadData threadData = new EnableMachineThreadData() { InstallationNo = item.InstallationNo, GameCapID = item.GameCappingID }; Message_ID = SendEnableMachine(threadData.InstallationNo); LogManager.WriteLog("Enable machine is sent to Installation: " + threadData.InstallationNo.ToString() + ", MessageID: " + Message_ID.ToString() , LogManager.enumLogLevel.Info); item.Status = "Send"; threadData.MessageID = Message_ID; if (!_requestCollection.ContainsKey(Message_ID)) _requestCollection.Add(Message_ID, threadData); } } } catch (Exception ex) { ExceptionManager.Publish(ex); } }