コード例 #1
0
        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();
        }
コード例 #2
0
        private static void SetupBlobStorage()
        {
            var storageAccount = CloudStorageAccountFactory.CreateCloudStorageAccount();
            var blobClient     = storageAccount.CreateCloudBlobClient();
            var container      = blobClient.GetContainerReference(MagazineCoverContext.MagazineCoverContainer);

            container.CreateIfNotExists();
        }
コード例 #3
0
        /// <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()));
        }