/// <summary> /// Detects property changes to any Value Driver within this Analytic. /// </summary> private void OnDriverChanged(IReactivePropertyChangedEventArgs <AnalyticValueDriver> args) { if (args.PropertyName == "AreResultsCurrent" || args.PropertyName == "GroupCount") { //Update dependent properties. this.RaisePropertyChanged("ValueDriverModeRows"); } }
private void OnPriceListChanged(IReactivePropertyChangedEventArgs <AnalyticPriceListGroup> args) { var priceListGroup = args.Sender as AnalyticPriceListGroup; if (priceListGroup != null) { priceListGroup.Validate(); } }
private void OnFilterChanged(IReactivePropertyChangedEventArgs <FilterGroup> args) { var filter = args.Sender as FilterGroup; if (filter != null) { filter.Validate(); } }
private void OnValueDriverChanged(IReactivePropertyChangedEventArgs <Display.AnalyticValueDriver> args) { var source = args.Sender as Display.AnalyticValueDriver; if (source != null && args.PropertyName == "RunResults") { this.RaisePropertyChanged("DriversToRunCount"); this.RaisePropertyChanged("AreAllValueDriversSelectedToRun"); } }
/// <summary> /// Occurs when a property changes for any item in the ValueDrivers collection. /// </summary> private object OnValueDriverItemChanged(IReactivePropertyChangedEventArgs <PricingEverydayValueDriver> args) { var driver = args.Sender as PricingEverydayValueDriver; this.RaisePropertyChanged("SelectedNonKeyDrivers"); if (!driver.IsKey) { RecalculateLinkedValueDrivers(driver); } return(driver); }
private void OnFilterGroupChanged(IReactivePropertyChangedEventArgs <FilterGroup> args) { var source = args.Sender as FilterGroup; if (source != null && source.IsDirty) { SelectedFeature.SelectedStep.IsCompleted = false; SelectedFeature.DisableRemainingSteps(); } //Update dependent calculated properties. this.RaisePropertyChanged("ValidationResults"); this.RaisePropertyChanged("IsAnyFilterGroupDirty"); }
/// <summary> /// Updates the FilterChangess Observable sequence whenever a property changes for any filter in this FilterGroup. /// </summary> private void OnFilterChanged(IReactivePropertyChangedEventArgs <Filter> args) { var filter = args.Sender as Filter; if (filter != null) { //Update dependent properties. OnPropertyChanged("AreAllFiltersSelected"); OnPropertyChanged("SelectedCount"); if (filter.IsDirty) { IsDirty = true; } } }
private void OnPriceListChanged(IReactivePropertyChangedEventArgs <PriceList> args) { var priceList = args.Sender as PriceList; if (priceList != null) { //Update dependent properties. OnPropertyChanged("AreAllItemsSelected"); OnPropertyChanged("SelectedCount"); if (priceList.IsDirty) { IsDirty = true; } } }
/// <summary> /// Updates the PriceListChangeObservable sequence whenever the IsSelected property changes for any price list in this PriceListGroup. /// </summary> private void OnPriceListSelectedChanged(IReactivePropertyChangedEventArgs <PricingEverydayPriceList> args) { var priceList = args.Sender as PricingEverydayPriceList; if (priceList != null && args.PropertyName == "IsSelected" && !priceList.IsKey) { _priceListChangeSubject.OnNext(priceList); //Update dependent properties. OnPropertyChanged("AreAllItemsSelected"); OnPropertyChanged("SelectedCount"); } }
/// <summary> /// Detects property changes to any Value Driver Group contained within this Mode. /// </summary> private void OnDriverGroupValuesChanged(IReactivePropertyChangedEventArgs <AnalyticValueDriverGroup> args) { var driverGroup = args.Sender as AnalyticValueDriverGroup; if (driverGroup != null) { if (driverGroup.IsDirty) { IsDirty = true; } this.RaisePropertyChanged(args.PropertyName); if (args.PropertyName == "MinOutlier" || args.PropertyName == "MaxOutlier") { RecalculateEditableGroups(); } } }
/// <summary> /// Detects property changes to any Mode contained within this value driver. /// </summary> private void OnModeChanged(IReactivePropertyChangedEventArgs <AnalyticValueDriverMode> args) { var mode = args.Sender as AnalyticValueDriverMode; if (mode != null) { //A change to any of the following properties invalidates the driver's results. if (args.PropertyName == "MinOutlier" || args.PropertyName == "MaxOutlier" || args.PropertyName == "IsSelected" || args.PropertyName == "GroupCount" || args.PropertyName == "IsDirty") { //Update dependent properties. AreResultsCurrent = false; IsDirty = true; } this.RaisePropertyChanged(args.PropertyName); } }
private void OnDriverChanged(IReactivePropertyChangedEventArgs <AnalyticValueDriver> args) { this.RaisePropertyChanged("IsAnyValueDriverIncluded"); this.RaisePropertyChanged("ValidationResults"); }