예제 #1
0
        /// <summary>
        /// 添加一个里程碑
        /// </summary>
        /// <param name="type">里程碑类型</param>
        /// <param name="id">里程碑作用对象的唯一标识符</param>
        /// <param name="destination">目标字数</param>
        /// <param name="detail">里程碑备注</param>
        /// <param name="beginTime">里程碑开始时刻</param>
        /// <param name="endTime">里程碑结束时刻</param>
        /// <returns>所添加的里程碑的唯一标识符</returns>
        public string AddMilestone(MilestoneType type, string id, long destination, string detail, DateTime beginTime, DateTime endTime)
        {
            var hid = "HMilestone#" + Guid.NewGuid();

            if (type == MilestoneType.Aritical)
            {
                var        articleRef = this.ArticleDict[id];
                var        bookRef    = this.BookVector.Find(t => t.BookRef.Id == articleRef.BookId).BookRef;
                HMilestone hm         = new HMilestone()
                {
                    Type            = type,
                    Id              = hid,
                    ArticleId       = id,
                    BookId          = bookRef.Id,
                    BeginTimeStamp  = beginTime,
                    EndTimeStamp    = endTime,
                    Destination     = destination,
                    Detail          = detail,
                    IsFinished      = false,
                    IsNotified      = false,
                    FinishTimeStamp = null
                };
                bookRef.Milestones.Add(hm);
                return(hid);
            }
            else
            {
                throw new NotImplementedException();
            }
        }
예제 #2
0
 /// <summary>
 /// 检索一个里程碑
 /// </summary>
 /// <param name="id">里程碑的唯一标识符</param>
 /// <param name="ms">[out] 里程碑对象</param>
 /// <returns>操作成功或否</returns>
 public bool RetrieveMilestone(string id, out HMilestone ms)
 {
     foreach (var bk in this.BookVector)
     {
         var bkObj = bk.BookRef;
         foreach (var m in bkObj.Milestones)
         {
             if (m.Id == id)
             {
                 ms = m;
                 return(true);
             }
         }
     }
     ms = null;
     return(false);
 }