Esempio n. 1
0
 protected ComicStoreBox(FileInfo targetFile, ComicStoreModel attackModel)
 {
     TargetFile                   = targetFile ?? throw new ArgumentNullException(nameof(targetFile));
     this.attackModel             = attackModel ?? throw new ArgumentNullException(nameof(attackModel));
     AttackModel.PropertyChanged += OnAttackModelPropertyChanged;
     Init();
 }
Esempio n. 2
0
        public string Store(ComicStoreModel model)
        {
            if (model is null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            var str  = JsonHelper.Serialize(model);
            var path = GetModelPath(model.ComicUrl);

            File.WriteAllText(path, str);
            return(path);
        }
Esempio n. 3
0
        public string Store(ComicEntity entity, bool superFavorite = false)
        {
            var model = new ComicStoreModel
            {
                Chapters      = entity.Chapters,
                ComicUrl      = entity.ComicUrl,
                CreateTime    = DateTime.Now.Ticks,
                ImageUrl      = entity.ImageUrl,
                Name          = entity.Name,
                Descript      = entity.Descript,
                SuperFavorite = superFavorite
            };

            return(Store(model));
        }
Esempio n. 4
0
 public IEnumerable <ComicStoreModel> EnumerableModels(bool ignoreErrorFile = true, Action <FileInfo, Exception> errorCallback = null)
 {
     foreach (var item in EnumerableModelFiles())
     {
         ComicStoreModel model = null;
         try
         {
             model = GetModel(item.FullName);
         }
         catch (Exception ex)
         {
             errorCallback?.Invoke(item, ex);
             if (!ignoreErrorFile)
             {
                 throw;
             }
         }
         if (model != null)
         {
             yield return(model);
         }
     }
 }
Esempio n. 5
0
 public WithImageComicStoreBox(FileInfo targetFile, ComicStoreModel attackModel) : base(targetFile, attackModel)
 {
     _ = LoadLogoAsync();
 }