//--------------------------------------------------------------------- #region TagsChanged public void TagsChanged(StickViewModel sticker) { if (!OfflineMode) { Client.Sender.EditTags(GetIndexOfSticker(sticker), sticker.Stick.Tags); } }
//--------------------------------------------------------------------- #region StickerEdited public void StickerEdited(StickViewModel sticker) { if (!OfflineMode) { Client.Sender.SaveSticker(sticker.ToStick(), GetIndexOfSticker(sticker)); } }
private void ProcessCreateStickResult(AnswerId answer) { var stick = new StickViewModel(); stick.FromStick(Client.Listener.СreatingStickerForHander(answer)); StickCollection.Add(stick); }
//--------------------------------------------------------------------- #region RemoveSticker public void RemoveSticker(StickViewModel sticker) { if (!OfflineMode) { Client.Sender.DeleteSticker(Client.User.sticks.IndexOf(sticker.ToStick())); } StickCollection.Remove(sticker); }
//--------------------------------------------------------------------- #region CreateStick private void CreateStick(object e) { if (OfflineMode) { var stick = new StickViewModel(); stick.Stick.Title = "Title"; stick.Stick.Contents.Add(new TextContentFrontend("Sample text")); StickCollection.Add(stick); } else { Client.Sender.CreateSticker(); } }
//--------------------------------------------------------------------- #region StickCollectionFilter public bool StickCollectionFilter(object obj) { StickViewModel view = obj as StickViewModel; //------------------------------------------------- bool searchBoxNotEmpty = string.IsNullOrEmpty(SearchText) is false; bool tagListHasSelect = TagSelected != null; if (searchBoxNotEmpty is false && tagListHasSelect is false) { return(true); } //------------------------------------------------- bool inTitle, inContent, inTag; inTitle = inContent = inTag = false; //------------------------------------------------- if (searchBoxNotEmpty) { inTitle = view.Stick.Title.ToLower().Contains(SearchText.ToLower()); inContent = view.Stick.Contents.Count != 0 && view.Stick.Contents.Any(c => { string text; if (c is TextContent tc) { text = tc.Text; } else if (c is CheckboxContent cbc) { text = cbc.Text; } else { return(false); } return(text.ToLower().Contains(SearchText.ToLower())); }); } //------------------------------------------------- inTag = tagListHasSelect && view.Stick.Tags.Contains(TagSelected.Text); //------------------------------------------------- return(inTitle || inContent || inTag); }
//--------------------------------------------------------------------- public int GetIndexOfSticker(StickViewModel sticker) { return(Client.User.sticks.IndexOf(Client.User.sticks.Find((stick => stick.id == sticker.Stick.Id)))); }