public CatalogCampaignsReturnModel GetAllAvailableCampaigns(UserSelectedContext context)
        {
            List <CatalogCampaignHeader> allCampaigns = _campaignHeaderRepo.GetAll();
            CatalogCampaignsReturnModel  retVal       = new CatalogCampaignsReturnModel();

            if (allCampaigns?.Count > 0)
            {
                IEnumerable <CatalogCampaignHeader> nonFilteredHeaders = allCampaigns.Where(c => c.HasFilter == false);

                if (nonFilteredHeaders?.Count() > 0)
                {
                    retVal.campaigns.AddRange(nonFilteredHeaders.ToWebModel(BEKConfiguration.CatalogCampaignImagesUrl));
                }

                foreach (CatalogCampaignHeader header in allCampaigns.Where(c => c.HasFilter))
                {
                    List <CampaignCustomer> customers = _customerRepo.GetAllCustomersByCampaign(header.Id);

                    if (customers.Any(c => c.BranchId.Equals(context.BranchId, StringComparison.CurrentCultureIgnoreCase) &&
                                      c.CustomerNumber.Equals(context.CustomerId)))
                    {
                        retVal.campaigns.Add(header.ToModel(BEKConfiguration.CatalogCampaignImagesUrl));
                    }
                }
            }

            return(retVal);
        }
예제 #2
0
            public void InitializedModel_HasDefaultValue()
            {
                // arrange
                var model = new CatalogCampaignsReturnModel();

                // act

                // assert
                model.campaigns
                .Should()
                .BeEmpty();
            }
        public CatalogCampaignsReturnModel GetAllCampaigns(bool includeItems = true)
        {
            CatalogCampaignsReturnModel returnValue = new CatalogCampaignsReturnModel();

            returnValue.campaigns = _campaignHeaderRepo.GetAll()
                                    .Select(i => i.ToModel(BEKConfiguration.CatalogCampaignImagesUrl))
                                    .ToList();

            if (includeItems)
            {
                foreach (var header in returnValue.campaigns)
                {
                    header.Items = _campaignItemRepo.GetByCampaign(header.Id);
                }
            }

            return(returnValue);
        }