public virtual IEnumerable StartTask(PXAdapter adapter) { WZTaskEntry graph = PXGraph.CreateInstance <WZTaskEntry>(); WZTask selectedTask = Tasks.Current; if (selectedTask != null && selectedTask.Status == WizardTaskStatusesAttribute._ACTIVE) { viewTask.Press(); return(adapter.Get()); } if (selectedTask != null && selectedTask.Status == WizardTaskStatusesAttribute._OPEN) { selectedTask.Status = WizardTaskStatusesAttribute._ACTIVE; graph.TaskInfo.Update(selectedTask); graph.Save.Press(); viewTask.Press(); } Tasks.Cache.ClearQueryCache(); Scenario.Cache.ClearQueryCache(); Scenario.Cache.Clear(); Scenario.View.RequestRefresh(); return(adapter.Get()); }
public virtual IEnumerable MarkAsCompleted(PXAdapter adapter) { WZTaskEntry graph = PXGraph.CreateInstance <WZTaskEntry>(); WZTask selectedTask = Tasks.Current; if (selectedTask != null && selectedTask.Status != WizardTaskStatusesAttribute._PENDING && selectedTask.Status != WizardTaskStatusesAttribute._DISABLED) { if (graph.CanTaskBeCompleted(selectedTask)) { selectedTask.Status = WizardTaskStatusesAttribute._COMPLETED; graph.TaskInfo.Update(selectedTask); graph.Save.Press(); if (graph.ScenarioTasksCompleted(selectedTask.ScenarioID)) { PXSiteMap.Provider.Clear(); PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeByScreenID("WZ201505"); throw new PXRedirectToUrlException(node.Url + "?ScenarioID=" + selectedTask.ScenarioID, PXBaseRedirectException.WindowMode.Same, "Refresh SiteMap"); } } else { throw new PXException(Messages.CannotBeCompletedWileOpenTasks); } } Tasks.Cache.ClearQueryCache(); Scenario.Cache.ClearQueryCache(); Scenario.Cache.Clear(); Scenario.View.RequestRefresh(); return(adapter.Get()); }
public virtual IEnumerable GoToScreen(PXAdapter adapter) { WZTask task = PXSelect <WZTask, Where <WZTask.taskID, Equal <Current <WZTask.taskID> > > > .Select(this); if (task == null) { return(adapter.Get()); } if (task.ScreenID != null) { PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNodeByScreenID(task.ScreenID); if (task.ImportScenarioID != null) { SYMappingActive importScenario = PXSelect <SYMappingActive, Where <SYMappingActive.mappingID, Equal <Required <SYMapping.mappingID> > > > .Select(this, task.ImportScenarioID); if (importScenario != null) { SYImportProcessSingle importGraph = CreateInstance <SYImportProcessSingle>(); importGraph.MappingsSingle.Current = (SYMappingActive)importScenario; throw new PXRedirectRequiredException(importGraph, true, task.Name); } } else { if (node.GraphType != null) { Type t = GraphHelper.GetType(node.GraphType); if (t == typeof(FeaturesMaint)) { FeaturesMaint featuresMaint = PXGraph.CreateInstance <FeaturesMaint>(); featuresMaint.Features.Current = featuresMaint.Features.Select(); featuresMaint.ActivationBehaviour.Cache.SetValueExt <AfterActivation.refresh>(featuresMaint.ActivationBehaviour.Current, false); PXRedirectHelper.TryRedirect(featuresMaint, PXRedirectHelper.WindowMode.InlineWindow); } PXGraph tgraph = CreateInstance(t); throw new PXRedirectRequiredException(tgraph, true, task.Name) { Mode = PXBaseRedirectException.WindowMode.NewWindow }; } throw new PXRedirectToUrlException(node.Url, PXBaseRedirectException.WindowMode.NewWindow, task.Name); } } return(adapter.Get()); }
protected virtual void WZTask_RowSelected(PXCache sender, PXRowSelectedEventArgs e) { WZTask row = e.Row as WZTask; if (row == null) { return; } if (this.Actions.Contains("CancelClose")) { this.Actions["CancelClose"].SetTooltip(Messages.BackToScenario); } PXUIFieldAttribute.SetEnabled <WZTask.details>(Tasks.Cache, row, false); PXUIFieldAttribute.SetEnabled <WZTask.assignedTo>(Tasks.Cache, row, false); bool canBeComplete = row.Status == WizardTaskStatusesAttribute._ACTIVE || row.Status == WizardTaskStatusesAttribute._OPEN; bool canBeReopened = row.Status == WizardTaskStatusesAttribute._COMPLETED; markAsComplete.SetEnabled(canBeComplete); skip.SetVisible(false); if (row.IsOptional == true) { skip.SetVisible(true); skip.SetEnabled(!(row.Status == WizardTaskStatusesAttribute._SKIPPED || row.Status == WizardTaskStatusesAttribute._COMPLETED)); } startTask.SetEnabled(row.Status == WizardTaskStatusesAttribute._OPEN); SubTasks.AllowUpdate = false; Predecessors.AllowUpdate = false; Successors.AllowUpdate = false; var predecessors = Predecessors.Select(); var successors = Successors.Select(); var subTasks = SubTasks.Select(); if (predecessors.Count == 0) { Predecessors.Cache.AllowSelect = false; } if (successors.Count == 0) { Successors.Cache.AllowSelect = false; } if (subTasks.Count == 0) { SubTasks.Cache.AllowSelect = false; } goToScreen.SetVisible(row.ScreenID != null); }
public virtual IEnumerable ViewSubTask(PXAdapter adapter) { WZTask task = SubTasks.Current; if (task == null) { return(adapter.Get()); } PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNode(typeof(WizardArticleMaint)); throw new PXRedirectToUrlException(node.Url + "?TaskID=" + task.TaskID, PXBaseRedirectException.WindowMode.InlineWindow, task.Name); }
public virtual IEnumerable ViewTask(PXAdapter adapter) { WZTask task = PXSelect <WZTask, Where <WZTask.taskID, Equal <Current <WZTask.taskID> > > > .Select(this); if (task == null) { return(adapter.Get()); } PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNode(typeof(WizardArticleMaint)); if (node == null) { throw new PXException(Messages.NoAccessRightsToWizardArticle); } throw new PXRedirectToUrlException(node.Url + "?TaskID=" + task.TaskID, PXBaseRedirectException.WindowMode.InlineWindow, task.Name); }
public virtual IEnumerable StartTask(PXAdapter adapter) { WZTask task = Tasks.Current; WZTaskEntry taskGraph = PXGraph.CreateInstance <WZTaskEntry>(); if (task != null && task.Status == WizardTaskStatusesAttribute._OPEN) { task.Status = WizardTaskStatusesAttribute._ACTIVE; taskGraph.TaskInfo.Update(task); taskGraph.Save.Press(); Tasks.Cache.Clear(); Tasks.Cache.ClearQueryCache(); } return(adapter.Get()); }
public virtual IEnumerable Skip(PXAdapter adapter) { WZTaskEntry graph = PXGraph.CreateInstance <WZTaskEntry>(); WZTask selectedTask = Tasks.Current; if (selectedTask != null && selectedTask.IsOptional == true) { selectedTask.Status = WizardTaskStatusesAttribute._SKIPPED; graph.TaskInfo.Update(selectedTask); graph.Save.Press(); } Tasks.Cache.ClearQueryCache(); Scenario.Cache.ClearQueryCache(); Scenario.Cache.Clear(); Scenario.View.RequestRefresh(); return(adapter.Get()); }
public virtual IEnumerable SkipSubtask(PXAdapter adapter) { WZTask task = SubTasks.Current; WZTaskEntry taskGraph = PXGraph.CreateInstance <WZTaskEntry>(); if (task != null && (task.Status == WizardTaskStatusesAttribute._OPEN || task.Status == WizardTaskStatusesAttribute._PENDING || task.Status == WizardTaskStatusesAttribute._ACTIVE) && task.IsOptional == true) { task.Status = WizardTaskStatusesAttribute._SKIPPED; taskGraph.TaskInfo.Update(task); taskGraph.Actions.PressSave(); Tasks.Cache.Clear(); Tasks.Cache.ClearQueryCache(); } return(adapter.Get()); }
public virtual IEnumerable Reopen(PXAdapter adapter) { WZTaskEntry graph = PXGraph.CreateInstance <WZTaskEntry>(); WZTask selectedTask = Tasks.Current; if (selectedTask != null && (selectedTask.Status == WizardTaskStatusesAttribute._COMPLETED || selectedTask.Status == WizardTaskStatusesAttribute._SKIPPED)) { selectedTask.Status = WizardTaskStatusesAttribute._OPEN; graph.TaskInfo.Update(selectedTask); graph.Save.Press(); } Tasks.Cache.ClearQueryCacheObsolete(); Scenario.Cache.ClearQueryCacheObsolete(); Scenario.Cache.Clear(); Scenario.View.RequestRefresh(); return(adapter.Get()); }
public virtual IEnumerable ViewPredecessorTask(PXAdapter adapter) { WZTaskPredecessorRelation relation = Predecessors.Current; if (relation == null) { return(adapter.Get()); } WZTask task = PXSelect <WZTask, Where <WZTask.taskID, Equal <Required <WZTask.taskID> > > > .Select(this, relation.PredecessorID); if (task == null) { return(adapter.Get()); } PXSiteMapNode node = PXSiteMap.Provider.FindSiteMapNode(typeof(WizardArticleMaint)); throw new PXRedirectToUrlException(node.Url + "?TaskID=" + task.TaskID, PXBaseRedirectException.WindowMode.InlineWindow, task.Name); }
public virtual IEnumerable Assign(PXAdapter adapter) { if (CurrentTask.AskExt(true) == WebDialogResult.OK) { if (CurrentTask.Current.AssignedTo != null) { WZTaskEntry taskGraph = PXGraph.CreateInstance <WZTaskEntry>(); WZTask task = Tasks.Current as WZTask; if (task != null) { task.AssignedTo = CurrentTask.Current.AssignedTo; taskGraph.TaskInfo.Update(task); taskGraph.Actions.PressSave(); } } Tasks.Cache.ClearQueryCache(); } return(adapter.Get()); }
public virtual IEnumerable Assign(PXAdapter adapter) { if (CurrentTask.AskExtRequired()) { if (CurrentTask.Current.AssignedTo != null) { WZTaskEntry taskGraph = PXGraph.CreateInstance <WZTaskEntry>(); WZTask task = PXSelect <WZTask, Where <WZTask.taskID, Equal <Required <WZTask.taskID> > > > .Select(this, CurrentTask.Current.TaskID); if (task != null) { WZTask taskCopy = (WZTask)taskGraph.TaskInfo.Cache.CreateCopy(task); taskCopy.AssignedTo = CurrentTask.Current.AssignedTo; taskGraph.TaskInfo.Update(taskCopy); taskGraph.TaskInfo.Current = task; taskGraph.Scenario.Current = Scenario.Current; if (CurrentTask.Current.OverrideAssignee == true) { foreach (WZTask subTask in taskGraph.Childs.Select()) { WZTask subTaskCopy = (WZTask)taskGraph.TaskInfo.Cache.CreateCopy(subTask); subTaskCopy.AssignedTo = CurrentTask.Current.AssignedTo; taskGraph.TaskInfo.Update(subTaskCopy); } } taskGraph.Save.Press(); this.CurrentTask.Cache.IsDirty = false; } } Tasks.Cache.ClearQueryCache(); CurrentTask.Cache.SetDefaultExt <WZTaskAssign.overrideAssignee>(CurrentTask.Current); CurrentTask.Cache.ClearQueryCache(); CurrentTask.View.RequestRefresh(); } return(adapter.Get()); }
public virtual IEnumerable MarkAsComplete(PXAdapter adapter) { WZTaskEntry graph = PXGraph.CreateInstance <WZTaskEntry>(); WZTask selectedTask = Tasks.Current; if (selectedTask != null && selectedTask.Status != WizardTaskStatusesAttribute._PENDING && selectedTask.Status != WizardTaskStatusesAttribute._DISABLED) { if (graph.CanTaskBeCompleted(selectedTask)) { selectedTask.Status = WizardTaskStatusesAttribute._COMPLETED; graph.TaskInfo.Update(selectedTask); graph.Save.Press(); } else { throw new PXException(Messages.CannotBeCompletedWileOpenTasks); } } Tasks.Cache.ClearQueryCache(); return(adapter.Get()); }