public static List <TodoListItem> GetTodoList(string user) { using (BasicWebContext context = new BasicWebContext()) { if (string.IsNullOrEmpty(user)) { return(new List <TodoListItem>()); } var insts = context.FlowInstances.Where(x => !x.Completed).AsEnumerable().Where(x => FlowNodeManager.IsUserAllowed(x.CurrentNodeID, user)).ToList(); return(insts.Select((x, i) => { TodoListItem item = new TodoListItem(); item.ID = i + 1; item.FlowName = context.Workflows.Single(y => y.ID == x.WorkflowID).Name; item.InstName = x.Name; item.InstNumber = x.Number; // newly 20130708 item.InstComment = x.Comment; // newly 20130708 item.CurrentNode = context.FlowNodes.Single(y => y.ID == x.CurrentNodeID).Name; item.StartTime = x.StartTime; item.EndTime = x.EndTime; // newly 20130708 item.InstID = x.ID; return item; }).ToList()); } }
public static bool IsUserAllowed(Guid id, string user) // mod 20130710 { var node = FlowNodeManager.GetDbRecord(id); return(IsUserAllowed(node, user)); }