private void logThreadMethod() { try { _context.Send(new SendOrPostCallback(delegate(object state) { toolStripStatusLabel1.Visible = true; toolStripStatusLabel1.Text = _gc.Code; }), null); var req = new Utils.API.LiveV6.CreateFieldNoteAndPublishRequest(); req.AccessToken = _client.Token; req.CacheCode = _gc.Code; req.EncryptLogText = false; req.FavoriteThisCache = _addToFavorites; req.Note = _logText; req.PromoteToLog = true; req.WptLogTypeId = _logType.ID; req.UTCDateLogged = _logDate.AddHours(12).ToUniversalTime(); var resp = _client.Client.CreateFieldNoteAndPublish(req); if (resp.Status.StatusCode == 0) { if (Utils.DataAccess.GetGeocache(_core.Geocaches, _gc.Code) != null) { //add log tot database //if found, update cache as found if (_logType.AsFound) { _gc.Found = true; } _core.Logs.Add(Utils.API.Convert.Log(_core, resp.Log)); _gc.ResetCachedLogData(); } //log the trackables if (_tbTrackingNumbers.Count > 0) { List <Utils.API.LiveV6.Trackable> tb = new List <Utils.API.LiveV6.Trackable>(); foreach (string t in _tbs14) { tb.Add((Utils.API.LiveV6.Trackable)_tbTrackingNumbers[t]); } logTrackables(tb, 14); if (string.IsNullOrEmpty(_errormessage)) { tb = new List <Utils.API.LiveV6.Trackable>(); foreach (string t in _tbs75) { tb.Add((Utils.API.LiveV6.Trackable)_tbTrackingNumbers[t]); } logTrackables(tb, 75); } } //add the images to the logs foreach (LogImage li in _logImages) { var uplReq = new Utils.API.LiveV6.UploadImageToGeocacheLogRequest(); uplReq.AccessToken = _client.Token; uplReq.LogGuid = resp.Log.Guid; uplReq.ImageData = new Utils.API.LiveV6.UploadImageData(); uplReq.ImageData.FileCaption = li.Caption; uplReq.ImageData.FileDescription = li.Description; uplReq.ImageData.FileName = li.FileName; uplReq.ImageData.base64ImageData = System.Convert.ToBase64String(System.IO.File.ReadAllBytes(li.imgFile.Path)); var resp2 = _client.Client.UploadImageToGeocacheLog(uplReq); if (resp2.Status.StatusCode != 0) { _errormessage = resp.Status.StatusMessage; break; } } //check favorite if (_addToFavorites) { //not critical try { Framework.Interfaces.IPlugin p = Utils.PluginSupport.PluginByName(_core, "GlobalcachingApplication.Plugins.APIFavorites.EditFavorites"); if (p != null) { MethodInfo mi = p.GetType().GetMethod("AddToFavorites"); if (mi != null) { mi.Invoke(p, new object[] { _gc.Code }); } } } catch { } } } else { _errormessage = resp.Status.StatusMessage; } } catch (Exception e) { _errormessage = e.Message; } }
private void logThreadMethod() { try { _context.Send(new SendOrPostCallback(delegate(object state) { toolStripStatusLabel1.Visible = true; toolStripStatusLabel1.Text = _gc.Code; }), null); var req = new Utils.API.LiveV6.CreateFieldNoteAndPublishRequest(); req.AccessToken = _client.Token; req.CacheCode = _gc.Code; req.EncryptLogText = false; req.FavoriteThisCache = _addToFavorites; req.Note = _logText; req.PromoteToLog = true; req.WptLogTypeId = _logType.ID; req.UTCDateLogged = _logDate.AddHours(12).ToUniversalTime(); var resp = _client.Client.CreateFieldNoteAndPublish(req); if (resp.Status.StatusCode == 0) { if (Utils.DataAccess.GetGeocache(_core.Geocaches, _gc.Code) != null) { //add log tot database //if found, update cache as found if (_logType.AsFound) { _gc.Found = true; } _core.Logs.Add(Utils.API.Convert.Log(_core, resp.Log)); _gc.ResetCachedLogData(); } //log the trackables if (_tbTrackingNumbers.Count > 0) { List<Utils.API.LiveV6.Trackable> tb = new List<Utils.API.LiveV6.Trackable>(); foreach (string t in _tbs14) { tb.Add((Utils.API.LiveV6.Trackable)_tbTrackingNumbers[t]); } logTrackables(tb, 14); if (string.IsNullOrEmpty(_errormessage)) { tb = new List<Utils.API.LiveV6.Trackable>(); foreach (string t in _tbs75) { tb.Add((Utils.API.LiveV6.Trackable)_tbTrackingNumbers[t]); } logTrackables(tb, 75); } } //add the images to the logs foreach (LogImage li in _logImages) { var uplReq = new Utils.API.LiveV6.UploadImageToGeocacheLogRequest(); uplReq.AccessToken = _client.Token; uplReq.LogGuid = resp.Log.Guid; uplReq.ImageData = new Utils.API.LiveV6.UploadImageData(); uplReq.ImageData.FileCaption = li.Caption; uplReq.ImageData.FileDescription = li.Description; uplReq.ImageData.FileName = li.FileName; uplReq.ImageData.base64ImageData = System.Convert.ToBase64String(System.IO.File.ReadAllBytes(li.imgFile.Path)); var resp2 = _client.Client.UploadImageToGeocacheLog(uplReq); if (resp2.Status.StatusCode != 0) { _errormessage = resp.Status.StatusMessage; break; } } //check favorite if (_addToFavorites) { //not critical try { Framework.Interfaces.IPlugin p = Utils.PluginSupport.PluginByName(_core, "GlobalcachingApplication.Plugins.APIFavorites.EditFavorites"); if (p != null) { MethodInfo mi = p.GetType().GetMethod("AddToFavorites"); if (mi != null) { mi.Invoke(p, new object[] { _gc.Code }); } } } catch { } } } else { _errormessage = resp.Status.StatusMessage; } } catch(Exception e) { _errormessage = e.Message; } }
private void logThreadMethod() { try { using (Utils.ProgressBlock progress = new Utils.ProgressBlock(_plugin, STR_LOGGING, STR_LOGGING, _gcList.Count, 0, true)) { int index = 0; TimeSpan interval = new TimeSpan(0, 0, 0, 2, 100); DateTime prevCall = DateTime.MinValue; foreach (var gc in _gcList) { TimeSpan ts = DateTime.Now - prevCall; if (ts < interval) { System.Threading.Thread.Sleep(interval - ts); } _context.Send(new SendOrPostCallback(delegate(object state) { toolStripStatusLabel1.Visible = true; toolStripStatusLabel1.Text = gc.Code; }), null); var req = new Utils.API.LiveV6.CreateFieldNoteAndPublishRequest(); req.AccessToken = _client.Token; req.CacheCode = gc.Code; req.EncryptLogText = false; req.FavoriteThisCache = false; req.Note = _logText.Replace("#foundcount",_foundcount.ToString()); req.PromoteToLog = true; req.WptLogTypeId = _logType.ID; req.UTCDateLogged = _logDate.AddHours(12).ToUniversalTime(); prevCall = DateTime.Now; var resp = _client.Client.CreateFieldNoteAndPublish(req); if (resp.Status.StatusCode == 0) { if (Utils.DataAccess.GetGeocache(_core.Geocaches, gc.Code) != null) { //add log tot database //if found, update cache as found if (_logType.AsFound) { gc.Found = true; } _core.Logs.Add(Utils.API.Convert.Log(_core, resp.Log)); gc.ResetCachedLogData(); } _foundcount++; //log the trackables if (_tbTrackingNumbers.Count > 0) { List<Utils.API.LiveV6.Trackable> tb = new List<Utils.API.LiveV6.Trackable>(); foreach (string t in _tbs75) { tb.Add((Utils.API.LiveV6.Trackable)_tbTrackingNumbers[t]); } logTrackables(tb, 75, gc); } _context.Send(new SendOrPostCallback(delegate(object state) { (from ListViewItem a in listView1.Items where (a.Tag as Framework.Data.Geocache)==gc select a).FirstOrDefault().Checked = false; }), null); } else { _errormessage = resp.Status.StatusMessage; break; } index++; if (!progress.UpdateProgress(STR_LOGGING, STR_LOGGING, _gcList.Count, index)) { break; } } } } catch (Exception e) { _errormessage = e.Message; } _actionReady.Set(); }
private void logThreadMethod() { try { using (Utils.ProgressBlock progress = new Utils.ProgressBlock(_plugin, STR_LOGGING, STR_LOGGING, _gcList.Count, 0, true)) { int index = 0; foreach (var gc in _gcList) { _context.Send(new SendOrPostCallback(delegate(object state) { toolStripStatusLabel1.Visible = true; toolStripStatusLabel1.Text = gc.Code; }), null); var req = new Utils.API.LiveV6.CreateFieldNoteAndPublishRequest(); req.AccessToken = _client.Token; req.CacheCode = gc.Code; req.EncryptLogText = false; req.FavoriteThisCache = false; req.Note = _logText.Replace("#foundcount", _foundcount.ToString()); req.PromoteToLog = true; req.WptLogTypeId = _logType.ID; req.UTCDateLogged = _logDate.AddHours(12).ToUniversalTime(); var resp = _client.Client.CreateFieldNoteAndPublish(req); if (resp.Status.StatusCode == 0) { if (Utils.DataAccess.GetGeocache(_core.Geocaches, gc.Code) != null) { //add log tot database //if found, update cache as found if (_logType.AsFound) { gc.Found = true; } _core.Logs.Add(Utils.API.Convert.Log(_core, resp.Log)); gc.ResetCachedLogData(); } _foundcount++; //log the trackables if (_tbTrackingNumbers.Count > 0) { List <Utils.API.LiveV6.Trackable> tb = new List <Utils.API.LiveV6.Trackable>(); foreach (string t in _tbs75) { tb.Add((Utils.API.LiveV6.Trackable)_tbTrackingNumbers[t]); } logTrackables(tb, 75, gc); } _context.Send(new SendOrPostCallback(delegate(object state) { (from ListViewItem a in listView1.Items where (a.Tag as Framework.Data.Geocache) == gc select a).FirstOrDefault().Checked = false; }), null); } else { _errormessage = resp.Status.StatusMessage; break; } index++; if (!progress.UpdateProgress(STR_LOGGING, STR_LOGGING, _gcList.Count, index)) { break; } Thread.Sleep(3000); } } } catch (Exception e) { _errormessage = e.Message; } }