Example #1
0
        public static List <ExperienceStrategy> GetExperienceStrategies(int experienceID)
        {
            List <ExperienceStrategy> strategies = new List <ExperienceStrategy>();

            try
            {
                using (_certonaService = new CertonaServiceClient())
                {
                    try
                    {
                        UserDTO user    = FormsAuthenticationWrapper.User;
                        var     request = new GetExperienceVariantsRequest()
                        {
                            User = user, ExperienceID = experienceID
                        };
                        var response = _certonaService.GetExperienceVariants(request);

                        if (response.Success && response.Variants != null)
                        {
                            strategies.AddRange(response.Variants.Select(x => new ExperienceStrategy()
                            {
                                StrategyID              = x.StrategyID,
                                Catalog                 = x.Catalog,
                                CatalogImage            = x.CatalogImage,
                                Name                    = x.Name,
                                Impressions             = x.Impressions,
                                PersonalizationType     = x.PersonalizationType,
                                Priority                = x.Priority,
                                Rules                   = x.Rules.HasValue ? (x.Rules.Value ? "Y" : null) : null,
                                Status                  = x.Status,
                                NumberOfItems           = x.NumberOfItems,
                                MinItemsReturned        = x.MinItemsReturned,
                                BreakOnMinItemsReturned = x.BreakOnMinItemsReturned
                            }).ToList());
                        }
                    }
                    catch (TimeoutException exception)
                    {
                        _certonaService.Abort();
                        throw;
                    }
                    catch (CommunicationException exception)
                    {
                        _certonaService.Abort();
                        throw;
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            return(strategies);
        }