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)); }
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); }