private static void EqualsCodeBehavesAsExpected(Func <ExternalId, ExternalId, bool> equals)
 {
     foreach (var id in ExpectedOrder)
     {
         Assert.Equal(1, ExpectedOrder.Where(e => equals(e, id)).Count());
         Assert.True(equals(id, ExternalId.Create(id.Scheme, id.Value)));
     }
 }
 public void HashCodeBehavesAsExpected()
 {
     foreach (var identifier in ExpectedOrder)
     {
         Assert.Equal(1, ExpectedOrder.Where(e => e.GetHashCode() == identifier.GetHashCode()).Count());
         Assert.Equal(identifier.GetHashCode(), ExternalId.Create(identifier.Scheme, identifier.Value).GetHashCode());
     }
 }
        public void OnSave(ChangeTracker tracker)
        {
            var entries = tracker.Entries <IExternalIdentifierBehaviour>();

            foreach (var entry in entries)
            {
                var entity = entry.Entity;
                if (entry.State == EntityState.Added && !ExternalId.TryParse(entity.ExternalId, out _))
                {
                    entity.ExternalId = ExternalId.Create().ToString();
                }
            }
        }
Exemple #4
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.Entity <Post>().HasData(
                new Post
            {
                Id         = 1,
                ExternalId = ExternalId.Create(),
                CreatedAt  = DateTime.Now - TimeSpan.FromSeconds(1337),
                Body       = "First post!"
            },
                new Post
            {
                Id         = 2,
                ExternalId = ExternalId.Create(),
                CreatedAt  = DateTime.Now - TimeSpan.FromSeconds(2400),
                Body       = "Second post!"
            }
                );
        }
Exemple #5
0
        public void CanSearchWithRequest()
        {
            var request      = new SecuritySearchRequest(PagingRequest.First(20), "*", "FUTURE");
            var searchResult = Context.SecurityMaster.Search(request);

            Assert.NotEmpty(searchResult.Documents);

            var securitytoFind   = searchResult.Documents.First();
            var identifierBundle = securitytoFind.Security.Identifiers;
            {
                var identifierSearch = new ExternalIdSearch(identifierBundle.Identifiers, ExternalIdSearchType.All);
                request = new SecuritySearchRequest(PagingRequest.All, "*", "FUTURE", identifierSearch);
                var singleSearchResult = Context.SecurityMaster.Search(request);
                Assert.NotEmpty(singleSearchResult.Documents);
                Assert.Single(singleSearchResult.Documents);
                Assert.Equal(singleSearchResult.Documents.Single().Security.UniqueId, securitytoFind.UniqueId);
            }
            {
                var identifierSearch = new ExternalIdSearch(identifierBundle.Identifiers.Concat(Enumerable.Repeat(ExternalId.Create("XXX", "YYY"), 1)), ExternalIdSearchType.Any);
                request = new SecuritySearchRequest(PagingRequest.All, "*", "FUTURE", identifierSearch);
                var singleSearchResult = Context.SecurityMaster.Search(request);
                Assert.NotEmpty(singleSearchResult.Documents);
                Assert.Single(singleSearchResult.Documents);
                Assert.Equal(singleSearchResult.Documents.Single().Security.UniqueId, securitytoFind.UniqueId);
            }
        }
Exemple #6
0
        public void CanDoMultipleBundleQuery()
        {
            var remoteSecuritySource = Context.SecuritySource;
            var collection           = remoteSecuritySource.GetSecurities(new ExternalIdBundle(ExternalId.Create("BLOOMBERG_TICKER", "AAPL US Equity"), ExternalId.Create("BLOOMBERG_TICKER", "MSFT US Equity")));

            Assert.Equal(2, collection.Count);
        }
Exemple #7
0
        public void CanDoSingleBundleQuery()
        {
            var remoteSecuritySource = Context.SecuritySource;
            var collection           = remoteSecuritySource.GetSecurities(new ExternalIdBundle(ExternalId.Create("BLOOMBERG_TICKER", "AAPL US Equity")));

            Assert.Equal(1, collection.Count);
            Assert.True(collection.First().Name.IndexOf("Apple", StringComparison.InvariantCultureIgnoreCase) >= 0);
        }