Beispiel #1
0
        public static bool IsNextFlowStarted(string projectId, string flowCode)
        {
            var flow          = FlowInfo.Get(flowCode);
            var nextFlowCodes = FlowInfo.Search(e => e.ParentCode == flow.ParentCode && e.ExecuteSequence == flow.ExecuteSequence + 1).Select(e => e.Code).ToList();

            return(Any(p => p.ProjectId == projectId && nextFlowCodes.Contains(p.FlowCode) && p.NodeCode != Constants.NodeCode.Start && p.NodeCode != Constants.NodeCode.Finish));
        }
Beispiel #2
0
        public static void GenerateOnCreate(string mainFlowCode, string projectId)
        {
            var flows        = FlowInfo.Search(e => e.ParentCode == mainFlowCode).ToList();
            var projectNodes = new List <ProjectNode>();

            flows.ForEach(f =>
            {
                NodeInfo.Search(e => e.FlowCode == f.Code).ToList().ForEach(e =>
                {
                    projectNodes.Add(new ProjectNode
                    {
                        Id        = Guid.NewGuid(),
                        ProjectId = projectId,
                        FlowCode  = f.Code,
                        NodeCode  = e.Code,
                        IsHistory = false,
                        Status    = ProjectNodeStatus.UnFinish
                    });
                });
            });
            ProjectNode.Add(projectNodes.ToArray());
            if (mainFlowCode == Constants.FlowCode.Renewal)
            {
                var renewalNods = new List <ProjectNode>();
                renewalNods.Add(new ProjectNode
                {
                    Id        = Guid.NewGuid(),
                    ProjectId = projectId,
                    FlowCode  = "Renewal_GBMemo",
                    NodeCode  = "Renewal_GBMemo_Input",
                    IsHistory = false,
                    Status    = ProjectNodeStatus.UnFinish
                });
                renewalNods.Add(new ProjectNode
                {
                    Id        = Guid.NewGuid(),
                    ProjectId = projectId,
                    FlowCode  = "Renewal_GBMemo",
                    NodeCode  = "Renewal_GBMemo_Send",
                    IsHistory = false,
                    Status    = ProjectNodeStatus.UnFinish
                });
                ProjectNode.Add(renewalNods.ToArray());
            }
            if (mainFlowCode == Constants.FlowCode.MajorLease)
            {
                var majorleaseNods = new List <ProjectNode>();
                majorleaseNods.Add(new ProjectNode
                {
                    Id        = Guid.NewGuid(),
                    ProjectId = projectId,
                    FlowCode  = "MajorLease_GBMemo",
                    NodeCode  = "MajorLease_GBMemo_Input",
                    IsHistory = false,
                    Status    = ProjectNodeStatus.UnFinish
                });
                majorleaseNods.Add(new ProjectNode
                {
                    Id        = Guid.NewGuid(),
                    ProjectId = projectId,
                    FlowCode  = "MajorLease_GBMemo",
                    NodeCode  = "MajorLease_GBMemo_Send",
                    IsHistory = false,
                    Status    = ProjectNodeStatus.UnFinish
                });
                ProjectNode.Add(majorleaseNods.ToArray());
            }
        }