public void ReportAgreementAcceptedInfo()
 {
     ThreadPool.QueueUserWorkItem(
         state =>
         {
             _ipRefreshedEvent.WaitOne();
             var newAppAgreement = new AppAgreement(_applicationId, _deviceId, _appTitle) {
                 IpAddress = _ipAddress,
                 Country = _country,
                 Region = _region,
                 City = _city,
                 Isp = _isp,
             };
             var table = _tableClient.GetTableReference(AppAgreementTableName);
             table.BeginExecute(TableOperation.InsertOrReplace(newAppAgreement), SaveChangesCallback, null);
         });
 }
 public void ReportAgreementAcceptedInfo()
 {
     ThreadPool.QueueUserWorkItem(
         state =>
         {
             _ipRefreshedEvent.WaitOne();
             var newAppAgreement = new AppAgreement(_applicationId, _deviceId, _appTitle)
             {
                 IpAddress = _ipAddress,
                 Country = _country,
                 Region = _region,
                 City = _city,
                 Isp = _isp,
             };
             _tableContext = new TableServiceContext(TableServiceUri, _credentials);
             _tableContext.AddObject(AppAgreementTableName, newAppAgreement);
             _tableContext.BeginSaveChanges(SaveChangesOptions.ContinueOnError, SaveChangesCallback, null);
         });
 }