private void OnDownloadMaterial() { _iconService.SaveFiles(IconCarts.Select(x => new SaveFileInfo() { Name = x.Name, Content = x.Origin_file, Suffix = ".svg", ID = x.Id })); }
public IconContentViewModel(IIconService iconService, ISetting setting) { _iconService = iconService; _setting = setting; CopyPathCommand = new DelegateCommand <int?>(OnClickCopyPath); ChangeCartCommand = new DelegateCommand <int?>(OnChangeCart); RemoveCartCommand = new DelegateCommand <int?>(OnRemoveCart); ChangeCollectionCommand = new DelegateCommand <int?>(OnCollectionChanged); ClearCartCommand = new DelegateCommand(OnClearCart); DownloadMaterial = new DelegateCommand(OnDownloadMaterial, CanDownload); DownloadCode = new DelegateCommand(OnDownloadCode, CanDownload); IconCarts.CollectionChanged += IconCarts_CollectionChanged; MyCollection.CollectionChanged += MyCollection_CollectionChanged; ///加载用户数据库 if (_setting.IconCarts != null) { IconCarts.AddRange(_setting.IconCarts); } ///加载用户数据收藏夹 if (_setting.MyCollection != null) { MyCollection.AddRange(_setting.MyCollection); } InitData(); }
private void OnClearCart() { foreach (var item in IconCarts) { var iconItem = Items.FirstOrDefault(x => x.Id == item.Id); if (iconItem != null) { iconItem.IsCollected = false; } } IconCarts.Clear(); }
private void OnRemoveCart(int?obj) { var icon = IconCarts.FirstOrDefault(x => x.Id == obj); if (icon != null) { IconCarts.Remove(icon); var iconItem = Items.FirstOrDefault(x => x.Id == obj); if (iconItem != null) { iconItem.IsCollected = false; } } }
private void OnChangeCart(int?id) { var cartItem = Items.FirstOrDefault(x => x.Id == id); if (cartItem != null) { cartItem.IsCollected = !cartItem.IsCollected; if (cartItem.IsCollected) { IconCarts.Add(cartItem); } else { IconCarts.Remove(IconCarts.FirstOrDefault(x => x.Id == id)); } } }
private void RefreshIcons(int page = 1) { IsLoading = true; Task.Run(() => { try { var res = _iconService.GetList(SearchText, FromType, ColorType, Tag, page); if (res.IsSuccess) { App.UIDispatcher.Invoke(() => { Count = res.Data.Count; Items.Clear(); foreach (var icon in res.Data.Icons) { Items.Add(new IconItemViewModel() { Id = icon.Id, Name = icon.Name, PrototypeSvg = icon.Prototype_svg, IsCollected = IconCarts.Any(x => x.Id == icon.Id), IsFavorite = MyCollection.Any(x => x.Id == icon.Id), Origin_file = icon.Origin_file, }); } ; Page = page; }); } } finally { App.UIDispatcher.Invoke(() => { IsLoading = false; }); } }); }