public MessageService(
     IUnitOfWork unitOfWork,
     IContentStorage contentStorage,
     CloudStorageConfiguration cloudStorageConfiguration,
     AttachmentConfiguration attachmentConfiguration) : base(unitOfWork)
 {
     _contentStorage            = contentStorage;
     _cloudStorageConfiguration = cloudStorageConfiguration;
     _attachmentConfiguration   = attachmentConfiguration;
 }
Exemplo n.º 2
0
        protected override void Load(ContainerBuilder builder)
        {
            var configurationRoot = new ConfigurationBuilder()
                                    .AddJsonFile("appsettings.json")
                                    .Build();

            builder.RegisterInstance(
                configurationRoot)
            .As <IConfigurationRoot>();

            builder.Register(x =>
            {
                var storage = new AzureCloudStorage(configurationRoot["AzureStorage:ConnectionString"]);
                return(storage);
            })
            .As <IContentStorage>();

            builder.Register(x =>
            {
                var cfg = new CloudStorageConfiguration(
                    configurationRoot["AzureStorage:ContentStorageHost"],
                    configurationRoot["AzureStorage:MessageAttachmentsContainer"],
                    configurationRoot["AzureStorage:MemberAvatarsContainer"],
                    configurationRoot["AzureStorage:ChannelImagesContainer"],
                    configurationRoot["AzureStorage:TempContainerName"],
                    Convert.ToInt32(configurationRoot["AzureStorage:MessagePhotoSize"]));
                return(cfg);
            });

            builder.Register(x =>
            {
                var cfg = new AttachmentConfiguration(Convert.ToInt32(configurationRoot["MessageAttachments:Limit"]));
                return(cfg);
            });

            builder.Register(context =>
            {
                var lifetimeScope = context.Resolve <ILifetimeScope>();
                return(new AutofacServiceProvider(lifetimeScope));
            })
            .As <IServiceProvider>()
            .SingleInstance();
        }
Exemplo n.º 3
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterType <ChannelService>()
            .As <IChannelService>();

            builder.RegisterType <MemberService>()
            .As <IMemberService>();

            builder.RegisterType <MessageService>()
            .As <IMessageService>();

            builder.RegisterType <ChannelMemberService>()
            .As <IChannelMemberService>();

            builder.Register(x =>
            {
                var context           = x.Resolve <IComponentContext>();
                var configurationRoot = context.Resolve <IConfiguration>();

                var cfg = new CloudStorageConfiguration(
                    configurationRoot["AzureStorage:ContentStorageHost"],
                    configurationRoot["AzureStorage:MessageAttachmentsContainer"],
                    configurationRoot["AzureStorage:MemberAvatarsContainer"],
                    configurationRoot["AzureStorage:ChannelImagesContainer"],
                    configurationRoot["AzureStorage:TempContainerName"],
                    Convert.ToInt32(configurationRoot["AzureStorage:MessagePhotoSize"]));
                return(cfg);
            });

            builder.Register(x =>
            {
                var context           = x.Resolve <IComponentContext>();
                var configurationRoot = context.Resolve <IConfiguration>();

                var cfg = new AttachmentConfiguration(Convert.ToInt32(configurationRoot["MessageAttachments:Limit"]));
                return(cfg);
            });
        }