Ejemplo n.º 1
0
        public void ConfirmAddition(int solutionPlanStepID, int problemIdeaID, string solutionStepText, int priorityOrder)
        {
            SolutionPlan solution = null;

            if (solutionPlanStepID == -1)
            {
                solution         = new SolutionPlan();
                solution.IsNew   = true;
                solution.IsDirty = false;
                Log.Info(TAG, "ConfirmAddition: Adding a new Solution...");
            }
            else
            {
                solution         = GlobalData.SolutionPlansItems.Find(sol => sol.SolutionPlanID == solutionPlanStepID);
                solution.IsNew   = false;
                solution.IsDirty = true;
            }

            solution.ProblemIdeaID = problemIdeaID;
            solution.SolutionStep  = solutionStepText.Trim();
            solution.PriorityOrder = priorityOrder;
            solution.Save();
            Log.Info(TAG, "ConfirmAddition: Saved solution with ID " + solution.SolutionPlanID);

            if (solutionPlanStepID == -1)
            {
                GlobalData.SolutionPlansItems.Add(solution);
                Log.Info(TAG, "ConfirmAddition: Added item to global cache as it is new!");
            }

            UpdateAdapter();
        }
Ejemplo n.º 2
0
        List <IState> findGoalPath()
        {
            if (domainSolver.canFindPlans)
            {
                domainSolver.Search();
                var plan = domainSolver.getPDDLPlan();

                var          sasPlan = plan.Select(s => s.Replace("(", "").Replace(")", "")).Select(s => (PAD.Planner.IOperator)problem.Operators.Where(op => op.GetName() == s).Single());
                SolutionPlan p       = new SolutionPlan(problem.GetInitialState(), sasPlan);
                return(p.GetStatesSequence().Select(state => (IState)state).ToList());
            }

            goalPathFinder.Start();
            return(goalPathFinder.GetSolutionPlan().GetStatesSequence().Select(state => (IState)state).ToList());
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <SolutionPlanDto> > CreateSolutionPlan(int solutionReviewId, CreateSolutionPlanDto createSolutionPlanDto)
        {
            var solutionPlan = new SolutionPlan
            {
                PriorityOrder  = createSolutionPlanDto.PriorityOrder,
                SolutionReview = _mapper.Map <SolutionReview>(await _unitOfWork.SolutionReviewRepository.GetItemAsync(solutionReviewId)),
                SolutionStep   = createSolutionPlanDto.SolutionStep
            };

            _unitOfWork.SolutionPlanRepository.AddItem(solutionPlan);
            if (await _unitOfWork.Complete())
            {
                return(Ok(_mapper.Map <SolutionPlanDto>(solutionPlan)));
            }

            return(BadRequest("Unable to create Solution Plan"));
        }
Ejemplo n.º 4
0
        private void SolutionStepList_ItemLongClick(object sender, AdapterView.ItemLongClickEventArgs e)
        {
            SolutionPlan solutionStep = null;
            SolutionStepsDialogFragment stepFragment = null;

            Log.Info(TAG, "SolutionStepList_ItemLongClick: selected item - " + e.Position.ToString() + ", problemIdeaID - " + _problemIdeaID.ToString());
            solutionStep = GetSolutionPlanStepsForIdea()[e.Position];
            if (solutionStep != null)
            {
                Log.Info(TAG, "SolutionStepList_ItemLongClick: Found step with ID - " + solutionStep.SolutionPlanID + ", stepText - " + solutionStep.SolutionStep + ", priorityOrder - " + solutionStep.PriorityOrder.ToString());
                stepFragment = new SolutionStepsDialogFragment(this, "Edit Solution Step", _problemIdeaID, solutionStep.SolutionPlanID, solutionStep.SolutionStep.Trim(), solutionStep.PriorityOrder);
            }
            var fragmentTransaction = FragmentManager.BeginTransaction();

            if (fragmentTransaction != null)
            {
                stepFragment.Show(fragmentTransaction, stepFragment.Tag);
            }
        }