/// <summary> /// Creates a copy of an <see cref="AnalyticValueDriverMode"/>. /// </summary> public static AnalyticValueDriverMode Copy(this AnalyticValueDriverMode source) { var copy = new AnalyticValueDriverMode(); copy.Key = source.Key; copy.Name = source.Name; copy.Title = source.Title; copy.Sort = source.Sort; copy.IsSelected = source.IsSelected; foreach (AnalyticValueDriverGroup driverGroup in source.Groups) { AnalyticValueDriverGroup driverGroupCopy = driverGroup.Copy(); copy.Groups.Add(driverGroupCopy); } return(copy); }
private void OnSelectedDriverModeChanged(AnalyticValueDriverMode mode) { this.RaisePropertyChanged("IsValueDriverModeSelected"); this.RaisePropertyChanged("IsDriverInUserEntryMode"); }
private static List <AnalyticValueDriver> GetAnalyticDrivers() { var result = new List <AnalyticValueDriver>(); string[] driverNames = { "Markup", "Movement", "Days On Hand" }; AnalyticValueDriver driver; for (int driverIndex = 0; driverIndex < driverNames.Length; driverIndex++) { var analyticResults = GetAnalyticResults(driverNames[driverIndex]); AnalyticValueDriverGroup group; driver = new AnalyticValueDriver { Id = driverIndex + 21, Name = driverNames[driverIndex], Sort = (short)driverIndex, Results = analyticResults }; //Auto generated var mode = new AnalyticValueDriverMode { Name = "Auto Generated groups", Key = 29, Sort = 0, IsSelected = true }; int minOutlier = 0; for (int groupIndex = 1; groupIndex <= 3; groupIndex++) { minOutlier += 1; group = new AnalyticValueDriverGroup { Id = groupIndex, Value = (short)groupIndex, MinOutlier = minOutlier, MaxOutlier = minOutlier + 1, Sort = (short)groupIndex }; mode.Groups.Add(group); } driver.Modes.Add(mode); //User defined mode = new AnalyticValueDriverMode { Name = "User defined groups", Key = 30, Sort = 1, IsSelected = false }; minOutlier = 0; for (int groupIndex = 1; groupIndex <= 5; groupIndex++) { minOutlier += 1; group = new AnalyticValueDriverGroup { Id = groupIndex, Value = (short)groupIndex, MinOutlier = minOutlier, MaxOutlier = minOutlier + 1, Sort = (short)groupIndex }; mode.Groups.Add(group); } driver.Modes.Add(mode); //Simulate mode and driver selections. driver.SelectedMode = driver.Modes[driverIndex % 2]; driver.IsSelected = (driverIndex % 2 == 0); result.Add(driver); } //Add in disabled "teaser" drivers for demo only. driver = new AnalyticValueDriver { Id = 97, Key = 37, Name = "Days Lead Time", IsDisplayOnly = true, Sort = 5 }; result.Add(driver); driver = new AnalyticValueDriver { Id = 99, Key = 38, Name = "In Stock Ratio", IsDisplayOnly = true, Sort = 6 }; result.Add(driver); driver = new AnalyticValueDriver { Id = 99, Key = 39, Name = "Trend", IsDisplayOnly = true, Sort = 7 }; result.Add(driver); return(result); }