/// <summary> /// 从数据库构造 /// </summary> /// <param name="row">工单</param> /// <param name="def">执行的流程</param> /// <param name="users">当前待审的用户</param> /// <param name="step">当前等待执行步骤</param> public BaseWorkOrderListDetail(Db_BaseWorkOrder row, Db_WorkFlowDefinition def, List <Db_BaseWorkOrderTaskUser> users, Db_WorkFlowDefStep step) : base(row) { if (this.OrderStatus != WorkOrderStatus.待提交) { //修改执行状态文本 this.OrderStatusString = string.Format("{0}[{1}]", this.OrderStatus.ToString(), def.Caption); } if (this.OrderStatus == WorkOrderStatus.执行中) { if (users.Count > 0) { var showUsers = users.Skip(0).Take(5); this.TaskUserNames = string.Join(",", showUsers.Select(p => p.userName)); if (users.Count > 5) { this.TaskUserNames += string.Format(",等{0}个用户", users.Count); } } if (step != null) { this.NowTaskSetpId = step.Id; this.NowTaskStepName = step.Name; } } }
/// <summary> /// 数据库对象构造方法 /// </summary> /// <param name="row"></param> public WorkFlowDefinition(Db_WorkFlowDefinition row) { this.Id = row.Id; this.Caption = row.Caption; this.Descript = row.Descript; this.CreatedOn = row.CreatedOn; this.CreatedOnString = this.CreatedOn.ToString("yyyy-MM-dd HH:mm"); }
/// <summary> /// 批量新增/编辑业务流程定义 /// </summary> /// <param name="condtion"></param> public static List <WorkFlowDefinition> EditDefs(List <WorkFlowDefinition> condtion) { List <WorkFlowDefinition> result = new List <WorkFlowDefinition>(); if (condtion != null) { if (condtion.Count > 0) { foreach (var item in condtion) { ValiDatas.valiData(condtion); } using (var db = new DefaultContainer()) { foreach (var item in condtion) { if (string.IsNullOrEmpty(item.Id)) { //新增 Db_WorkFlowDefinition dbDef = new Db_WorkFlowDefinition() { Id = SysHelps.GetNewId(), Caption = item.Caption, Descript = string.IsNullOrEmpty(item.Descript)? null :item.Descript, CreatedOn = DateTime.Now }; db.Db_WorkFlowDefinitionSet.Add(dbDef); result.Add(new WorkFlowDefinition(dbDef)); } else { //编辑 var dbDef = db.Db_WorkFlowDefinitionSet.Single(p => p.Id == item.Id); dbDef.Caption = item.Caption; dbDef.Descript = item.Descript; result.Add(new WorkFlowDefinition(dbDef)); } } db.SaveChanges(); } } } return(result); }