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); }
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); }