/// <summary>
 /// Adds Twilio to the specified <see cref="IServiceCollection"/>.
 /// </summary>
 /// <param name="buddyServices">The <see cref="IBuddyServiceCollection" /> to add services to.</param>
 /// <param name="smsConfiguration">The <see cref="ITwilioSmsConfiguration"/> instance.</param>
 /// <returns>The <see cref="IBuddyServiceCollection" /> so that additional calls can be chained.</returns>
 public static IBuddyServiceCollection AddTwilio(this IBuddyServiceCollection buddyServices,
                                                 ITwilioSmsConfiguration smsConfiguration)
 {
     buddyServices.Services.AddSingleton(smsConfiguration);
     buddyServices.Services.AddTransient <ISmser, TwilioSmser>();
     return(buddyServices);
 }
Exemplo n.º 2
0
 public static IBuddyServiceCollection AddPdf(
     this IBuddyServiceCollection buddyServices,
     IPdferConfiguration pdferConfiguration)
 {
     buddyServices.Services.AddSingleton(pdferConfiguration);
     return(AddPdf(buddyServices));
 }
Exemplo n.º 3
0
        public static IBuddyServiceCollection AddStorage(
            this IBuddyServiceCollection buddyServices,
            IStorageConfiguration configuration)
        {
            buddyServices.Services.AddSingleton(configuration);

            if (configuration.UseAzureStorage)
            {
                buddyServices.Services.AddTransient <IStorage, AzureStorage>();
            }
            else if (configuration.UseLocalStorage)
            {
                buddyServices.Services.AddTransient <IStorage, LocalStorage>();
            }
            else
            {
                throw new Exception("No storage configured.");
            }

            if (configuration.ConfigureDataProtection && configuration.UseAzureStorage && !string.IsNullOrWhiteSpace(configuration.AzureStorageConnectionString) && !string.IsNullOrWhiteSpace(configuration.DataProtectionContainer))
            {
                buddyServices.Services.AddDataProtection().PersistKeysToAzureBlobStorage(CloudStorageAccount.Parse(configuration.AzureStorageConnectionString), configuration.DataProtectionContainer);
            }
            else if (configuration.ConfigureDataProtection && configuration.UseLocalStorage && !string.IsNullOrWhiteSpace(configuration.DataProtectionContainer))
            {
                var directory = new DirectoryInfo(Path.Combine(configuration.LocalStorageBasePath, configuration.DataProtectionContainer));
                if (!directory.Exists)
                {
                    directory.Create();
                }
                buddyServices.Services.AddDataProtection().PersistKeysToFileSystem(directory);
            }

            return(buddyServices);
        }
Exemplo n.º 4
0
 public static IBuddyServiceCollection AddHighchartsServer(
     this IBuddyServiceCollection buddyServices,
     IHighchartsServerConfiguration configuration)
 {
     buddyServices.Services.AddSingleton(configuration);
     return(AddHighchartsServer(buddyServices));
 }
        /// <summary>
        /// Adds Twilio to the specified <see cref="IServiceCollection"/>.
        /// </summary>
        /// <param name="buddyServices">The <see cref="IBuddyServiceCollection" /> to add services to.</param>
        /// <param name="smsConfigurationSection">The <see cref="IConfigurationSection"/> configuration section.</param>
        /// <returns>The <see cref="IBuddyServiceCollection" /> so that additional calls can be chained.</returns>
        public static IBuddyServiceCollection AddTwilio(this IBuddyServiceCollection buddyServices,
                                                        IConfigurationSection smsConfigurationSection)
        {
            var smsOptions = smsConfigurationSection.Get <TwilioSmsConfiguration>();

            buddyServices.Services.Configure <ITwilioSmsConfiguration>(smsConfigurationSection);

            return(AddTwilio(buddyServices, smsOptions));
        }
Exemplo n.º 6
0
        public static IBuddyServiceCollection AddStorage(
            this IBuddyServiceCollection buddyServices,
            IConfigurationSection configurationSection)
        {
            var configuration = configurationSection.Get <DefaultStorageConfiguration>();

            buddyServices.Services.Configure <DefaultStorageConfiguration>(configurationSection);
            return(AddStorage(buddyServices, configuration));
        }
 public static IBuddyServiceCollection AddSmtp(
     this IBuddyServiceCollection buddyServices,
     IEmailConfiguration emailConfiguration,
     ISmtpConfiguration smtpConfiguration)
 {
     buddyServices.Services.AddSingleton(emailConfiguration);
     buddyServices.Services.AddSingleton(smtpConfiguration);
     return(AddSmtp(buddyServices));
 }
 public static IBuddyServiceCollection AddMailjet(
     this IBuddyServiceCollection buddyServices,
     IEmailConfiguration emailConfiguration,
     IMailjetConfiguration mailjetConfiguration)
 {
     buddyServices.Services.AddSingleton(emailConfiguration);
     buddyServices.Services.AddSingleton(mailjetConfiguration);
     return(AddMailjet(buddyServices));
 }
Exemplo n.º 9
0
        public static IBuddyServiceCollection AddHighchartsServer(
            this IBuddyServiceCollection buddyServices,
            IConfigurationSection configurationSection)
        {
            var options = configurationSection.Get <DefaultHighchartsServerConfiguration>();

            buddyServices.Services.Configure <DefaultHighchartsServerConfiguration>(configurationSection);
            return(AddHighchartsServer(buddyServices, options));
        }
Exemplo n.º 10
0
        public static IBuddyServiceCollection AddPdf(
            this IBuddyServiceCollection buddyServices,
            IConfigurationSection pdferConfigurationSection)
        {
            var pdferOptions = pdferConfigurationSection.Get <DefaultPdferConfiguration>();

            buddyServices.Services.Configure <DefaultPdferConfiguration>(pdferConfigurationSection);
            return(AddPdf(buddyServices, pdferOptions));
        }
 public static IBuddyServiceCollection AddSendGrid(
     this IBuddyServiceCollection services,
     IEmailConfiguration emailConfiguration,
     ISendgridConfiguration sendgridConfiguration)
 {
     services.Services.AddSingleton(emailConfiguration);
     services.Services.AddSingleton(sendgridConfiguration);
     services.Services.AddTransient <IEmailer, SendgridEmailer>();
     return(services);
 }
        public static IBuddyServiceCollection AddMailjet(
            this IBuddyServiceCollection buddyServices,
            IConfigurationSection emailConfigurationSection,
            IConfigurationSection mailjetConfigurationSection)
        {
            var emailOptions = emailConfigurationSection.Get <DefaultEmailConfiguration>();

            buddyServices.Services.Configure <IEmailConfiguration>(emailConfigurationSection);

            var mailjetOptions = mailjetConfigurationSection.Get <DefaultMailjetConfiguration>();

            buddyServices.Services.Configure <IMailjetConfiguration>(mailjetConfigurationSection);

            return(AddMailjet(buddyServices, emailOptions, mailjetOptions));
        }
        public static IBuddyServiceCollection AddSmtp(
            this IBuddyServiceCollection buddyServices,
            IConfigurationSection emailConfigurationSection,
            IConfigurationSection smtpConfigurationSection)
        {
            var emailOptions = emailConfigurationSection.Get <DefaultEmailConfiguration>();

            buddyServices.Services.Configure <IEmailConfiguration>(emailConfigurationSection);

            var smtpOptions = smtpConfigurationSection.Get <DefaultSmtpConfiguration>();

            buddyServices.Services.Configure <ISmtpConfiguration>(smtpConfigurationSection);

            return(AddSmtp(buddyServices, emailOptions, smtpOptions));
        }
Exemplo n.º 14
0
 public static IBuddyServiceCollection AddHighchartsServer(
     this IBuddyServiceCollection buddyServices)
 {
     buddyServices.Services.AddTransient <HighchartsServer>();
     return(buddyServices);
 }
 public static IBuddyServiceCollection AddMailjet(
     this IBuddyServiceCollection buddyServices)
 {
     buddyServices.Services.AddTransient <IEmailer, MailjetEmailer>();
     return(buddyServices);
 }
 public static IBuddyServiceCollection AddRazorTemplater(this IBuddyServiceCollection services)
 {
     services.Services.AddTransient <ITemplater, RazorTemplater>();
     return(services);
 }
 public static IBuddyServiceCollection AddRazorPdfV2Renderer(this IBuddyServiceCollection services)
 {
     services.Services.AddTransient <ITemplater, RazorTemplater>();
     services.Services.AddTransient <V2.IPdfRenderer, V2.PdfRenderer>();
     return(services);
 }
Exemplo n.º 18
0
 public static IBuddyServiceCollection AddPdf(
     this IBuddyServiceCollection buddyServices)
 {
     buddyServices.Services.AddTransient <IPdfer, AdliancePdfer>();
     return(buddyServices);
 }