public void ProcessResponse(EmployeeMasterCardThreadDataResponse threadData)
        {
            if (_requestCollection.Count <= 0)
                return;

            lock (_lockRes)
            {
              
                if (_requestCollection.ContainsKey(threadData.MessageID))
                {
                    EmployeeMasterCardThreadData Requestitem = _requestCollection[threadData.MessageID];

                    if (threadData.Ack)
                    {
                        CommonDataAccess.UpdateEmployeeCardPolling(Requestitem.EmployeeCardNo, Requestitem.InstallationNo);
                        LogManager.WriteLog("ProcessResponse_EmployeeMasterCard  |   ACK Updated for EmployeeCard:"
                                                + Requestitem.EmployeeCardNo.ToString()
                                                + "| in Installation No " + Requestitem.InstallationNo.ToString()
                                                , LogManager.enumLogLevel.Info);
                    }
                    else
                    {
                        LogManager.WriteLog("ProcessResponse_EmployeeMasterCard  |   NACK received for EmployeeCard:"
                                                + Requestitem.EmployeeCardNo.ToString()
                                                + "| in Installation No " + Requestitem.InstallationNo.ToString()
                                               , LogManager.enumLogLevel.Info);
                    }
                    _emppollingCollection.Add(new Employeecarddata
                    {
                        EmployeeCard = Requestitem.EmployeeCardNo,
                        Installation_No = Requestitem.InstallationNo,
                        PollingStatus = threadData.Ack
                    });

                    _requestCollection.Remove(threadData.MessageID);
                }
            }
        }