protected override bool Validate()
        {
            var res = true;

            ValidationDetails.Clear();
            if (Prioritet < 1)
            {
                res = false;
                ValidationDetails.Add("Приоритет процесса должен быть больше 0");
            }

            if (Stages.Count < 3)
            {
                res = false;
                ValidationDetails.Add("Количество этапов должно быть 3 или больше");
            }

            foreach (var stage in Stages)
            {
                if (!stage.IsValid)
                {
                    res = false;
                    foreach (var det in stage.ValidationDetails)
                    {
                        ValidationDetails.Add($"Стадия[{Stages.IndexOf(stage)}]: {det}");
                    }
                }
            }

            return(res);
        }
        void RemoveStage(object parameter)
        {
            var stage = (StageViewModel)parameter;
            var index = Stages.IndexOf(stage);

            Stages.Remove(stage);
            Stages.RemoveAt(Math.Min(index, Stages.Count - 1));
        }
예제 #3
0
        public void BuildStageList(QuestStageDetailsViewModel stage)
        {
            if (stage == null)
            {
                return;
            }

            var item     = Stages.FirstOrDefault(x => x.Stages.Contains(stage));
            var index    = Stages.IndexOf(item) + 1;
            var endIndex = Stages.Count - 1;

            for (int i = index; i <= endIndex; i++)
            {
                Stages.RemoveAt(index);
            }

            BuildStages(stage);
        }