示例#1
0
        private List <PlanList> GetItems()
        {
            var TheTable = DB.conn.Table <Plan>().OrderBy(x => x.DatePerformed).ToList();

            if (TheTable.Count != 0)
            {
                var start          = TheTable.First().DatePerformed;
                var end            = TheTable.Last().DatePerformed;
                var ListOfPlanList = new List <PlanList>();

                for (var currWeek = getWeek(start); currWeek <= getWeek(end); currWeek = currWeek.AddDays(7))
                {
                    var currWeekList = new PlanList {
                        FirstDayOfWeek = currWeek
                    };
                    foreach (var plan in TheTable.Where(x => x.DatePerformed >= currWeek && x.DatePerformed < currWeek.AddDays(7)))
                    {
                        currWeekList.Add(plan);
                    }

                    if (currWeekList.Count > 0)
                    {
                        ListOfPlanList.Add(currWeekList);
                    }
                }

                return(ListOfPlanList);
            }
            else
            {
                return(new List <PlanList>());
            }
        }
示例#2
0
        public void AddNewPlanOfDay()
        {
            Plan tempPlan = new Plan();

            tempPlan.ChefKok   = insertPlan.ChefKok;
            tempPlan.Help1     = insertPlan.Help1;
            tempPlan.Help2     = insertPlan.Help2;
            tempPlan.Help3     = insertPlan.Help3;
            tempPlan.ExtraHelp = insertPlan.ExtraHelp;
            tempPlan.Clean1    = insertPlan.Clean1;
            tempPlan.Clean2    = insertPlan.Clean2;
            tempPlan.Clean3    = insertPlan.Clean3;
            tempPlan.Clean4    = insertPlan.Clean4;
            tempPlan.Menu      = insertPlan.Menu;

            PlanList.Add(tempPlan);
        }
    private void CreatePlans(Goal g, GameObject target, Precondition successCondition, PlanList plans, Plan p, List <Action> ignoreList)
    {
        List <Action> satisfyingActions = actionDirectory.FindActionsSatisfyingGoalCondition(target, successCondition);

        RemovePreviouslyFailedActions(satisfyingActions, currentGoal.FailedActions);
        foreach (Action action in satisfyingActions)
        {
            Plan newPlan = new Plan(p);
            newPlan.AddAction(action);
            if (!action.HasPrecondition() || action.IsPreconditionSatisfied())
            {
                plans.Add(newPlan);
            }
            else
            {
                CreatePlans(g, target, action.Precondition, plans, newPlan, ignoreList);
            }
        }
    }
示例#4
0
        public void OnOKCommand()
        {
            if (!editingPlanEntity.AccomplishDate.HasValue && editingPlanEntity.Score.HasValue)
            {
                Message.ErrorMessage("未设置完成时间!");
                return;
            }
            else if (editingPlanEntity.AccomplishDate.HasValue && !editingPlanEntity.Score.HasValue)
            {
                Message.ErrorMessage("未设置分数!");
                return;
            }

            if (editingPlanEntity.Score.HasValue && editingPlanEntity.Score.Value.CompareTo(editingPlanEntity.Weight) > 0)
            {
                Message.ErrorMessage("实际得分大于权重分值!");
                return;
            }

            do
            {
                if (null != uneditedPlanEntity && uneditedPlanEntity.SequenceId == editingPlanEntity.SequenceId)
                {
                    break;
                }

                foreach (PlanEntity item in PlanList)
                {
                    if (null != uneditedPlanEntity && uneditedPlanEntity == item)
                    {
                        continue;
                    }

                    if (editingPlanEntity.SequenceId == item.SequenceId)
                    {
                        editingPlanEntity.SequenceId = (null != uneditedPlanEntity && null != uneditedPlanEntity.SequenceId) ? uneditedPlanEntity.SequenceId : GetNewSequenceId(editingPlanEntity.SequenceId);
                        Message.ErrorMessage("序列号重复!");
                        return;
                    }
                }
            } while (false);

            string getDepartmentName = string.Empty;

            if (DepartmentIdNameDictionary.TryGetValue(editingPlanEntity.DepartmentId, out getDepartmentName))
            {
                editingPlanEntity.DepartmentName = getDepartmentName;
            }
            editingPlanEntity.SheetName = this.Title;
            if (PlanList.Count > 0)
            {
                editingPlanEntity.ManufactureNumber = PlanList[0].ManufactureNumber;
            }
            //editingPlanEntity.DUpdate();
            if (null == uneditedPlanEntity)
            {
                PlanList.Add(editingPlanEntity);
            }
            else
            {
                for (int pos = 0; pos < PlanList.Count; ++pos)
                {
                    PlanEntity item = PlanList[pos];
                    if (item.ManufactureNumber == uneditedPlanEntity.ManufactureNumber &&
                        item.VersionId == uneditedPlanEntity.VersionId &&
                        item.SequenceId == uneditedPlanEntity.SequenceId)
                    {
                        CopyPlanEntity(editingPlanEntity, ref item);
                        break;
                    }
                }
            }

            IsEditing          = false;
            EditingPlanEntity  = new PlanEntity();
            uneditedPlanEntity = null;
            OnSelectionChangedCommand();
            UpdateChanged("EditingOriginalName");
        }
示例#5
0
 public void AddItem(RLMPlan item)
 {
     PlanList.Add(item);
 }