public StickerSetViewModel(IProtoService protoService, StickerSetInfo info) { _protoService = protoService; _info = info; var placeholders = new List <StickerViewModel>(); if (info.Covers?.Count > 0 && !info.IsInstalled && info.StickerType is StickerTypeCustomEmoji) { IsLoaded = true; var limit = info.Size > info.Covers.Count; var count = limit ? 15 : info.Size; for (int i = 0; i < count; i++) { placeholders.Add(new StickerViewModel(_protoService, info.Covers[i])); } if (limit) { placeholders.Add(new MoreStickerViewModel(_protoService, info.Id, info.StickerFormat, info.Size - count)); } } else { for (int i = 0; i < info.Size; i++) { placeholders.Add(new StickerViewModel(_protoService, info.Id, info.StickerFormat)); } } Stickers = new MvxObservableCollection <StickerViewModel>(placeholders); Covers = info.Covers; }
public StickerSetViewModel(IProtoService protoService, StickerSetInfo info, IList <Sticker> stickers) { _protoService = protoService; _info = info; IsLoaded = true; Stickers = new MvxObservableCollection <StickerViewModel>(stickers.Select(x => new StickerViewModel(protoService, x))); Covers = info.Covers; }
public StickerSetViewModel(StickerSetInfo info) { _info = info; var placeholders = new List <StickerViewModel>(); for (int i = 0; i < info.Size; i++) { placeholders.Add(new StickerViewModel(info.Id)); } Stickers = new MvxObservableCollection <StickerViewModel>(placeholders); Covers = info.Covers; }
public StickerSetViewModel(IProtoService protoService, IEventAggregator aggregator, StickerSetInfo info) { _protoService = protoService; _aggregator = aggregator; _info = info; var placeholders = new List <StickerViewModel>(); for (int i = 0; i < (info.IsInstalled ? info.Size : info.Covers?.Count ?? 0); i++) { placeholders.Add(new StickerViewModel(_protoService, _aggregator, info.Id)); } Stickers = new MvxObservableCollection <StickerViewModel>(placeholders); Covers = info.Covers; }
private async void UpdateSupergroupFullInfo(Chat chat, Supergroup group, SupergroupFullInfo fullInfo) { var already = Items.FirstOrDefault(x => x.Id == fullInfo.StickerSetId); if (already != null) { SelectedItem = already; } else { var response = await ProtoService.SendAsync(new GetStickerSet(fullInfo.StickerSetId)); if (response is StickerSet set) { SelectedItem = new StickerSetInfo(set.Id, set.Title, set.Name, set.IsInstalled, set.IsArchived, set.IsOfficial, set.IsMasks, set.IsViewed, set.Stickers.Count, set.Stickers); } } }
private async Task CheckAvailabilityAsync(string shortName) { IsLoading = true; var response = await ProtoService.SendAsync(new SearchStickerSet(shortName)); if (response is StickerSet stickerSet) { IsLoading = false; IsAvailable = true; SelectedItem = new StickerSetInfo(stickerSet.Id, stickerSet.Title, stickerSet.Name, stickerSet.Thumbnail, stickerSet.IsInstalled, stickerSet.IsArchived, stickerSet.IsOfficial, stickerSet.IsAnimated, stickerSet.IsMasks, stickerSet.IsViewed, stickerSet.Stickers.Count, stickerSet.Stickers); ShortName = stickerSet.Name; } else { IsLoading = false; IsAvailable = false; SelectedItem = null; } }
private void ReorderExecute(StickerSetInfo set) { _needReorder = true; _newOrder = Items.Select(x => x.Id).ToList(); }
public StickerSetViewModel(StickerSetInfo info, StickerSet set) : this(info) { IsLoaded = true; Update(set); }
public StickerSetViewModel(IProtoService protoService, IEventAggregator aggregator, StickerSetInfo info, StickerSet set) : this(protoService, aggregator, info) { IsLoaded = true; Update(set); }
public SupergroupStickerSetViewModel(IProtoService protoService, IEventAggregator aggregator, StickerSetInfo info, StickerSet set) : base(protoService, aggregator, info, set) { }
public StickerSetViewModel(IProtoService protoService, StickerSetInfo info, StickerSet set) : this(protoService, info) { IsLoaded = true; Update(set); }
public SupergroupStickerSetViewModel(IProtoService protoService, StickerSetInfo info) : base(protoService, info) { }