Exemplo n.º 1
0
        public ProductsReturn GetCatalogCampaignProducts(string campaignUri, UserSelectedContext context, SearchInputModel model, UserProfile profile)
        {
            CatalogCampaignReturnModel campaign = _campaignLogic.GetCampaignByUri(campaignUri);

            ProductsReturn products = null;
            var            items    = campaign?.Items?.Select(x => x.ItemNumber).ToList();

            if (items != null)
            {
                products = _catalogLogic.GetProductsByItemNumbers(context, items, model, profile);
            }

            return(products);
        }
Exemplo n.º 2
0
        public static CatalogCampaignReturnModel ToModel(this CatalogCampaignHeader from, string imageBaseUrl)
        {
            CatalogCampaignReturnModel to = new CatalogCampaignReturnModel();

            to.Id          = from.Id;
            to.Uri         = from.Uri;
            to.Description = from.Description;
            to.Active      = from.Active;
            to.StartDate   = from.StartDate;
            to.EndDate     = from.EndDate;
            to.Name        = from.Name;
            to.HasFilter   = from.HasFilter;
            to.LinkToUrl   = from.LinkToUrl;

            if (!string.IsNullOrEmpty(imageBaseUrl))
            {
                to.ImageDesktop = string.Format("{0}/{1}_desktop.jpg", imageBaseUrl, from.Uri);
                to.ImageMobile  = string.Format("{0}/{1}_mobile.jpg", imageBaseUrl, from.Uri);
            }

            return(to);
        }
        public CatalogCampaignReturnModel GetCampaignByUri(string uri, bool includeItems = true)
        {
            CatalogCampaignReturnModel campaign = new CatalogCampaignReturnModel();

            var header = _campaignHeaderRepo.GetByUri(uri);

            if (header != null)
            {
                campaign = header.ToModel(BEKConfiguration.CatalogCampaignImagesUrl);

                if (includeItems)
                {
                    campaign.Items = _campaignItemRepo.GetByCampaign(campaign.Id);
                }
            }
            else
            {
                throw new KeyNotFoundException("A catalog campaign header was not found for id " + campaign.Id);
            }

            return(campaign);
        }