/// <summary> /// Add a new prize level /// </summary> /// <param name="model">The prize level model</param> /// <returns></returns> public bool AddPrizeLevel(PrizeLevelModel model) { if ((_prizeLevelList ?? (_prizeLevelList = new List <PrizeLevelModel>())).Count < MaxPrizeLevels) { model.Index = _prizeLevelList.Count; if (ValidationRequest != null) { foreach (var i in ValidationRequest.GetInvocationList()) { model.SetValidator(i as ValidationRequested); } } _prizeLevelList.Add(model); if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs("NumberOfPrizeLevels")); PropertyChanged(this, new PropertyChangedEventArgs("PrizeLevelList")); PropertyChanged(this, new PropertyChangedEventArgs("PrizeLevelList2")); } return(true); } else { return(false); } }
private void PrizeLevelListChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName.Equals("PrizeLevelList")) { PrizeLevelList.Children.Clear(); for (int i = 0; i < _model.NumberOfPrizeLevels; ++i) { var prizeLevelUC = new PrizeLevelUserControl(_model.PrizeLevelList[i]); prizeLevelUC.SetLocalization(_localization.PrizeLevel); prizeLevelUC.GotFocus += FocusPrizeLevel; prizeLevelUC.LostFocus += LostFocusPrizeLevel; prizeLevelUC.CloseButton.IsEnabled = true; if (ValidationRequest != null) { foreach (var validator in ValidationRequest.GetInvocationList()) { prizeLevelUC.SetValidator(validator as ValidationRequested); } } PrizeLevelList.Children.Add(prizeLevelUC); } if (ValidationRequest != null) { ValidationRequest(); } if (PrizeLevelList.Children.Count == 2) { foreach (UIElement currentPL in PrizeLevelList.Children) { (currentPL as PrizeLevelUserControl).CloseButton.IsEnabled = false; } } } }
/// <summary> /// Adds a division to the model /// </summary> /// <param name="model"></param> /// <returns></returns> public bool AddDivision(DivisionModel model) { if ((_divisionList ?? (_divisionList = new List <DivisionModel>())).Count < MaxDivisions) { if (ValidationRequest != null) { foreach (var i in ValidationRequest.GetInvocationList()) { model.SetValidator(i as ValidationRequested); } } _divisionList.Add(model); if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs("DivisionList")); PropertyChanged(this, new PropertyChangedEventArgs("NumberOfDivisions")); } if (ValidationRequest != null) { ValidationRequest(); } return(true); } else { return(false); } }