public static PricingEveryday GetSamplePricingEveryday(int id) { var result = new PricingEveryday { Id = id + 1 }; result.Identity = GetPricingIdentity(_pricingEverydayNames[id], _ownerNames[id]); var filterGroups = MockFilterGenerator.GetFilterGroupsComplete(); result.FilterGroups = new ReactiveList <FilterGroup>(filterGroups); //Price lists result.PricingModes = GetPricingModes(); foreach (PricingMode mode in result.PricingModes) { result.PriceListGroups = GetEverydayPriceListGroups(mode); } result.KeyPriceListRule = new PricingKeyPriceListRule { DollarRangeLower = 10.25M, DollarRangeUpper = 115.00M, RoundingRules = GetRoundingRules() }; result.LinkedPriceListRules = GetLinkedPriceListRules(result); var drivers = GetEverydayValueDrivers(); result.ValueDrivers = new ReactiveList <PricingEverydayValueDriver>(drivers); //Value drivers PricingEverydayValueDriver keyDriver = result.ValueDrivers.FirstOrDefault(driver => driver.IsKey); if (keyDriver != null) { PricingEverydayKeyValueDriver key = GetEverydayKeyValueDriver(keyDriver); result.KeyValueDriver = key; } var selectedNonKey = result.ValueDrivers.Where(driver => !driver.IsKey && driver.IsSelected); var linkedDrivers = GetEverydayLinkedValueDrivers(selectedNonKey); result.LinkedValueDrivers = new ObservableCollection <PricingEverydayLinkedValueDriver>(linkedDrivers); //Results result.Results = GetEverydayResults(); //Select default item for display purposes. result.SelectedFilterGroup = result.FilterGroups.FirstOrDefault(); return(result); }
private static PricingEverydayKeyValueDriver GetEverydayKeyValueDriver(PricingEverydayValueDriver sourceDriver) { var keyDriver = new PricingEverydayKeyValueDriver { ValueDriverId = sourceDriver.Id }; foreach (PricingValueDriverGroup group in sourceDriver.Groups) { var keyDriverGroup = new PricingEverydayKeyValueDriverGroup { ValueDriverGroupId = group.Id, ValueDriverGroupValue = group.Value }; keyDriverGroup.OptimizationRules = GetPriceOptimizationRules(); keyDriverGroup.MarkupRules = GetMarkupRules(); keyDriver.Groups.Add(keyDriverGroup); } return(keyDriver); }