Example #1
0
        private void SendEmailConfirmation(int userId, string emailAddress, string token)
        {
            dynamic config      = new Formo.Configuration();
            var     callbackUrl = config.DoglogbookWebAddress + $"/Account/ConfirmEmail?userId={userId}&code={HttpUtility.UrlEncode(token)}";

            UserManager.SendEmail(userId, "Confirm your account", $"Please confirm your account by clicking <a href=\"{callbackUrl}\">here</a>");
        }
Example #2
0
        public void Bind_should_assign_correct_values_to_provider_names()
        {
            WebsiteSettings settings = new Configuration().Bind <WebsiteSettings>();

            settings.RemoteConnection.ProviderName.ShouldBe(@"System.Data.SqlClient");
            settings.LocalConnection.ProviderName.ShouldBeEmpty();
        }
Example #3
0
        static void Main(string[] args)
        {
            using (var connection =
                       new SqlConnection(ConfigurationManager.ConnectionStrings["appConString"].ConnectionString))
            {
                connection.Open();

                var groups = connection.Query <HolidayGrouped>(@"
SELECT 
    DATEPART(Year, Date) as Year,
    DATEPART(Month, Date) as Month,
    count(1) as Count
FROM Holidays
GROUP BY DATEPART(Year, Date), DATEPART(Month, Date)
ORDER BY DATEPART(Year, Date), DATEPART(Month, Date)
");

                var settings = new Formo.Configuration().Bind <ExportSettings>();

                var layout = new Layout <HolidayGrouped> .DelimitedLayout()
                             .WithMember(x => x.Year)
                             .WithMember(x => x.Month)
                             .WithMember(x => x.Count)
                             .WithQuote("\"")
                             .WithDelimiter(";");

                using (var file = File.OpenWrite(settings.FileName))
                {
                    var flatfile = new FlatFile <HolidayGrouped>(layout, file);
                    flatfile.Write(groups);
                }
            }
        }
Example #4
0
        public void Bind_should_assign_values_to_connection_strings()
        {
            WebsiteSettings settings = new Configuration().Bind <WebsiteSettings>();

            settings.RemoteConnection.ShouldNotBe(null);
            settings.LocalConnection.ShouldNotBe(null);
        }
Example #5
0
        public void Bind_should_assign_correct_values_to_connection_strings()
        {
            WebsiteSettings settings = new Configuration().Bind <WebsiteSettings>();

            settings.RemoteConnection.ConnectionString.ShouldBe(@"Data Source=.\SQLEXPRESS;Initial Catalog=NorthWind;Integrated Security=True");
            settings.LocalConnection.ConnectionString.ShouldBe(@"localhost");
        }
Example #6
0
        private void SendForgotPasswordEmail(Member user, string token)
        {
            dynamic config      = new Formo.Configuration();
            var     callbackUrl = config.DoglogbookWebAddress +
                                  $"/Account/ForgotPassword?userId={user.Id}&token={HttpUtility.UrlEncode(token)}";

            UserManager.SendEmail(user.Id, "Reset Password", $"Please reset your password by clicking <a href=\"{callbackUrl}\">here</a>");
        }
Example #7
0
        public void Bind_should_assign_standalone_property_from_settings()
        {
            WebsiteSettings settings = new Configuration().Bind <WebsiteSettings>();

            settings.Herp.ShouldBe("herp", StringCompareShould.IgnoreCase);
            settings.Derp.ShouldBe("derp", StringCompareShould.IgnoreCase);
            settings.SomeInteger.ShouldBe(123);
            settings.ExpirationDate.ShouldBe(new DateTime(2011, 4, 16));
        }
        public AppConfigRunnerSettings()
        {
            var configuration = new Formo.Configuration("fizzBuzzPairs");

            var pairs = configuration.BindPairs<Replacement, int, string>(x => x.Key, x => x.Value);

            replacements = pairs
                    .Select(x => new Replacement { Key = x.Key, Value = x.Value })
                    .ToDictionary(x => x.Key);
        }
Example #9
0
        private static DatabaseSettings GetDefaultSettings()
        {
            dynamic config = new Formo.Configuration();
            ConnectionStringSettings connection = config.ConnectionString.Atxc;

            return new DatabaseSettings
            {
                ConnectionString = connection.ConnectionString,
                TenantId = Guid.Parse(config.TenantId),
            };
        }
Example #10
0
        private static DatabaseSettings GetDefaultSettings()
        {
            dynamic config = new Formo.Configuration();
            ConnectionStringSettings connection = config.ConnectionString.Atxc;

            return(new DatabaseSettings
            {
                ConnectionString = connection.ConnectionString,
                TenantId = Guid.Parse(config.TenantId),
            });
        }
Example #11
0
        private static void ReadConfigFileValueAsSecureString(this SecureString value, string key, string configSectionName)
        {
            dynamic protectedAppSettings = new Formo.Configuration(configSectionName);

            char[] appSettingValueCharacters = protectedAppSettings.Get(key)?.ToCharArray() ?? new char[] { };

            for (int i = 0; i < appSettingValueCharacters.Length; i++)
            {
                value.AppendChar(appSettingValueCharacters[i]);

                //erase the char values as we go so they are not in memory in the array, awaiting GC
                appSettingValueCharacters[i] = default(char);
            }

            value.MakeReadOnly();
        }
Example #12
0
        public void Install(IWindsorContainer container, IConfigurationStore store)
        {
            container.Register(Component.For <CloudinaryDotNet.Cloudinary>()
                               .UsingFactoryMethod(() =>
            {
                dynamic config = new Formo.Configuration();
                return(Cloudinary.Create(new CloudinaryAccountCredentials
                {
                    CloudName = config.CloudinaryAccountName,
                    ApiKey = config.CloudinaryKey,
                    ApiSecret = config.CloudinarySecret
                }));
            })
                               .LifestyleTransient());

            container.Register(Component.For <IAssetService>()
                               .ImplementedBy(typeof(CloudinaryService))
                               .DependsOn(new
            {
                cloudinaryInstance = container.Resolve <CloudinaryDotNet.Cloudinary>(),
                Salt = ConfigurationManager.AppSettings["CloudinarySalt"]
            }).LifestyleTransient());
        }
Example #13
0
        public static byte[] ReadConfigFileAttributeAsByteArray(string key, string configSectionName)
        {
            dynamic protectedAppSettings = new Formo.Configuration(configSectionName);

            return(Convert.FromBase64String(protectedAppSettings.Get(key)));
        }
Example #14
0
        public TenantFilterAttribute()
        {
            dynamic config = new Formo.Configuration();

            _tenantId = Guid.Parse(config.TenantId);
        }
Example #15
0
        static Site()
        {
            dynamic config = new Formo.Configuration();

            SiteUrl = config.SiteUrl <Uri>("/");
        }
Example #16
0
        public TenantFilterAttribute()
        {
            dynamic config = new Formo.Configuration();

            _tenantId = Guid.Parse(config.TenantId);
        }
Example #17
0
        public static byte[] ReadProtectedAppSettingAsByteArray(string protectedAppSettingKey)
        {
            dynamic protectedAppSettings = new Formo.Configuration("protectedAppSettings");

            return(Convert.FromBase64String(protectedAppSettings.Get(protectedAppSettingKey)));
        }
Example #18
0
 static Site()
 {
     dynamic config = new Formo.Configuration();
     SiteUrl = config.SiteUrl<Uri>("/");
 }