Esempio n. 1
0
        public StatusReportViewModel()
        {
            var generalSettingsRepository = ContainerBootstrapper.Resolve <ISettingsRepository <WorkshopSettings> >().GetWorkshopSettings();

            TachoCentreLastCheck = generalSettingsRepository.CentreQuarterlyCheckDate;
            GV212LastCheck       = generalSettingsRepository.MonthlyGV212Date;
        }
        public void Init()
        {
            this.container = new UnityContainer();
            ContainerBootstrapper.Configure(container);

            this.ldapStore = ProfileStoreHelper.GetProfileStore("aExpense");
        }
Esempio n. 3
0
        private static void TryAddSignature(PDFDocument document, UndownloadabilityDocument undownloadabilityDocument, int x, int y)
        {
            Image signatureImage = null;

            var userRepository = ContainerBootstrapper.Resolve <IRepository <User> >();
            var user           = UserManagement.GetUser(userRepository, UserManagement.LoggedInUserName);

            if (user != null && user.Image != null)
            {
                signatureImage = user.Image;
            }

            IRepository <Technician> technicianRepository = ContainerBootstrapper.Resolve <IRepository <Technician> >();
            var technicianUser = technicianRepository.FirstOrDefault(c => string.Equals(c.Name, undownloadabilityDocument.Technician));

            if (technicianUser != null && technicianUser.Image != null)
            {
                signatureImage = technicianUser.Image;
            }

            if (signatureImage != null)
            {
                Image image = ImageHelper.Scale(signatureImage, 500, 50);
                document.AddImage(ImageHelper.ToByteArray(image), image.Width, image.Height, x, y);
            }
        }
        public static TachographDocument Create(CalibrationRecord calibrationRecord)
        {
            var tachographDocument = new TachographDocument();

            tachographDocument.Convert(calibrationRecord);
            tachographDocument.IsDigital = true;

            var documentTypes = DocumentType.GetDocumentTypes(true);
            var settings      = ContainerBootstrapper.Resolve <ISettingsRepository <MiscellaneousSettings> >().GetMiscellaneousSettings();

            tachographDocument.DocumentType = tachographDocument.DocumentType ?? documentTypes.FirstOrDefault(c => string.Equals(c, settings.DefaultDigitalDocumentType));

            SetTechnician(tachographDocument, calibrationRecord);
            SetTachographModel(tachographDocument, calibrationRecord);
            SetDepotName(tachographDocument);

            tachographDocument.Created = DateTime.Now;

            if (tachographDocument.CalibrationTime == null)
            {
                tachographDocument.CalibrationTime = DateTime.Now;
            }

            return(tachographDocument);
        }
Esempio n. 5
0
        private static string GetRecipientEmailAddresses(WorkshopSettings workshopSettings, MailSettings mailSettings, string customerContact)
        {
            string recipients = string.Empty;

            if (mailSettings == null || mailSettings.DontSendEmails || workshopSettings.DoNotSend)
            {
                return(recipients);
            }

            if (workshopSettings.SendToOffice)
            {
                recipients = AppendRecipient(recipients, workshopSettings.MainEmailAddress);
                recipients = AppendRecipient(recipients, workshopSettings.SecondaryEmailAddress);
            }
            if (workshopSettings.SendToCustomer && !string.IsNullOrEmpty(customerContact))
            {
                var             repository = ContainerBootstrapper.Resolve <IRepository <CustomerContact> >();
                CustomerContact customer   = repository.FirstOrDefault(contact => string.Equals(customerContact, contact.Name, StringComparison.CurrentCultureIgnoreCase));

                if (customer != null)
                {
                    if (IsValidEmail(customer.Email))
                    {
                        recipients = AppendRecipient(recipients, customer.Email);
                    }
                    if (IsValidEmail(customer.SecondaryEmail))
                    {
                        recipients = AppendRecipient(recipients, customer.SecondaryEmail);
                    }
                }
            }

            return(recipients);
        }
Esempio n. 6
0
        public static void MigrateWorkshopImages()
        {
            var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Webcal", "ContactImages");

            if (Directory.Exists(path))
            {
                var supportedFormats = new[] { Resources.TXT_EXTENSION_JPG, Resources.TXT_EXTENSION_JPEG, Resources.TXT_EXTENSION_PNG };
                var logo             = Directory.GetFiles(path).FirstOrDefault(f => supportedFormats.Any(format => string.Equals(Path.GetExtension(f), format, StringComparison.CurrentCultureIgnoreCase)));
                if (logo != null)
                {
                    var repository = ContainerBootstrapper.Resolve <ISettingsRepository <WorkshopSettings> >();
                    try
                    {
                        var workshopSettings = repository.GetWorkshopSettings();
                        workshopSettings.Image = ImageHelper.LoadImageSafely(logo);
                        repository.Save(workshopSettings);
                    }
                    catch
                    {
                    }
                }

                var directoryInfo = new DirectoryInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Webcal"));
                directoryInfo.EmptyFolder();
                directoryInfo.Delete(true);
            }
        }
Esempio n. 7
0
        private static void SyncWorkshopSettings()
        {
            var generalSettingsRepository = ContainerBootstrapper.Resolve <ISettingsRepository <WorkshopSettings> >();
            var workshopSettings          = generalSettingsRepository.GetWorkshopSettings();

            if (workshopSettings.Uploaded != null)
            {
                return;
            }

            using (var context = new TachographContext())
            {
                context.Configuration.ProxyCreationEnabled = false;

                var settings = context.WorkshopSettings.AsNoTracking()
                               .Where(w => !string.IsNullOrEmpty(w.Address1) ||
                                      !string.IsNullOrEmpty(w.Address2) ||
                                      !string.IsNullOrEmpty(w.Address3) ||
                                      !string.IsNullOrEmpty(w.Office) ||
                                      !string.IsNullOrEmpty(w.PostCode) ||
                                      !string.IsNullOrEmpty(w.Town) ||
                                      !string.IsNullOrEmpty(w.WorkshopName))
                               .First(c => c.Id == workshopSettings.Id);

                _connectClient.Service.UploadWorkshopSettings(settings);
            }

            if (workshopSettings.Created == default(DateTime) || workshopSettings.Created == DateTime.Parse("01/01/1900"))
            {
                workshopSettings.Created = DateTime.Now;
            }
            workshopSettings.Uploaded = DateTime.Now;
            generalSettingsRepository.Save(workshopSettings);
        }
        private void LoadProducts()
        {
            IProductMgr productMgr = new ContainerBootstrapper().ChildContainer.Resolve <IProductMgr>();

            bindingSourceProducts.DataSource = productMgr.GetAll().OfType <TimesCard>();
            //bindingSourceProducts.DataSource = productMgr.GetAll().OfType<T>();
        }
Esempio n. 9
0
        static void Main(string[] args)
        {
            TextWriterTraceListener tr1 = new TextWriterTraceListener(System.Console.Out);

            Debug.Listeners.Add(tr1);

            using (var container = new UnityContainer())
            {
                Console.WriteLine("# Performing Registrations...");
                ContainerBootstrapper.RegisterTypes(container);
                Console.WriteLine("Container has {0} Registrations:", container.Registrations.Count());

                foreach (ContainerRegistration item in container.Registrations)
                {
                    Console.WriteLine(item.GetMappingAsString());
                }

                Console.WriteLine();
                Console.ReadLine();

                Console.WriteLine("# Performing type resolutions...");
                container.Resolve <ISurveyStore>().Initialize();
                //container.Resolve<ISurveyAnswerStore>().Initialize();
                //container.Resolve<ITenantStore>().Initialize();

                Console.WriteLine("Done");
                Console.ReadLine();
            }
        }
Esempio n. 10
0
        private static void SaveReportUpload <T>(T report) where T : BaseReport
        {
            report.Uploaded = DateTime.Now;

            var repository = ContainerBootstrapper.Resolve <IRepository <T> >();

            repository.AddOrUpdate(report);
        }
Esempio n. 11
0
        private static void SaveDocumentUpload <T>(T document) where T : Document
        {
            document.Uploaded = DateTime.Now;

            var repository = ContainerBootstrapper.Resolve <IRepository <T> >();

            repository.AddOrUpdate(document);
        }
Esempio n. 12
0
        private static void SaveCustomerContactUpload(CustomerContact customerContact)
        {
            customerContact.Uploaded = DateTime.Now;

            var repository = ContainerBootstrapper.Resolve <IRepository <CustomerContact> >();

            repository.AddOrUpdate(customerContact);
        }
 public void TestInit()
 {
     DatabaseHelper.CleanLoggingDB(TracingDatabaseConnectionString);
     this.container = new UnityContainer();
     ContainerBootstrapper.Configure(container);
     this.listener = new InMemoryEventListener();
     this.listener.EnableEvents(AExpenseEvents.Log, EventLevel.LogAlways, Keywords.All);
 }
        public static ContainerBootstrapper SetupWebApi(this ContainerBootstrapper iocBootstrapper, HttpConfiguration configuration)
        {
            configuration.Services.Replace(
                typeof(IHttpControllerActivator),
                new ApiControllerActivator(ContainerHolder.Container));

            return(iocBootstrapper);
        }
Esempio n. 15
0
        public int MultiplyTestSucces(int x, int y)
        {
            ContainerBootstrapper.Initialise();
            var calculator = ServiceLocator.Current.GetInstance <ICalculator>();
            int result     = calculator.Multiply(x, y);

            return(result);
        }
        public void TestInitialize()
        {
            this.container = new UnityContainer();
            ContainerBootstrapper.Configure(container);

            this.ldapStore    = container.Resolve <IProfileStore>();
            this.exceptionMgr = container.Resolve <ExceptionManager>();
        }
Esempio n. 17
0
        private static void SaveTechnicianUpload(Technician technician)
        {
            technician.Uploaded = DateTime.Now;

            var repository = ContainerBootstrapper.Resolve <IRepository <Technician> >();

            repository.AddOrUpdate(technician);
        }
        public void Init()
        {
            IConfigurationSource config = ConfigurationSourceFactory.Create();

            this.valFactory           = ValidationFactory.DefaultCompositeValidatorFactory;
            this.valFactoryFromConfig = ConfigurationValidatorFactory.FromConfigurationSource(config);
            this.container            = new UnityContainer();
            ContainerBootstrapper.Configure(this.container);
        }
Esempio n. 19
0
        public static void Create(bool promptForDate)
        {
            var tachographDocuments  = ContainerBootstrapper.Resolve <IRepository <TachographDocument> >().GetAll(false);
            var documentHistoryItems = new ObservableCollection <IDocumentHistoryItem>(tachographDocuments.Select(c => new DocumentHistoryItem(c)));
            var start = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(-1);
            var end   = start.AddMonths(1).AddDays(-1);

            Create(documentHistoryItems, promptForDate, start, end);
        }
Esempio n. 20
0
        /// <summary>Registers the type mappings with the Unity container.</summary>
        /// <param name="container">The unity container to configure.</param>
        /// <remarks>There is no need to register concrete types such as controllers or API controllers (unless you want to
        /// change the defaults), as Unity allows resolving a concrete type even if it was not previously registered.</remarks>
        public static void RegisterTypes(IUnityContainer container)
        {
            // NOTE: To load from web.config uncomment the line below. Make sure to add a Microsoft.Practices.Unity.Configuration to the using statements.
            // container.LoadConfiguration();

            // TODO: Register your types here
            // container.RegisterType<IProductRepository, ProductRepository>();
            ContainerBootstrapper.RegisterTypes(container);
        }
Esempio n. 21
0
        public static void Run(IEnumerable <string> args)
        {
            var container = ContainerBootstrapper.BootstrapStructureMap();

            var application = container.GetInstance <ConsoleApplication>();

            application.SetArguments(args);
            application.Run();
        }
Esempio n. 22
0
 protected void Application_Start()
 {
     AreaRegistration.RegisterAllAreas();
     GlobalConfiguration.Configure(WebApiConfig.Register);
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     BundleConfig.RegisterBundles(BundleTable.Bundles);
     ContainerBootstrapper.TypesRegister(new UnityContainer(), new HierarchicalLifetimeManager());
 }
        private static void SetDepotName(Document document)
        {
            var registrationData = ContainerBootstrapper.Resolve <IRepository <RegistrationData> >().First();

            if (string.IsNullOrEmpty(document.DepotName))
            {
                document.DepotName = registrationData.DepotName;
            }
        }
Esempio n. 24
0
        private static void SyncTechnicians()
        {
            var techniciansRepository = ContainerBootstrapper.Resolve <IRepository <Technician> >();

            foreach (var technician in techniciansRepository.Where(c => c.Uploaded == null))
            {
                _connectClient.Service.UploadTechnician(technician);
                SaveTechnicianUpload(technician);
            }
        }
Esempio n. 25
0
        private static void SyncCustomerContacts()
        {
            var customerContactsRepository = ContainerBootstrapper.Resolve <IRepository <CustomerContact> >();

            foreach (var customerContact in customerContactsRepository.Where(c => c.Uploaded == null))
            {
                _connectClient.Service.UploadCustomerContact(customerContact);
                SaveCustomerContactUpload(customerContact);
            }
        }
Esempio n. 26
0
        public static ISettingsRepository <WorkshopSettings> SeedDatabase()
        {
            //This is a bit of a "fudge" to ensure that seed data has been created
            var settings = ContainerBootstrapper.Resolve <ISettingsRepository <WorkshopSettings> >();

            if (settings.GetWorkshopSettings() == null)
            {
                using (var context = new TachographContext())
                {
                    Seed(context);
                    context.SaveChanges();
                }
            }

            //Check that the 'super user account' exists
            var userRepository = ContainerBootstrapper.Resolve <IRepository <User> >();
            var superUser      = userRepository.FirstOrDefault(user => string.Equals(user.Username, "superuser", StringComparison.CurrentCultureIgnoreCase));

            if (superUser == null)
            {
                UserManagement.AddSuperUser(userRepository);
            }
            else
            {
                UserManagement.UpdateSuperUser(userRepository, superUser);
            }

            UserManagement.AddDefaultUser();

            var themeSettingsRepository = ContainerBootstrapper.Resolve <ISettingsRepository <ThemeSettings> >();

            if (themeSettingsRepository.GetThemeSettings() == null)
            {
                using (var context = new TachographContext())
                {
                    context.ThemeSettings.Add(new ThemeSettings {
                        SelectedTheme = "Silver"
                    });
                    context.SaveChanges();
                }
            }

            var miscellaneousSettingsRepository = ContainerBootstrapper.Resolve <ISettingsRepository <MiscellaneousSettings> >();

            if (miscellaneousSettingsRepository.GetMiscellaneousSettings() == null)
            {
                using (var context = new TachographContext())
                {
                    context.MiscellaneousSettings.Add(new MiscellaneousSettings());
                    context.SaveChanges();
                }
            }

            return(settings);
        }
        protected override void OnApplicationStarting(object sender, EventArgs e)
        {
            _containerBootstrapper = ContainerBootstrapper.Bootstrap();

            // setup the webapi dependency resolver to use Castle Windsor
            GlobalConfiguration.Configuration.DependencyResolver = new WindsorResolver(_containerBootstrapper.Container);

            AutoMapperConfig.RegisterAutoMapper();

            base.OnApplicationStarting(sender, e);
        }
Esempio n. 28
0
        /// <summary>
        /// Synchronous method to validate an iban code.
        /// </summary>
        /// <param name="iban">The given iban code.</param>
        /// <returns>'True' if iban is valid, otherwise 'false'.</returns>
        public bool ValidateIban(string iban)
        {
            if (string.IsNullOrWhiteSpace(iban))
            {
                throw new IbanException(IbanExceptionType.IbanValidationIbanNeeded);
            }

            _manager = ContainerBootstrapper.Resolve <IIbanManager>(iban.Substring(0, 2));

            return(_manager.ValidateIban(iban));
        }
Esempio n. 29
0
        /// <summary>
        /// Asynchronous method for getting a bic.
        /// </summary>
        /// <param name="iban">The given iban code.</param>
        /// <returns> BIC that belongs to given iban.</returns>
        public async Task <BankIdentifierCode> GetBicAsync(string iban)
        {
            if (string.IsNullOrWhiteSpace(iban))
            {
                throw new IbanException(IbanExceptionType.IbanValidationIbanNeeded);
            }

            _manager = ContainerBootstrapper.Resolve <IIbanManager>(iban.Substring(0, 2));

            return(await _manager.GetBicAsync(iban));
        }
Esempio n. 30
0
        private static void Main(string[] args)
        {
            var containerBootstrapper = new ContainerBootstrapper();
            var ss = new ManagerStarter(
                containerBootstrapper
                , ConfigurationManager.AppSettings["ManagerEndpoint_BaseAddressServiceUrl"]
                );

            ss.StartServices();
            Console.ReadKey();
        }
 public void BootstrappingUsingAssemblyParamListShouldContainTypesInParamList()
 {
     var sut = new ContainerBootstrapper();
     sut.Should().NotBeNull();
     var result = sut.Bootstrap(null, typeof(Samples.Business.BusinessDependencyRegistrar).Assembly, typeof(Samples.Data.DataDependencyRegistrar).Assembly);
     result.Should().NotBeNull();
     result.Catalog.Should().NotBeNull();
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Heliar.Composition.Core.Tests.TestApplicationDependencyRegistrar");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Business.BusinessDependencyRegistrar");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Data.DataDependencyRegistrar");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Heliar.Composition.Core.Tests.Foo");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Business.CustomerService");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Data.CustomerRepository");
 }
 public void BootstrappingWithoutApplicationDependencyRegistrarShouldThrowException()
 {
     var sut = new ContainerBootstrapper("Foo*.dll");
     sut.Should().NotBeNull();
     var result = sut.Bootstrap();
 }
 public void BootstrappingUsingCatalogAndConventionShouldIncludeTestAndSampleParts()
 {
     // Build pre-wired assembly catalog
     RegistrationBuilder conventions = new RegistrationBuilder();
     conventions.ForTypesDerivedFrom<IApplicationDependencyRegistrar>()
         .SetCreationPolicy(CreationPolicy.Shared)
         .ExportInterfaces()
         .Export();
     var catalog = new AssemblyCatalog(typeof(ContainerBootstrapperTest).Assembly, conventions);
     var sut = new ContainerBootstrapper("Samples*.dll", catalog);
     sut.Should().NotBeNull();
     var result = sut.Bootstrap();
     result.Should().NotBeNull();
     result.Catalog.Should().NotBeNull();
     // Registrars
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Heliar.Composition.Core.Tests.TestApplicationDependencyRegistrar");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Business.BusinessDependencyRegistrar");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Data.DataDependencyRegistrar");
     // Test/Sample types
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Heliar.Composition.Core.Tests.Foo");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Business.CustomerService");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Data.CustomerRepository");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Data.SampleConnectionFactory");
 }
 public void ExpressionPassedToConventionCtorShouldMatchAssemblyNamingConvention()
 {
     var sut = new ContainerBootstrapper(assemblyExpression);
     sut.Should().NotBeNull();
     sut.AssemblyNamingConvention.Should().Be(assemblyExpression);
 }
 public void PassingOnlyAConventionToCtorShouldSetUseAssemblyNamingConventionToTrue()
 {
     var sut = new ContainerBootstrapper(assemblyExpression);
     sut.Should().NotBeNull();
     sut.AssemblyNamingConvention.Should().Be(assemblyExpression);
     sut.UseAssemblyNamingConvention.Should().Be(true);
 }
 public void TypesRegisteredInExternalAssemblyShouldBeCreateable()
 {
     var sut = new ContainerBootstrapper();
     sut.Should().NotBeNull();
     var container = sut.Bootstrap();
     container.Should().NotBeNull();
     var client = container.GetExportedValue<HttpClient>();
     client.Should().NotBeNull();
 }
 public void UsingEmptyCtorShouldSetUseAssemblyNamingConventionToFalse()
 {
     var sut = new ContainerBootstrapper();
     sut.Should().NotBeNull();
     sut.UseAssemblyNamingConvention.Should().Be(false);
 }
 public void BootstrappingUsingOnlyConventionShouldOnlyIncludeTestAssemblyTypes()
 {
     var sut = new ContainerBootstrapper(assemblyExpression);
     sut.Should().NotBeNull();
     var result = sut.Bootstrap();
     result.Should().NotBeNull();
     result.Catalog.Parts.Should().HaveCount(c => c > 0);
     // Registrar types
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Heliar.Composition.Core.Tests.TestApplicationDependencyRegistrar");
     result.Catalog.Parts.Should().NotContain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Business.BusinessDependencyRegistrar");
     result.Catalog.Parts.Should().NotContain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Data.DataDependencyRegistrar");
     // Test POCO type
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Heliar.Composition.Core.Tests.Foo");
 }
 public void PassingOnlyCatalogToCtorShouldSetUseAssemblyNamingConventionToFalse()
 {
     var catalog = new AssemblyCatalog(typeof(CatalogBootstrapperTest).Assembly);
     var sut = new ContainerBootstrapper(null, catalog);
     sut.Should().NotBeNull();
     sut.AssemblyNamingConvention.Should().BeNull();
     sut.UseAssemblyNamingConvention.Should().Be(false);
 }
 public void BootstrappingUsingOnlyCatalogShouldIncludeTestAndSampleTypes()
 {
     var catalog = new AssemblyCatalog(typeof(CatalogBootstrapperTest).Assembly);
     var sut = new ContainerBootstrapper(null, catalog);
     sut.Should().NotBeNull();
     var result = sut.Bootstrap();
     result.Should().NotBeNull();
     result.Catalog.Should().NotBeNull();
     // Registrars
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Heliar.Composition.Core.Tests.TestApplicationDependencyRegistrar");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Business.BusinessDependencyRegistrar");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Data.DataDependencyRegistrar");
     // Test/Sample types
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Heliar.Composition.Core.Tests.Foo");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Business.CustomerService");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Data.CustomerRepository");
     result.Catalog.Parts.Should().Contain(p => (p as System.ComponentModel.Composition.Primitives.ICompositionElement).DisplayName == "Samples.Data.SampleConnectionFactory");
 }