コード例 #1
0
        /// <summary>
        /// 【只有这个是异步的】
        /// </summary>
        /// <returns></returns>
        public static Task <ExReaderPlus.Manage.PassageManager.Passage> GetPassage(UserDictionary.Passage passageInfo)
        {
            ExReaderPlus.PassageIO.PassageIO passageIO = new ExReaderPlus.PassageIO.PassageIO();
            var passage = passageIO.ReadPassage(passageInfo);

            return(passage);
        }
コード例 #2
0
 /// <summary>
 /// 传入参数:文章信息
 /// 把一篇文章从书架删除,并且删除缓存文件
 /// 成功返回 1
 /// 失败返回 0
 /// 异常返回 -1
 /// </summary>
 /// <returns></returns>
 public static int DeletePassageInfoAndPassage(UserDictionary.Passage passageInfo)
 {
     using (var db = new DataContext())
     {
         db.Passages.Remove(
             db.Passages.FirstOrDefault(p => p.Id.Equals(passageInfo.Id))
             );
         ExReaderPlus.PassageIO.PassageIO passageIO = new ExReaderPlus.PassageIO.PassageIO();
         try {
             db.SaveChanges();
             passageIO.DeletePassage(passageInfo);//删除缓存文件
             return(1);
         }
         catch
         {
             return(-1);
         }
         finally
         {
             db.Database.CloseConnection();
         }
     }
 }
コード例 #3
0
 /// <summary>
 /// 存储文章到书架,并且把文章缓存到路径
 /// 传入参数
 /// 【1】文章(包含文章内容和文章标题)
 /// 传出参数
 /// 异常 -1
 /// 成功 1
 /// 有文件、数据库操作,建议异步
 ///  FIXME TODO
 /// </summary>
 /// <param name="passage"></param>
 /// <returns></returns>
 public static int SavaPassageInfoAndPassage(ExReaderPlus.Manage.PassageManager.Passage passage)
 {
     using (var db = new DataContext())
     {
         var returnPassageInfo = ifExsist(passage);
         if (returnPassageInfo == null)//如果文章不存在,就新建文章条目
         {
             db.Database.Migrate();
             var passageInfo = new UserDictionary.Passage();
             passageInfo.Name         = passage.HeadName;
             passageInfo.LastReadTime = System.DateTime.Now;//写入时间
             passageInfo.Abstract     = getAbstract(passage.Content);
             passageInfo.RemainWords  = passage.Content.Length.ToString();
             //C#中int最大为2^32-1不考虑超过的情况
             db.Passages.Add(passageInfo);//存入文件信息
             try
             {
                 db.SaveChanges();
             }
             catch
             {
                 return(-1);
             }
             finally
             {
                 db.Database.CloseConnection();
             }
             db.Database.Migrate();
             var savePassageInfo = db.Passages                                                            //用于传入保存函数的文章信息,主要用来获取数据库自动生成的id
                                   .Where(p => p.Name.Equals(passageInfo.Name))
                                   .Where(p => p.Abstract.Equals(passageInfo.Abstract)).FirstOrDefault(); //通过文章名字和文章摘要查找文章来获取新建的ID
             ExReaderPlus.PassageIO.PassageIO passageIO = new ExReaderPlus.PassageIO.PassageIO();
             try
             {
                 passageIO.SavaPassage(passage, savePassageInfo);//根据获取的唯一ID保存文件
                 return(1);
             }
             catch
             {
                 return(-1);
             }
         }
         else
         {
             db.Passages.Find(returnPassageInfo.Id).LastReadTime = System.DateTime.Now;
             try
             {
                 db.SaveChanges();
                 return(1);
             }
             catch
             {
                 return(-1);
             }
             finally
             {
                 db.Database.CloseConnection();
             }
         }
     }
 }