public async Task <IEnumerable <TreeNode> > GetCharacterRosterTreeNode(frmCharacterRoster frmCharRoster, bool forceUpdate) { try { using (new CursorWait(true, frmCharRoster)) { return(await ChummerHub.Client.Backend.Utils.GetCharacterRosterTreeNode(frmCharRoster.MyCharacterCacheDic, forceUpdate)); } } catch (Microsoft.Rest.SerializationException e) { if (e.Content.Contains("Log in - ChummerHub")) { TreeNode node = new TreeNode("Online, but not logged in!") { ToolTipText = "Please log in (Options -> Plugins -> Sinners (Cloud) -> Login", Tag = e }; return(new List <TreeNode>() { node }); } else { TreeNode node = new TreeNode("Error: " + e.Message) { ToolTipText = e.ToString(), Tag = e }; return(new List <TreeNode>() { node }); } } catch (Exception e) { TreeNode node = new TreeNode("SINners Error: please log in") { ToolTipText = e.ToString(), Tag = e }; return(new List <TreeNode>() { node }); } }
public async Task <IEnumerable <TreeNode> > GetCharacterRosterTreeNode(frmCharacterRoster frmCharRoster, bool forceUpdate) { try { using (new CursorWait(true, frmCharRoster)) { Func <Task <HttpOperationResponse <ResultAccountGetSinnersByAuthorization> > > myMethodName = async() => { var client = StaticUtils.GetClient(); var ret = await client.GetSINnersByAuthorizationWithHttpMessagesAsync(); return(ret); }; var res = await ChummerHub.Client.Backend.Utils.GetCharacterRosterTreeNode(forceUpdate, myMethodName); if (res == null) { throw new ArgumentException("Could not load owned SINners from WebService."); } var list = res.ToList(); var myadd = MyTreeNodes2Add.ToList(); var mysortadd = (from a in myadd orderby a.Value.Text select a).ToList(); foreach (var addme in mysortadd) { list.Add(addme.Value); } return(list); } } catch (Microsoft.Rest.SerializationException e) { if (e.Content.Contains("Log in - ChummerHub")) { TreeNode node = new TreeNode("Online, but not logged in!") { ToolTipText = "Please log in (Options -> Plugins -> Sinners (Cloud) -> Login", Tag = e }; return(new List <TreeNode>() { node }); } else { TreeNode node = new TreeNode("Error: " + e.Message) { ToolTipText = e.ToString(), Tag = e }; return(new List <TreeNode>() { node }); } } catch (Exception e) { TreeNode node = new TreeNode("SINners Error: please log in") { ToolTipText = e.ToString(), Tag = e }; var objCache = new frmCharacterRoster.CharacterCache { ErrorText = e.ToString() }; node.Tag = objCache; return(new List <TreeNode>() { node }); } }
public async Task <ICollection <System.Windows.Forms.TreeNode> > GetCharacterRosterTreeNode(frmCharacterRoster frmCharRoster, bool forceUpdate) { //here you can add nodes to the character roster. return(null); }
public async Task <IEnumerable <TreeNode> > GetCharacterRosterTreeNode(frmCharacterRoster frmCharRoster, bool forceUpdate) { try { ContextMenuStrip myContextMenuStrip = null; List <TreeNode> list = new List <TreeNode>(); using (new CursorWait(true, frmCharRoster)) { frmCharRoster.DoThreadSafe(() => { myContextMenuStrip = frmCharRoster.CreateContextMenuStrip(); var menulist = myContextMenuStrip.Items.Cast <ToolStripMenuItem>().ToList(); foreach (var item in menulist) { switch (item.Name) { case "tsToggleFav": myContextMenuStrip.Items.Remove(item); break; case "tsCloseOpenCharacter": myContextMenuStrip.Items.Remove(item); break; case "tsSort": myContextMenuStrip.Items.Remove(item); break; case "tsDelete": ToolStripMenuItem newDelete = new ToolStripMenuItem(item.Text, item.Image); newDelete.Click += frmCharRoster.tsDelete_Click; myContextMenuStrip.Items.Add(newDelete); break; default: break; } } ToolStripMenuItem newShare = new ToolStripMenuItem("Share") { Name = "tsShareChummer", Tag = "Menu_ShareChummer", Text = "Share chummer", Size = new System.Drawing.Size(177, 22), Image = global::Chummer.Properties.Resources.link_add }; newShare.Click += NewShareOnClick; myContextMenuStrip.Items.Add(newShare); LanguageManager.TranslateWinForm(GlobalOptions.Language, myContextMenuStrip); }); if (ChummerHub.Client.Properties.Settings.Default.UserModeRegistered == true) { Log.Info("Loading CharacterRoster from SINners..."); Func <Task <HttpOperationResponse <ResultAccountGetSinnersByAuthorization> > > myMethodName = async() => { try { var client = StaticUtils.GetClient(); var ret = await client.GetSINnersByAuthorizationWithHttpMessagesAsync(); return(ret); } catch (Exception e) { Log.Error(e); throw; } }; var res = await ChummerHub.Client.Backend.Utils.GetCharacterRosterTreeNode(forceUpdate, myMethodName); if (res == null) { throw new ArgumentException("Could not load owned SINners from WebService."); } list = res.ToList(); } var myadd = MyTreeNodes2Add.ToList(); var mysortadd = (from a in myadd orderby a.Value.Text select a).ToList(); foreach (var addme in mysortadd) { list.Add(addme.Value); } AddContextMenuStripRecursive(list, myContextMenuStrip); return(list); } } catch (Microsoft.Rest.SerializationException e) { if (e.Content.Contains("Log in - ChummerHub")) { TreeNode node = new TreeNode("Online, but not logged in!") { ToolTipText = "Please log in (Options -> Plugins -> Sinners (Cloud) -> Login", Tag = e }; Log.Warn(e, "Online, but not logged in!"); return(new List <TreeNode>() { node }); } else { Log.Error(e); TreeNode node = new TreeNode("Error: " + e.Message) { ToolTipText = e.ToString(), Tag = e }; return(new List <TreeNode>() { node }); } } catch (Exception e) { Log.Error(e); TreeNode node = new TreeNode("SINners Error: please log in") { ToolTipText = e.ToString(), Tag = e }; var objCache = new frmCharacterRoster.CharacterCache { ErrorText = e.ToString() }; node.Tag = objCache; return(new List <TreeNode>() { node }); } }