//=============================================================== internal static AzureOptions <T> CreateFrom <TValue>(AzureOptions <TValue> options) { return(new AzureOptions <T> { ContainerName = options.ContainerName, ContentType = options.ContentType, }); }
//=============================================================== public AzureContainerInterface(CloudStorageAccount storageAccount, AzureOptions <T> options) { StorageAccount = storageAccount; Options = options; }
//=============================================================== private ExplicitKeyAzureRepository <String, String> Strings(AzureOptions <String> options = null) { return(ExplicitKeyAzureRepository <String, String> .ForStorageEmulator(options)); }
//=============================================================== private ExplicitKeyAzureRepository <TestClass> ExplicitKeyTestObjects(AzureOptions <TestClass> options = null) { return(ExplicitKeyAzureRepository <TestClass> .ForStorageEmulator(options)); }
//=============================================================== private AzureRepository <TestClass> TestObjects(AzureOptions <TestClass> options = null) { return(AzureRepository <TestClass> .ForStorageEmulator(x => x.ID, options)); }
//=============================================================== public static AzureRepository <T> ForStorageEmulator(Func <T, object> keySelector, AzureOptions <T> options = null) { return(ForStorageEmulator(x => new[] { keySelector(x) }, options)); }
//=============================================================== public static AzureRepository <T> ForStorageEmulator(Func <T, object[]> keySelector, AzureOptions <T> options = null) { return(new AzureRepository <T>(keySelector, CloudStorageAccount.DevelopmentStorageAccount, options)); }
//=============================================================== public static AzureRepository <T> FromNamedConnectionString(Func <T, object> keySelector, String connectionStringName, AzureOptions <T> options = null) { var connStr = AzureUtility.GetNamedConnectionString(connectionStringName); return(FromExplicitConnectionString(keySelector, connStr, options)); }
//=============================================================== public static AzureRepository <T> FromExplicitConnectionString(Func <T, object> keySelector, String connectionString, AzureOptions <T> options = null) { return(new AzureRepository <T>(keySelector, connectionString, options)); }
//=============================================================== public static ExplicitKeyAzureRepository <TValue> FromNamedConnectionString(String connectionStringName, AzureOptions <TValue> options = null) { var connStr = AzureUtility.GetNamedConnectionString(connectionStringName); return(FromExplicitConnectionString(connStr, options)); }
//=============================================================== public static ExplicitKeyAzureRepository <TValue> FromExplicitConnectionString(String connectionString, AzureOptions <TValue> options = null) { return(new ExplicitKeyAzureRepository <TValue>(connectionString, options)); }
//=============================================================== public static ExplicitKeyAzureRepository <TValue> ForStorageEmulator(AzureOptions <TValue> options = null) { return(new ExplicitKeyAzureRepository <TValue>(AzureUtility.EMULATOR_CONNECTION_STRING, options)); }
//=============================================================== public ExplicitKeyAzureRepository(String connectionString, AzureOptions <TValue> options = null) : base(new AzureRepository <TValue>(x => new object[] { }, connectionString, options)) { }
//=============================================================== internal AzureRepository(Func <T, object[]> keySelector, CloudStorageAccount storageAccount, AzureOptions <T> options = null) : base(keySelector) { Options = options ?? new AzureOptions <T>(); Options.ContainerName = Options.ContainerName != null?AzureUtility.SanitizeContainerName(Options.ContainerName) : AzureUtility.GetSanitizedContainerName <T>(); AzureContainerInterface = new AzureContainerInterface <T>(storageAccount, Options); PendingChanges = new List <IOperation>(); }
//=============================================================== public AzureRepository(Func <T, object[]> keySelector, String connectionString, AzureOptions <T> options = null) : this(keySelector, CloudStorageAccount.Parse(connectionString), options) { ConnectionString = connectionString; }
//=============================================================== public AzureRepository(Func <T, object> keySelector, String connectionString, AzureOptions <T> options = null) : this(x => new[] { keySelector(x) }, connectionString, options) { }