/// <summary> /// 工程暂停 /// </summary> /// <param name="ID"></param> /// <param name="Reason"></param> public void Stop(int ID, int UserID, string Reason, List <int> ReceiveUserIDs = null) { var entity = this._DB.Get(ID); entity.Status = (int)EnumEngineeringStatus.暂停; entity.StopDate = DateTime.Now; this._DB.Edit(entity); var engInfo = new EngineeringInfo(entity); // 项目负责人 var users = engInfo.GetParentMainUsers(); // 工程相关人员 users.AddRange(engInfo.GetChildrenMainUsers()); // 其他相关人员 if (ReceiveUserIDs != null) { users.AddRange(ReceiveUserIDs); } // 去除重复人员 var receiveUserIDs = users.Where((x, i) => users.FindIndex(z => z == x) == i).ToList(); _IEngineeringNoteService.Add(new EngineeringNoteInfo() { Content = string.Format("工程:{0}暂停,暂停时间:{1},说明:{2}", entity.Name, entity.StopDate, Reason), EngineeringID = ID, NoteDate = DateTime.Now, NoteType = (int)EnumEngineeringNoteType.暂停, UserID = UserID, ReceiveUsers = receiveUserIDs, Engineering = entity, }); }