public static List <Contacts> GetAllContacts(ISyncPolicyFactory _policy)
        {
            var frameworksDatastore = new FrameworksDatastore(DatastoreBaseSetup.FrameworksDatastore, new Mock <ILogger <FrameworksDatastore> >().Object, _policy);
            var frameworks          = frameworksDatastore.GetAll().ToList();
            var solnDatastore       = new SolutionsDatastore(DatastoreBaseSetup.SolutionsDatastore, new Mock <ILogger <SolutionsDatastore> >().Object, _policy, _config, new Mock <IShortTermCache>().Object, new Mock <IServiceProvider>().Object);
            var allSolns            = frameworks.SelectMany(fw => solnDatastore.ByFramework(fw.Id)).ToList();
            var allOrgIds           = allSolns.Select(soln => soln.OrganisationId).Distinct().ToList();
            var contactsDatastore   = new ContactsDatastore(DatastoreBaseSetup.ContactsDatastore, new Mock <ILogger <ContactsDatastore> >().Object, _policy, _config, new Mock <ILongTermCache>().Object);
            var allConts            = allOrgIds.SelectMany(orgId => contactsDatastore.ByOrganisation(orgId)).ToList();

            return(allConts);
        }
예제 #2
0
        public void CRUD_Succeeds()
        {
            var frameworksDatastore = new FrameworksDatastore(DatastoreBaseSetup.CrmConnectionFactory, new Mock <ILogger <FrameworksDatastore> >().Object, _policy, _config);
            var frameworks          = frameworksDatastore.GetAll().ToList();
            var datastore           = new SolutionsDatastore(DatastoreBaseSetup.CrmConnectionFactory, _logger, _policy, _config);
            var orgId = frameworks
                        .SelectMany(fw => datastore.ByFramework(fw.Id))
                        .Select(soln => soln.OrganisationId)
                        .First();
            var contactsDatastore = new ContactsDatastore(DatastoreBaseSetup.CrmConnectionFactory, new Mock <ILogger <ContactsDatastore> >().Object, _policy, _config, new Mock <IDatastoreCache>().Object);
            var contactId         = contactsDatastore.ByOrganisation(orgId).First().Id;

            // create
            var newEnt = Creator.GetSolution(orgId: orgId, createdById: contactId, modifiedById: contactId);

            newEnt.Name = "My New Solution";
            var createdEnt = datastore.Create(newEnt);

            try
            {
                createdEnt.Should().BeEquivalentTo(newEnt,
                                                   opts => opts
                                                   .Excluding(ent => ent.CreatedOn)
                                                   .Excluding(ent => ent.ModifiedOn));

                // retrieve
                var retrievedEnt = datastore.ById(createdEnt.Id);
                retrievedEnt.Should().BeEquivalentTo(createdEnt,
                                                     opts => opts
                                                     .Excluding(ent => ent.CreatedOn)
                                                     .Excluding(ent => ent.ModifiedOn));

                // update
                createdEnt.Name = "My Other New Solution";
                datastore.Update(createdEnt);
                var updatedEnt = datastore.ById(createdEnt.Id);
                updatedEnt.Should().BeEquivalentTo(createdEnt,
                                                   opts => opts
                                                   .Excluding(ent => ent.CreatedOn)
                                                   .Excluding(ent => ent.ModifiedOn));
            }
            finally
            {
                // delete
                datastore.Delete(createdEnt);
            }

            // delete
            var deletedEnt = datastore.ById(createdEnt.Id);

            deletedEnt.Should().BeNull();
        }
        public void ByContact_ReturnsData()
        {
            var frameworksDatastore = new FrameworksDatastore(DatastoreBaseSetup.FrameworksDatastore, new Mock <ILogger <FrameworksDatastore> >().Object, _policy);
            var frameworks          = frameworksDatastore.GetAll().ToList();
            var solnDatastore       = new SolutionsDatastore(DatastoreBaseSetup.SolutionsDatastore, new Mock <ILogger <SolutionsDatastore> >().Object, _policy, _config, new Mock <IShortTermCache>().Object, new Mock <IServiceProvider>().Object);
            var allSolns            = frameworks.SelectMany(fw => solnDatastore.ByFramework(fw.Id));
            var allOrgIds           = allSolns.Select(soln => soln.OrganisationId).Distinct().ToList();
            var contactsDatastore   = new ContactsDatastore(DatastoreBaseSetup.ContactsDatastore, new Mock <ILogger <ContactsDatastore> >().Object, _policy, _config, new Mock <ILongTermCache>().Object);
            var allContacts         = allOrgIds.SelectMany(orgId => contactsDatastore.ByOrganisation(orgId)).ToList();
            var datastore           = new OrganisationsDatastore(DatastoreBaseSetup.OrganisationsDatastore, _logger, _policy, _config, new Mock <ILongTermCache>().Object);

            var datas = allContacts.Select(contact => datastore.ByContact(contact.Id)).ToList();

            datas.Should().NotBeEmpty();
            datas.ForEach(data => data.Should().NotBeNull());
            datas.ForEach(data => Verifier.Verify(data));
        }