public EliminationPhaseViewVm(IPhase phase) { if (!(phase.GameStepList.First() is IEliminationStep firsStep)) { throw new NotSupportedException(); } EliminationStepList = new ObservableCollection <EliminationStepView>(); var countGameStep = EliminationStep.CountStep(firsStep.Type); for (var i = 0; i < countGameStep; i++) { EliminationStepList.Add(null); } for (var i = 0; i < phase.GameStepList.Count; i++) { var temp = phase.GameStepList[i] as EliminationStep; EliminationStepList[EliminationStep.IndexStep(temp.Type)] = new EliminationStepView(temp, i == 0, i + 1 == countGameStep); } phase.NextStepStarted += (sender, step) => { var temp = step as EliminationStep; var i = EliminationStep.IndexStep(temp.Type); EliminationStepList[i] = new EliminationStepView(temp, i + 1 == countGameStep, i == 0); }; }
public EliminationStepViewVm(EliminationStep step, bool isFirstEliminationStep, bool isLastEliminationStep) { MatchList = new List <EliminationMatchConteneurVm>(); foreach (var match in step.MatchList) { MatchList.Add(new EliminationMatchConteneurVm(match, isFirstEliminationStep, isLastEliminationStep)); } Count = MatchList.Count; }
public EliminationStepView(EliminationStep step, bool isFirstEliminationStep, bool isLastEliminationStep) { InitializeComponent(); DataContext = new EliminationStepViewVm(step, isFirstEliminationStep, isLastEliminationStep); }
public IGameStep GetByPk(object pk) { return((IGameStep)EliminationStep.GetByPk(pk) ?? QualificationStep.GetByPk(pk)); }