コード例 #1
0
        //
        // When
        //

        void When(ManifestDownloaded e)
        {
            if (e.RemovedDealerIds.Contains(Id))
            {
                ThenDone();
            }
        }
コード例 #2
0
 void Given(ManifestDownloaded e)
 {
     foreach (var removedDealerId in e.RemovedDealerIds)
     {
         _unenrolledDealerIds.Add(removedDealerId);
         _campaignsByDealerId.Remove(removedDealerId);
     }
 }
コード例 #3
0
        void Given(ManifestDownloaded e)
        {
            foreach (var added in e.AddedDealers)
            {
                _pagesByDealerId.Add(added.Id, Pages.None);
            }

            foreach (var removedId in e.RemovedDealerIds)
            {
                _pagesByDealerId.Remove(removedId);
            }
        }
コード例 #4
0
        void When(ManifestDownloaded e)
        {
            var enrolledDealerIds = Many.Of(
                from dealerId in _pagesByDealerId.Keys
                where _pagesByDealerId[dealerId] != Pages.None
                select dealerId);

            if (enrolledDealerIds.Count == 0)
            {
                Then(new DealerManifestDownloadsSkipped());
            }
            else
            {
                Then(new DealerManifestDownloadsStarted(enrolledDealerIds));
            }
        }
コード例 #5
0
        void Given(ManifestDownloaded e)
        {
            foreach (var added in e.AddedDealers)
            {
                _dealersById[added.Id] = added;
            }

            foreach (var updated in e.UpdatedDealers)
            {
                _dealersById[updated.Id] = updated;
            }

            foreach (var removed in e.RemovedDealerIds)
            {
                _dealersById.Remove(removed);
            }
        }
コード例 #6
0
        void Given(ManifestDownloaded e)
        {
            if (e.RemovedDealerIds.Contains(Id))
            {
                ThenDone();
            }
            else
            {
                DealerId = Id;

                var dealer = e.AddedDealers
                             .Concat(e.UpdatedDealers)
                             .Where(d => d.Id == Id)
                             .First();

                Code         = dealer.Code;
                Name         = dealer.Name;
                Region       = dealer.Region;
                Hostname     = dealer.Hostname;
                ManifestLink = dealer.ManifestLink;
            }
        }
コード例 #7
0
 void Given(ManifestDownloaded e) =>
 _dealer = e.AddedDealers
           .Concat(e.UpdatedDealers)
           .Where(dealer => dealer.Id == Id)
           .FirstOrDefault();
コード例 #8
0
 static Many <Id> RouteFirst(ManifestDownloaded e) =>
 e.AddedDealers
 .Concat(e.UpdatedDealers)
 .Select(dealer => dealer.Id)
 .Concat(e.RemovedDealerIds)
 .ToMany();
コード例 #9
0
ファイル: RegionsQuery.cs プロジェクト: jmptrader/BlazorUI
        void Given(ManifestDownloaded e)
        {
            var dealers =
                from region in Regions
                from dealer in region.Dealers
                select new
            {
                dealer.DealerId,
                Region = region.Name,
                dealer.Name,
                dealer.DetailsLink,
                dealer.IsEnrolled
            };

            var dealersById = dealers.ToDictionary(dealer => dealer.DealerId);

            foreach (var added in e.AddedDealers)
            {
                dealersById.Add(added.Id, new
                {
                    DealerId = added.Id,
                    added.Region,
                    added.Name,
                    DetailsLink = $"/api/dealers/{added.Id}",
                    IsEnrolled  = false
                });
            }

            foreach (var updated in e.UpdatedDealers)
            {
                var dealer = dealersById[updated.Id];

                dealersById[updated.Id] = new
                {
                    DealerId = updated.Id,
                    updated.Region,
                    updated.Name,
                    dealer.DetailsLink,
                    dealer.IsEnrolled
                };
            }

            foreach (var removedId in e.RemovedDealerIds)
            {
                dealersById.Remove(removedId);
            }

            Regions = Many.Of(
                from dealer in dealersById.Values
                group dealer by dealer.Region into regionDealers
                orderby regionDealers.Key
                select new Region
            {
                Name    = regionDealers.Key,
                Dealers = Many.Of(
                    from dealer in regionDealers
                    orderby Int32.Parse(dealer.DealerId.ToString())
                    select new Dealer
                {
                    DealerId    = dealer.DealerId,
                    Name        = dealer.Name,
                    DetailsLink = dealer.DetailsLink,
                    IsEnrolled  = dealer.IsEnrolled
                })
            });
        }
コード例 #10
0
 void Given(ManifestDownloaded e) =>
 _assetsLink = e.AssetsLink;