public static void AddAction(Action action) { if (!WorkflowActions.Contains(action)) { WorkflowActions.Add(action); } }
private void VariableValueChoosen_Click(object sender, RoutedEventArgs e) { WorkflowAction wa = new WorkflowAction(); wa.ActionName = TxtWorkflowActionName.Text; wa.ObjectName = cmbDeviceSOADate.Text; wa.VariableName = CmbValueProp.Text; wa.VariableValue = cmbDeviceSOADateValue.Text; if (VariableValueChoosen.Content.ToString().ToUpper() == "done".ToUpper()) { if (WorkflowActions.Count <= 0) { wa.id = 1; } else { wa.id = WorkflowActions.Max(x => x.id) + 1; } } else { wa.id = UpdatedWorkflowActionID; WorkflowActions.Remove(WorkflowActions.Where(x => x.id == UpdatedWorkflowActionID).FirstOrDefault()); } WorkflowActions.Add(wa); AMAActionableObjects.FixedWorkflowActionCollection = WorkflowActions; GrdTypeValue.Visibility = Visibility.Collapsed; }
public ApprovalResult ActApprovalFlow(long entityId, WorkflowEntities workflowEntity, long approverId, string remark, WorkflowActions action) { // _orderApplicationService; //TODO: Fake User Id approverId = 1101; //Defined user for SAPID var lastWorkflowLog = GetLastWorkflowLog(entityId, workflowEntity); lastWorkflowLog.ValidateUserAccess(approverId, action); //next Step var step = GetWorkflowStep(lastWorkflowLog.CurrentWorkflowStep, action, approverId); if (step == null) throw new WorkFlowException("Invalid Access"); if (step.NextWorkflowStep != null) { //var approvableDomainService = ServiceLocator.Current.GetInstance(lastWorkflowLog.GetDomainServiceType()) as IApprovableDomainService; lastWorkflowLog.UpdatedState(step); var newApprovalWorkFlow = lastWorkflowLog.CreateNextStep(step.ActorUserId, step.NextWorkflowStepId.Value, step.NextWorkflowStep.State, step.NextWorkflowStep.CurrentWorkflowStage); _workflowLogRepository.Add(newApprovalWorkFlow); } else { throw new WorkFlowException("Invalid Action"); } var result = UpdateApproveState(entityId, workflowEntity, approverId, remark, step.WithWorkflowAction, lastWorkflowLog); return result; }
public WorkflowLog CreateApproveFlowLogObject(long entityId, WorkflowEntities actionEntity, DateTime actionDate, WorkflowActions workflowAction, long actorUserId, string remark, long approveWorkFlowConfigId) { return new WorkflowLog(actionEntity, workflowAction, actorUserId, actionDate, remark, approveWorkFlowConfigId, true); }
public OffhireWorkflowLog( Offhire offhire, WorkflowEntities actionEntity, DateTime actionDate, WorkflowActions? workflowAction, long actorUserId, string remark, long currentWorkflowStepId, bool active) : base(actionEntity, workflowAction, actorUserId, actionDate, remark, currentWorkflowStepId, active) { Offhire = offhire; }
public FuelReportWorkflowLog( long entityId, WorkflowEntities actionEntity, DateTime actionDate, WorkflowActions? workflowAction, long actorUserId, string remark, long currentWorkflowStepId, bool active) : base(actionEntity, workflowAction, actorUserId, actionDate, remark, currentWorkflowStepId, active) { FuelReportId = entityId; }
public CharterWorkflowLog( Charter charter, WorkflowEntities actionEntity, DateTime actionDate, WorkflowActions? workflowAction, long actorUserId, string remark, long currentWorkflowStepId, bool active) : base(actionEntity, workflowAction, actorUserId, actionDate, remark, currentWorkflowStepId, active) { Charter = charter; }
public WorkflowLog(WorkflowEntities actionEntity, WorkflowActions? workflowAction, long actorUserId, DateTime actionDate, string remark, long currentWorkflowStepId, bool active) { WorkflowEntity = actionEntity; WorkflowAction = workflowAction; ActorUserId = actorUserId; ActionDate = actionDate; Remark = remark; CurrentWorkflowStepId = currentWorkflowStepId; Active = active; }
public ScrapWorkflowLog( Scrap scrap, WorkflowEntities actionEntity, DateTime actionDate, WorkflowActions? workflowAction, long actorUserId, string remark, long currentWorkflowStepId, bool active) : base(actionEntity, workflowAction, actorUserId, actionDate, remark, currentWorkflowStepId, active) { Scrap = scrap; }
public WorkflowStep( WorkflowEntities workflowEntity, long actorUserId, States state, WorkflowStages currentWorkflowStage, WorkflowActions withWorkflowAction, long? nextWorkflowStepId ) { ActorUserId = actorUserId; NextWorkflowStepId = nextWorkflowStepId; WithWorkflowAction = withWorkflowAction; State = state; WorkflowEntity = workflowEntity; CurrentWorkflowStage = currentWorkflowStage; }
private void LoadAllWorkflowActions() { if (File.Exists("WorkflowActions.xml")) { XElement root = XElement.Load("WorkflowActions.xml"); root.Elements("WorkflowAction").All <XElement>(xe => { WorkflowActions.AddWorkflowActions(Convert.ToInt32(xe.Attribute("id").Value), xe.Attribute("ActionName").Value, xe.Attribute("ObjectName").Value, xe.Attribute("VarName").Value, xe.Attribute("VarValue").Value); return(true); }); } AMAActionableObjects.FixedWorkflowActionCollection = WorkflowActions; }
private void AddAction_Click(object sender, RoutedEventArgs e) { if (WorkflowActions.Count <= 0) { TxtWorkflowActionName.Text = "Action 1"; } else { TxtWorkflowActionName.Text = "Action " + (WorkflowActions.Max(x => x.id) + 1).ToString(); } cmbDeviceSOADate.Text = ""; CmbValueProp.Text = ""; cmbDeviceSOADateValue.Text = ""; GrdType.Visibility = Visibility.Visible; }
public ActionTypeEnum MapEntityActionTypeToDtoActionType(WorkflowActions workflowAction) { switch (workflowAction) { // case WorkflowActions.None: // // return ActionTypeEnum.None; case WorkflowActions.Approve: return ActionTypeEnum.Approved; case WorkflowActions.Reject: return ActionTypeEnum.Rejected; case WorkflowActions.FinalApprove: return ActionTypeEnum.FinalApproved; default: return ActionTypeEnum.Undefined; } }
public void ValidateUserAccess(long approverId, WorkflowActions action) { if (ActorUserId != approverId) throw new WorkFlowException("InvalidAccess"); }
public void UpdateInfo(WorkflowActions workflowAction, long actorUserId, string remark) { WorkflowAction = workflowAction; ActorUserId = actorUserId; Remark = remark; ActionDate = DateTime.Now; Active = false; }
public Func <List <WorkflowAction> > BuildWorkflowActions(Func <WorkflowActionBaseConfig, WorkflowAction> buildAction) { return(() => WorkflowActions.BuildWorkflowActions(buildAction)); }
protected virtual void CreateWorkFlowStep(long entityId, WorkflowEntities actionEntity, WorkflowActions workflowAction, long actorUserId, string remark, long approveWorkFlowConfigId) { // var ent = _approveWorkFlowFactory.CreateApproveFlowLogObject( // entityId, // actionEntity, // DateTime.Now, // workflowAction, // actorUserId, // remark, approveWorkFlowConfigId); // // _workflowLogRepository.Add(ent); // // _unitOfWorkScope.Commit(); }
private ApprovalResult UpdateApproveState(long entityId, WorkflowEntities actionEntity, long approverId, string remark, WorkflowActions currentAction, WorkflowLog currentApprovalWorkFlowLog) { currentApprovalWorkFlowLog.UpdateInfo(currentAction, approverId, remark); _unitOfWorkScope.Commit(); var result = new ApprovalResult { WorkflowAction = currentAction, ActorId = approverId, DecisionType = DecisionTypes.Approved, EntityId = entityId, Entity = actionEntity, Remark = remark }; return result; }
private WorkflowStep GetWorkflowStep(WorkflowStep workflowStep, WorkflowActions action, long approverId) { var result = _workflowRepository.First( c => c.ActorUserId == approverId && c.CurrentWorkflowStage == workflowStep.CurrentWorkflowStage && c.WorkflowEntity == workflowStep.WorkflowEntity && c.State == workflowStep.State && c.WithWorkflowAction == action ); return result; }
internal Workflow(IProject project, XmlElement xmlElement) : base(project, xmlElement) { LoadXml(); Actions = new WorkflowActions(this, Caching.Enabled); }
public Workflow(IProject project, Guid guid) : base(project, guid) { Actions = new WorkflowActions(this, Caching.Enabled); }