protected override void Seed(FirstIssueContext context) { var elmahScript = Assembly.GetExecutingAssembly().GetFileResourceAsString("FirstIssue.WebApp.Models.Initializer.elmah.sql"); var scriptSnippets = Regex.Split(elmahScript, "GO"); foreach (var scriptSnippet in scriptSnippets) { context.Database.ExecuteSqlCommand(scriptSnippet); } var blobStorage = new MagazineCoverContext(CloudStorageAccountFactory.CreateCloudStorageAccount()); var newId = Guid.NewGuid().ToString(); blobStorage.AddSnapImage(newId, Assembly.GetExecutingAssembly().GetManifestResourceStream("FirstIssue.WebApp.Models.Initializer.DefaultCover.png")); AddFonts(context); context.SaveChanges(); AddDefaultStyles(context); context.SaveChanges(); AddMagazine(context, newId); context.SaveChanges(); AddIssues(context, newId); context.SaveChanges(); AddIssue1Articles(context); context.SaveChanges(); AddIssue2Articles(context); context.SaveChanges(); }
private static void SetupBlobStorage() { var storageAccount = CloudStorageAccountFactory.CreateCloudStorageAccount(); var blobClient = storageAccount.CreateCloudBlobClient(); var container = blobClient.GetContainerReference(MagazineCoverContext.MagazineCoverContainer); container.CreateIfNotExists(); }
/// <summary> /// Returns a URI to a Azure blob given a container name and an identifier /// Handles switching URL for blob storage /// Usage, /// img src="@Url.AzureImageUrl(container name, identifier)" /// </summary> public static MvcHtmlString AzureImageUrl(this UrlHelper helper, string container, string identifier) { var domain = CloudStorageAccountFactory.CreateCloudStorageAccount().BlobEndpoint; Uri uri; // Cannot find a better way of doing this - storage emulator should always be 127.0.0.1 even if on differnt port if (domain.Host == "127.0.0.1") { uri = new Uri(domain, string.Format("devstoreaccount1/{0}/{1}", container, identifier)); } else { uri = new Uri(domain, string.Format("{0}/{1}", container, identifier)); } return(new MvcHtmlString(uri.ToString())); }