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);
        }
Exemple #2
0
            public void GoodHeader_DoesNotReturnInActiveCampaigns()
            {
                // arrange
                ICatalogCampaignHeaderRepository repo = MakeRepo();

                // act
                List <CatalogCampaignHeader> header = repo.GetAll();

                // assert
                header.Where(x => x.Active.Equals(false))
                .Should()
                .BeEmpty();
            }
Exemple #3
0
            public void GoodHeader_DoesNotReturnExpiredCampaigns()
            {
                // arrange
                int headerId = 3;
                ICatalogCampaignHeaderRepository repo = MakeRepo();

                // act
                List <CatalogCampaignHeader> header = repo.GetAll();

                // assert
                header.Where(x => x.Id.Equals(headerId))
                .Should()
                .BeEmpty();
            }
Exemple #4
0
            public void GoodHeader_ReturnsExpectedCount()
            {
                // arrange
                int expected = 1;
                ICatalogCampaignHeaderRepository repo = MakeRepo();

                // act
                List <CatalogCampaignHeader> header = repo.GetAll();

                // assert
                header.Count()
                .Should()
                .Be(expected);
            }
Exemple #5
0
            public void GoodHeader_ReturnsExpectedHasFilter()
            {
                // arrange
                var expected = true;
                int headerId = 1;
                ICatalogCampaignHeaderRepository repo = MakeRepo();

                // act
                List <CatalogCampaignHeader> header = repo.GetAll();

                // assert
                header.First(x => x.Id.Equals(headerId))
                .HasFilter
                .Should()
                .Be(expected);
            }
Exemple #6
0
            public void GoodHeader_ReturnsExpectedUri()
            {
                // arrange
                string expected = "uri-1";
                int    headerId = 1;
                ICatalogCampaignHeaderRepository repo = MakeRepo();

                // act
                List <CatalogCampaignHeader> header = repo.GetAll();

                // assert
                header.First(x => x.Id.Equals(headerId))
                .Uri
                .Should()
                .Be(expected);
            }
Exemple #7
0
            public void GoodHeader_ReturnsExpectedStartDate()
            {
                // arrange
                DateTime expected = new DateTime(2017, 7, 3, 16, 8, 0, DateTimeKind.Unspecified);
                int      headerId = 1;
                ICatalogCampaignHeaderRepository repo = MakeRepo();

                // act
                List <CatalogCampaignHeader> header = repo.GetAll();

                // assert
                header.First(x => x.Id.Equals(headerId))
                .StartDate
                .Should()
                .Be(expected);
            }