public static Analytic GetSampleAnalytic(int id)
        {
            var result = new Analytic();

            result.Id = id + 1;
            string name = _analyticNames[id];

            result.Identity.Name        = name;
            result.Identity.Description = String.Format("Sample description for {0}", name);
            result.Identity.Notes       = String.Format("Here are are some sample notes that were entered for this item (\"{0}\").", name);
            result.Identity.IsActive    = true;
            result.Identity.Shared      = false;

            result.Identity.Created   = DateTime.Now.AddDays(-10);
            result.Identity.Edited    = DateTime.Now.AddDays(-2);
            result.Identity.Refreshed = DateTime.Now;

            result.Identity.Owner  = _ownerNames[id];
            result.Identity.Author = _ownerNames[id];
            result.Identity.Editor = _ownerNames[id];

            var filterGroups = MockFilterGenerator.GetFilterGroupsComplete();

            result.FilterGroups = new ReactiveList <FilterGroup>(filterGroups);

            var priceListGroups = GetAnalyticPriceListGroups();

            result.PriceListGroups = new ReactiveList <AnalyticPriceListGroup>(priceListGroups);
            result.ValueDrivers    = new ReactiveList <AnalyticValueDriver>(GetAnalyticDrivers());

            //Default for display purposes.
            result.SelectedFilterGroup = result.FilterGroups.FirstOrDefault();

            return(result);
        }
        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);
        }
        public static List <DisplayEntities.Analytic> GetSampleAnalytics()
        {
            var list = new List <DisplayEntities.Analytic>();

            Analytic entity = new Analytic {
                Id = 1, SearchGroupKey = "FoldersAnalytics76"
            };

            entity.Identity = new AnalyticIdentity {
                Name = "Admin - Everyday - All Filters - Movement Only", Description = "Admin - Everyday - All Filters - Movement Only"
            };
            list.Add(entity);

            entity = new Analytic {
                Id = 2, SearchGroupKey = "FoldersAnalytics76"
            };
            entity.Identity = new AnalyticIdentity {
                Name = "Admin - Everyday - Movement & Markup", Description = "Admin - Everyday - Movement &Markup"
            };
            list.Add(entity);

            entity = new Analytic {
                Id = 3, SearchGroupKey = "FoldersAnalytics76"
            };
            entity.Identity = new AnalyticIdentity {
                Name = "Admin - Everyday - Movement & Days On Hand", Description = "Admin - Everyday - Movement &Days On Hand"
            };
            list.Add(entity);

            entity = new Analytic {
                Id = 6, SearchGroupKey = "FoldersAnalytics75"
            };
            entity.Identity = new AnalyticIdentity {
                Name = "Admin - Everyday - Movement with Manual Groups", Description = "Admin - Everyday - Movement with Manual Groups"
            };
            list.Add(entity);

            entity = new Analytic {
                Id = 8, SearchGroupKey = "FoldersAnalytics74"
            };
            entity.Identity = new AnalyticIdentity {
                Name = "Admin - Movement, Markup, & DOH w/Manual Groups", Description = "Admin - Movement, Markup, & DOH with Manual Groups"
            };
            list.Add(entity);

            entity = new Analytic {
                Id = 9, SearchGroupKey = "FoldersAnalytics73"
            };
            entity.Identity = new AnalyticIdentity {
                Name = "Admin - Movement, MarkUp, & DOH w/Custom - 1 prod", Description = "All value drivers with Custom groups - with only 1 intersection "
            };
            list.Add(entity);

            //Note: the following entities, which already tagged to a user folder, are also tagged to the Recent folder.
            entity = new Analytic {
                Id = 1, SearchGroupKey = "RecentAnalytics"
            };
            entity.Identity = new AnalyticIdentity {
                Name = "Admin - Everyday - All Filters - Movement Only", Description = "Admin - Everyday - All Filters - Movement Only"
            };
            list.Add(entity);

            entity = new Analytic {
                Id = 8, SearchGroupKey = "RecentAnalytics"
            };
            entity.Identity = new AnalyticIdentity {
                Name = "Admin - Movement, Markup, & DOH w/Manual Groups", Description = "Admin - Movement, Markup, & DOH with Manual Groups"
            };
            list.Add(entity);

            entity = new Analytic {
                Id = 9, SearchGroupKey = "RecentAnalytics"
            };
            entity.Identity = new AnalyticIdentity {
                Name = "Admin - Movement, MarkUp, & DOH w/Custom - 1 prod", Description = "All value drivers with Custom groups - with only 1 intersection "
            };
            list.Add(entity);

            foreach (DisplayEntities.Analytic analytic in list)
            {
                analytic.Identity.IsActive = true;
                analytic.Identity.Owner    = "Admin User";
                analytic.Identity.Editor   = "APL Administrator";
                analytic.Identity.Author   = "APL Administrator";
                analytic.Identity.Notes    = "Optional notes...";

                var filterGroups = MockFilterGenerator.GetFilterGroupsComplete();
                analytic.FilterGroups = new ReactiveList <FilterGroup>(filterGroups);

                var priceListGroups = GetAnalyticPriceListGroups();
                analytic.PriceListGroups = new ReactiveList <AnalyticPriceListGroup>(priceListGroups);
                analytic.ValueDrivers    = new ReactiveList <AnalyticValueDriver>(GetAnalyticDrivers());
            }

            return(list);
        }