/// <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(); } }
/// <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); }