Ejemplo n.º 1
0
        public static List <AnalyticsWorkflowState> UpdateStates(List <AnalyticsWorkflowState> workflowState)
        {
            //get current state
            var preCurrentState = CurrentState;

            //Updating next workflow state
            if (workflowState.Count == 1)
            {
                if (workflowState[0].Name == State.TrainingSet)
                {
                    workflowState[0].CreateStatus = Status.Completed;
                    workflowState[0].IsCurrent    = true;
                }
                if (workflowState[0].ReviewStatus == Status.NotStarted)
                {
                    ChangeToState = workflowState[0];
                }
            }
            //else if (TrainingSet.ReviewStatus == Status.NotStarted)
            //{
            //    ChangeToState = new State();
            //}

            ProjectSetup = workflowState.Find(p => p.Name == State.ProjectSetup) ?? ProjectSetup;
            ControlSet   = workflowState.Find(p => p.Name == State.ControlSet) ?? ControlSet;
            TrainingSet  = workflowState.Find(p => p.Name == State.TrainingSet) ?? TrainingSet;
            PredictSet   = workflowState.Find(p => p.Name == State.PredictSet) ?? PredictSet;
            QcSet        = workflowState.Find(p => p.Name == State.QcSet) ?? QcSet;
            Done         = workflowState.Find(p => p.Name == State.Done) ?? Done;

            ProjectSetup.Order = 1;
            ControlSet.Order   = 2;
            TrainingSet.Order  = 3;
            PredictSet.Order   = 4;
            QcSet.Order        = 5;
            Done.Order         = 6;


            WorkflowState[0] = ProjectSetup;
            WorkflowState[1] = ControlSet;
            WorkflowState[2] = TrainingSet;
            WorkflowState[3] = PredictSet;
            WorkflowState[4] = QcSet;
            WorkflowState[5] = Done;

            AnalyticsWorkflowState postCurrentState = CurrentState;

            if (preCurrentState != null && postCurrentState == null)
            {
                SetCurrentState();
            }

            FireWorkflowStateChangedEvent();

            return(WorkflowState);
        }
Ejemplo n.º 2
0
 private static void SetCurrentState()
 {
     for (int i = WorkflowState.Count - 1; i >= 0; i--)
     {
         AnalyticsWorkflowState state = WorkflowState[i];
         if (state.CreateStatus != Status.NotStarted)
         {
             state.IsCurrent = true;
             break;
         }
     }
 }
Ejemplo n.º 3
0
        public static AnalyticsWorkflowState UpdateState(State name, Status createStatus, Status reviewStatus, bool isCurrent)
        {
            if (isCurrent) //if setting new state to current, all other states should not be current
            {
                foreach (var state in WorkflowState)
                {
                    state.IsCurrent = false;
                }
            }

            AnalyticsWorkflowState updatedState = WorkflowState.Find(p => p.Name == name);

            updatedState.CreateStatus = createStatus;
            updatedState.ReviewStatus = reviewStatus;
            updatedState.IsCurrent    = isCurrent;

            FireWorkflowStateChangedEvent();

            return(updatedState);
        }
        public static List<AnalyticsWorkflowState> UpdateStates(List<AnalyticsWorkflowState> workflowState)
        {
            //get current state
            var preCurrentState = CurrentState;

            //Updating next workflow state
            if (workflowState.Count == 1)
            {
                if (workflowState[0].Name == State.TrainingSet)
                {
                    workflowState[0].CreateStatus = Status.Completed;
                    workflowState[0].IsCurrent = true;
                }
                if (workflowState[0].ReviewStatus == Status.NotStarted)
                {
                    ChangeToState = workflowState[0];   
                }
            }
            //else if (TrainingSet.ReviewStatus == Status.NotStarted)
            //{
            //    ChangeToState = new State();
            //}

            ProjectSetup = workflowState.Find(p => p.Name == State.ProjectSetup) ?? ProjectSetup;
            ControlSet = workflowState.Find(p => p.Name == State.ControlSet) ?? ControlSet;
            TrainingSet = workflowState.Find(p => p.Name == State.TrainingSet) ?? TrainingSet;
            PredictSet = workflowState.Find(p => p.Name == State.PredictSet) ?? PredictSet;
            QcSet = workflowState.Find(p => p.Name == State.QcSet) ?? QcSet;
            Done = workflowState.Find(p => p.Name == State.Done) ?? Done;
            
            ProjectSetup.Order=1;
            ControlSet.Order = 2;
            TrainingSet.Order = 3;
            PredictSet.Order = 4;
            QcSet.Order = 5;
            Done.Order = 6;
            

            WorkflowState[0] = ProjectSetup;
            WorkflowState[1] = ControlSet;
            WorkflowState[2] = TrainingSet;
            WorkflowState[3] = PredictSet;
            WorkflowState[4] = QcSet;
            WorkflowState[5] = Done;

            AnalyticsWorkflowState postCurrentState = CurrentState;

            if (preCurrentState != null && postCurrentState == null)
            {
                SetCurrentState();
            }

            FireWorkflowStateChangedEvent();

            return WorkflowState;
        }