/// <summary>
        /// Зарегистрировать зависимости
        /// </summary>
        public static void ConfigureContainer(IUnityContainer container, string signatureFolder)
        {
            container.RegisterSingleton <IProjectSignatureSettings, ProjectSignatureSettings>();
            container.RegisterType <ISignaturesToJpeg, SignaturesUpload>();
            container.RegisterType <IConverterDataFileFromDto, ConverterDataFileFromDto>();
            container.RegisterType <ISignatureConverter, SignatureConverter>();

            container.RegisterType <IMessagingService, MessagingService>();
            container.RegisterType <IFilePathOperations, FilePathOperations>();
            container.RegisterType <IFileSystemOperations, FileSystemOperations>();

            GadzhiConvertingLibrary.DependencyInjection.BootStrapUnity.RegisterServices(container);

            var wcfServerServicesFactory   = container.Resolve <IWcfServerServicesFactory>();
            var signatureConverter         = container.Resolve <ISignatureConverter>();
            var signaturesLibrarySearching = new SignaturesSearching(Enumerable.Empty <ISignatureLibraryApp>(),
                                                                     SignaturesFunctionSync.GetSignaturesSync(wcfServerServicesFactory.SignatureServerServiceFactory,
                                                                                                              signatureConverter, signatureFolder));

            container.RegisterFactory <IApplicationMicrostation>(unity =>
            {
                var projectSignatureSettings = unity.Resolve <IProjectSignatureSettings>();
                return(new ApplicationMicrostation(new MicrostationResources(signaturesLibrarySearching,
                                                                             projectSignatureSettings.SignatureMicrostationFileName,
                                                                             projectSignatureSettings.StampMicrostationFileName)));
            });
        }
示例#2
0
        private static void RegisterConvertingApplications(IUnityContainer container)
        {
            var signatureConverter = container.Resolve <ISignatureConverter>();
            var projectSettings    = container.Resolve <IProjectSettings>();

            var convertingResources        = projectSettings.ConvertingResources;
            var signaturesLibrarySearching = new SignaturesSearching(convertingResources.SignatureNames.Value.ToApplication(),
                                                                     SignaturesFunctionSync.GetSignaturesSync(convertingResources.SignatureNames,
                                                                                                              signatureConverter, ProjectSettings.DataSignaturesFolder));

            container.RegisterFactory <IApplicationLibrary <IDocumentMicrostation> >(nameof(ApplicationMicrostation), unity =>
                                                                                     new ApplicationMicrostation(new MicrostationResources(signaturesLibrarySearching,
                                                                                                                                           convertingResources.SignaturesMicrostation.Value,
                                                                                                                                           convertingResources.StampMicrostation.Value)));

            container.RegisterFactory <IApplicationLibrary <IDocumentWord> >(nameof(ApplicationOffice), unity =>
                                                                             new ApplicationOffice(new ResourcesWord(signaturesLibrarySearching)));
        }