Пример #1
0
 private void OnDownloadMaterial()
 {
     _iconService.SaveFiles(IconCarts.Select(x => new SaveFileInfo()
     {
         Name = x.Name, Content = x.Origin_file, Suffix = ".svg", ID = x.Id
     }));
 }
Пример #2
0
        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();
        }
Пример #3
0
 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();
 }
Пример #4
0
        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;
                }
            }
        }
Пример #5
0
        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));
                }
            }
        }
Пример #6
0
 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;
             });
         }
     });
 }