public async Task assign(ulong MessageID, string Icon, ulong RoleID) { if (CommandHandler.buttonlinks.FindAll(x => x.MessageID == MessageID && x.RoleID == RoleID && x.Emoji == Icon).Count != 0) { await Context.Channel.SendMessageAsync("Link cant create link cause it already exist!"); } else { var link = new ButtonLinks(); link.GuildID = Context.Guild.Id; link.MessageID = MessageID; link.RoleID = RoleID; link.Emoji = Icon; link.CreatedByID = Context.User.Id; link.Created = DateTime.Now; int i = 0; while (CommandHandler.buttonlinks.Exists(x => x.ID == i)) { i++; } link.ID = i; CommandHandler.buttonlinks.Add(link); await Context.Channel.SendMessageAsync("Link have been saved!"); File.WriteAllText("ButtonLinks.json", JsonConvert.SerializeObject(CommandHandler.buttonlinks)); } }
/// <summary> /// /// </summary> /// <param name="action"></param> /// <param name="needAddAction"></param> public void AddAction(ActionMetaItem action, bool needAddAction) { int index = Actions.Count; var image = ImagesStorage.Get(action.IconId(BusinessObject, Permissions)); if (action.ActionType == ActionTypes.Container) { m_ButtonMain.Tag = action; m_ButtonMain.Text = GetCaption(action.CaptionId(BusinessObject, Permissions)); m_ButtonMain.Name = String.Format("btn{0}", action.Name); if (image != null) { m_ButtonMain.Image = image; } if (!string.IsNullOrEmpty(action.TooltipId(BusinessObject, Permissions))) { var superToolTip = new SuperToolTip(); //TODO получать текст специальным методом superToolTip.Items.Add(GetCaption(action.TooltipId(BusinessObject, Permissions))); m_ButtonMain.SuperTip = superToolTip; } return; } var button = new BarButtonItem(m_PopupActions.Manager, GetCaption(action.CaptionId(BusinessObject, Permissions))) { Id = index, Tag = action }; if (image != null) { button.Glyph = image; } button.ItemClick += OnButtonItemClick; button.Enabled = action.IsEnable(BusinessObject, BusinessObject.GetPermissions()); ButtonLinks.Add(action, m_PopupActions.AddItem(button)); if (needAddAction) { Actions.Add(action); } //TODO правильно ли следующее if (String.IsNullOrEmpty(m_ButtonMain.Text) && Actions.Count >= 1) { m_ButtonMain.Tag = Actions[0]; m_ButtonMain.Text = GetCaption(Actions[0].Container); } }