public WorkFlowInstance startWorkFlow(CommandInfo CommandInfo) { string WFName = CommandInfo.WFName; TrackingWorkFlowInteraction twfi = new TrackingWorkFlowInteraction(); string id = twfi.startProcess(WFName); WorkFlowInstance wfi = new WorkFlowInstance(); wfi.Id = id; List <string> candCmds = twfi.getCandidateCommands(WFName, id); CandidateCommandList ccl = new CandidateCommandList(); ccl.AddRange(candCmds); wfi.CandidateCommandList = ccl; return(wfi); }
public WorkFlowInstance GetWorkFlowInstance(string InstanceId) { WorkFlowInstance wfi = new WorkFlowInstance(); wfi.Id = InstanceId; try { TrackingDataContext trackingContext = new TrackingDataContext(); Guid guid = new Guid(InstanceId); IQueryable <CommonResource.Tracking> trackingQuery = from tracking in trackingContext.Trackings where ((tracking.wfinstanceid == guid)) select tracking; foreach (CommonResource.Tracking t in trackingQuery) { using (TrackingWorkFlowInteraction twfi = new TrackingWorkFlowInteraction()) { wfi = new WorkFlowInstance(); wfi.BugId = t.bugid; wfi.Id = t.wfinstanceid.ToString(); wfi.Title = t.title; wfi.WFName = t.wfname; //wfi.LastModified = t.lastmodified==null?"N/A":t.lastmodified.ToString(); wfi.LastModified = t.lastmodified == null ? "N/A" : t.lastmodified.ToString(); wfi.QFEStatus = t.qfestatus; wfi.AssignedTo = t.assignedto; wfi.LastModifiedBy = t.lastmodifiedby; try { CandidateCommandList ccl = twfi.getCandidateCommands(t.wfname.Trim(), InstanceId); wfi.CandidateCommandList = ccl; } catch (WorkFlowNotFoundException e) { } } return(wfi); } } catch (Exception e) { throw new WebFaultException <string>(e.ToString(), HttpStatusCode.InternalServerError); } return(null); }
public WorkFlowInstance startWorkFlow(CommandInfo CommandInfo) { WorkFlowInstance wfi = new WorkFlowInstance(); try { string WFName = CommandInfo.WFName.Trim(); TrackingWorkFlowInteraction twfi = new TrackingWorkFlowInteraction(); string id = twfi.startProcess(WFName); CommandInteraction cmdInteraction = new CommandInteraction(); Dictionary <string, string> paras = new Dictionary <string, string>(); paras.Add("InstanceId", id); paras.Add("WFName", CommandInfo.WFName); if (CommandInfo.ParameterList != null) { foreach (Parameter p in CommandInfo.ParameterList) { paras.Add(p.Name, p.Value); } } TrackingWorkFlowInteraction II = new TrackingWorkFlowInteraction(); StateMachineDefinition statemachineDefinition = II.getStateMachineDefinition(CommandInfo.WFName); paras.Add("QFEStatus", statemachineDefinition.InitialState); cmdInteraction.executeCommand(CommandInfo.CommandName, paras); wfi.Id = id; List <string> candCmds = twfi.getCandidateCommands(WFName, id); CandidateCommandList ccl = new CandidateCommandList(); ccl.AddRange(candCmds); wfi.CandidateCommandList = ccl; } catch (Exception e) { throw new WebFaultException <string>(e.ToString(), HttpStatusCode.InternalServerError); // TrackingLog.Log(e.Message + "!!" + e.ToString()); } return(wfi); }
public WorkFlowInstance GetWorkFlowInstance(string InstanceId) { WorkFlowInstance wfi = new WorkFlowInstance(); TrackingDataContext trackingContext = new TrackingDataContext(); Guid guid = new Guid(InstanceId); IQueryable <Tracking> trackingQuery = from tracking in trackingContext.Trackings where ((tracking.wfinstanceid == guid)) select tracking; foreach (Tracking t in trackingQuery) { TrackingWorkFlowInteraction twfi = new TrackingWorkFlowInteraction(); wfi = new WorkFlowInstance(); List <string> candCmds = twfi.getCandidateCommands(t.wfname, InstanceId); CandidateCommandList ccl = new CandidateCommandList(); ccl.AddRange(candCmds); wfi.CandidateCommandList = ccl; return(wfi); } return(null); }