/// <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="remarks"></param> /// <returns></returns> public static List <BaseWorkOrder> CreateBaseWorkOrders(List <string> remarks) { List <BaseWorkOrder> result = new List <BaseWorkOrder>(); using (var db = new DefaultContainer()) { List <Db_BaseWorkOrder> dbRows = new List <Db_BaseWorkOrder>(); foreach (var item in remarks) { var newRow = new Db_BaseWorkOrder() { CreatedOn = DateTime.Now, Id = Guid.NewGuid().ToString(), OrderType = (byte)WorkOrderType.无类型.GetHashCode(), Remark = item }; dbRows.Add(newRow); result.Add(new BaseWorkOrder(newRow)); } if (dbRows.Count > 0) { db.Db_BaseWorkOrderSet.AddRange(dbRows); db.SaveChanges(); } } return(result); }
private void SetValue(Db_BaseWorkOrder row) { this.Id = row.Id; this.OrderType = (WorkOrderType)row.OrderType; this.OrderTypeString = this.OrderType.ToString(); this.OrderStatus = (WorkOrderStatus)row.OrderStatus; this.OrderStatusString = this.OrderStatus.ToString(); this.WorkFlowDefinitionId = row.WorkFlowDefinitionId; this.WorkFlowBookMarkId = row.WorkFlowBookMarkId; this.Remark = row.Remark; this.CreatedOn = row.CreatedOn; this.CreatedOnString = this.CreatedOn.ToString("yyyy-MM-dd HH:mm:ss"); }
/// <summary> /// 从数据库对象构造 /// </summary> /// <param name="row"></param> public BaseWorkOrder(Db_BaseWorkOrder row) { SetValue(row); }