protected void ButtonSave_Click(object sender, EventArgs e)
        {
            if (FileUploadImage.HasFiles & Page.IsValid)
            {
                string uniqueBobName = string.Format("{0}/funnyimage_{1}{2}", Utils.CloudBlobKey,
                                                     Guid.NewGuid().ToString(),
                                                     Path.GetExtension(FileUploadImage.FileName));

                CloudBlockBlob blob = _blobClient.GetBlockBlobReference(uniqueBobName);
                blob.Properties.ContentType = FileUploadImage.PostedFile.ContentType;
                blob.UploadFromStream(FileUploadImage.FileContent);

                FunnyAppRepository<Post> postRepository = new FunnyAppRepository<Post>();
                FunnyAppRepository<Tag> tagRepository = new FunnyAppRepository<Tag>();

                MembershipUser user = Membership.GetUser(Page.User.Identity.Name);
                if (user != null)
                {
                    Post post = new Post
                        {
                            PostContent = TextBoxDescription.Text,
                            PostTitle = TextBoxTitle.Text,
                            State = false,
                            UserId = user.ProviderUserKey.ToString()
                        };

                    string[] tags = TextBoxTag.Text.Split(';');
                    foreach (string tag in tags)
                    {
                        if (!string.IsNullOrEmpty(tag))
                        {
                            tagRepository.Create(new Tag()
                                {
                                    PostRowKey = post.RowKey,
                                    PostPartitionKey = post.PartitionKey,
                                    TagName = tag,
                                });
                            tagRepository.SubmitChange();
                        }
                    }

                    postRepository.Create(post);
                    postRepository.SubmitChange();

                    CloudQueue queue = _queueClient.GetQueueReference(Utils.CloudQueueKey);
                    CloudQueueMessage message =
                        new CloudQueueMessage(string.Format("{0},{1},{2}", blob.Uri, post.PartitionKey, post.RowKey));
                    queue.AddMessage(message);

                    LabelResult.Text = "Uploaded";
                }
                else
                {
                    LabelResult.Text = "Failed";
                }
            }
        }
示例#2
0
        protected void ButtonSave_Click(object sender, EventArgs e)
        {
            if (FileUploadImage.HasFiles & Page.IsValid)
            {
                string uniqueBobName = string.Format("{0}/funnyimage_{1}{2}", Utils.CloudBlobKey,
                                                     Guid.NewGuid().ToString(),
                                                     Path.GetExtension(FileUploadImage.FileName));

                CloudBlockBlob blob = _blobClient.GetBlockBlobReference(uniqueBobName);
                blob.Properties.ContentType = FileUploadImage.PostedFile.ContentType;
                blob.UploadFromStream(FileUploadImage.FileContent);

                FunnyAppRepository <Post> postRepository = new FunnyAppRepository <Post>();
                FunnyAppRepository <Tag>  tagRepository  = new FunnyAppRepository <Tag>();

                MembershipUser user = Membership.GetUser(Page.User.Identity.Name);
                if (user != null)
                {
                    Post post = new Post
                    {
                        PostContent = TextBoxDescription.Text,
                        PostTitle   = TextBoxTitle.Text,
                        State       = false,
                        UserId      = user.ProviderUserKey.ToString()
                    };

                    string[] tags = TextBoxTag.Text.Split(';');
                    foreach (string tag in tags)
                    {
                        if (!string.IsNullOrEmpty(tag))
                        {
                            tagRepository.Create(new Tag()
                            {
                                PostRowKey       = post.RowKey,
                                PostPartitionKey = post.PartitionKey,
                                TagName          = tag,
                            });
                            tagRepository.SubmitChange();
                        }
                    }

                    postRepository.Create(post);
                    postRepository.SubmitChange();

                    CloudQueue        queue   = _queueClient.GetQueueReference(Utils.CloudQueueKey);
                    CloudQueueMessage message =
                        new CloudQueueMessage(string.Format("{0},{1},{2}", blob.Uri, post.PartitionKey, post.RowKey));
                    queue.AddMessage(message);

                    LabelResult.Text = "Uploaded";
                }
                else
                {
                    LabelResult.Text = "Failed";
                }
            }
        }
        public override void Run()
        {
            while (true)
            {
                try
                {
                    CloudQueueMessage message = _queue.GetMessage();
                    if (message != null)
                    {
                        string[] messageArray = message.AsString.Split(new char[] { ',' });
                        string outputBlobUri = messageArray[0];
                        string partitionKey = messageArray[1];
                        string rowkey = messageArray[2];

                        _queue.PeekMessage();

                        string inputBlobUri = Regex.Replace(outputBlobUri, "([^\\.]+)(\\.[^\\.]+)?$", "$1-myimage$2");

                        _container.CreateIfNotExist();
                        CloudBlob inputBlob = _container.GetBlobReference(outputBlobUri);
                        CloudBlob outputBlob = _container.GetBlobReference(inputBlobUri);

                        using (BlobStream input = inputBlob.OpenRead())
                        using (BlobStream output = outputBlob.OpenWrite())
                        {
                            ProcessImage(input, output);

                            output.Commit();
                            outputBlob.Properties.ContentType = "image/jpeg";
                            outputBlob.SetProperties();

                            FunnyAppRepository<Post> postRepository = new FunnyAppRepository<Post>();
                            Post post = postRepository.Find(partitionKey, rowkey);
                            
                            post.PostImage = inputBlobUri;
                            post.State = true;
                            postRepository.Update(post);
                            postRepository.SubmitChange();

                            _queue.DeleteMessage(message);
                        }
                    }
                }
                catch (StorageClientException e)
                {
                    Trace.Write(e);
                }
            }
        }
示例#4
0
        public override void Run()
        {
            while (true)
            {
                try
                {
                    CloudQueueMessage message = _queue.GetMessage();
                    if (message != null)
                    {
                        string[] messageArray  = message.AsString.Split(new char[] { ',' });
                        string   outputBlobUri = messageArray[0];
                        string   partitionKey  = messageArray[1];
                        string   rowkey        = messageArray[2];

                        _queue.PeekMessage();

                        string inputBlobUri = Regex.Replace(outputBlobUri, "([^\\.]+)(\\.[^\\.]+)?$", "$1-myimage$2");

                        _container.CreateIfNotExist();
                        CloudBlob inputBlob  = _container.GetBlobReference(outputBlobUri);
                        CloudBlob outputBlob = _container.GetBlobReference(inputBlobUri);

                        using (BlobStream input = inputBlob.OpenRead())
                            using (BlobStream output = outputBlob.OpenWrite())
                            {
                                ProcessImage(input, output);

                                output.Commit();
                                outputBlob.Properties.ContentType = "image/jpeg";
                                outputBlob.SetProperties();

                                FunnyAppRepository <Post> postRepository = new FunnyAppRepository <Post>();
                                Post post = postRepository.Find(partitionKey, rowkey);

                                post.PostImage = inputBlobUri;
                                post.State     = true;
                                postRepository.Update(post);
                                postRepository.SubmitChange();

                                _queue.DeleteMessage(message);
                            }
                    }
                }
                catch (StorageClientException e)
                {
                    Trace.Write(e);
                }
            }
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (IsPostBack) return;
     FunnyAppRepository<Post> _postRepository = new FunnyAppRepository<Post>();
     List<PostViewData> viewDatas = new List<PostViewData>();
     _postRepository.Get().Where(post => post.UserId == Membership.GetUser(Page.User.Identity.Name).ProviderUserKey.ToString()).ToList()
                    .Where(post=> post.State)
                    .OrderByDescending(post => post.Timestamp)
                    .Take(20).ToList().ForEach(post => viewDatas.Add(new PostViewData()
                    {
                        PostContent = post.PostContent,
                        PostImage = post.PostImage,
                        RowKey = post.RowKey,
                        UserId = post.UserId
                    }));
     this.RepeaterImages.DataSource = viewDatas;
     this.RepeaterImages.DataBind();
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            Page.Title = "Home";

            if(IsPostBack)return;
            FunnyAppRepository<Post> _postRepository = new FunnyAppRepository<Post>();
            List<PostViewData> viewDatas = new List<PostViewData>();
            _postRepository.Get().Where(post => post.State == true).ToList()
                           .OrderByDescending(post => post.Timestamp)
                           .Take(20).ToList().ForEach(post => viewDatas.Add(new PostViewData()
                               {
                                   PostContent = post.PostContent,
                                   PostImage = post.PostImage,
                                   RowKey = post.RowKey,
                                   UserId = post.UserId
                               }));
            this.RepeaterImages.DataSource = viewDatas;
            this.RepeaterImages.DataBind();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if(IsPostBack)return;
            FunnyAppRepository<Tag> _tagRepository = new FunnyAppRepository<Tag>();

            List<string> tags = new List<string>();

            foreach (var tag in _tagRepository.Get().ToList())
            {
                tags.Add(tag.TagName);
            }

            StringBuilder builder = new StringBuilder();
            foreach (var tag in tags.Distinct())
            {
                builder.Append(string.Format("<a href='/Tags.aspx?tag={0}'>{1}</a>", tag, tag));
            }

            LiteralTag.Text = builder.ToString();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }
            FunnyAppRepository <Post> _postRepository = new FunnyAppRepository <Post>();
            List <PostViewData>       viewDatas       = new List <PostViewData>();

            _postRepository.Get().Where(post => post.UserId == Membership.GetUser(Page.User.Identity.Name).ProviderUserKey.ToString()).ToList()
            .Where(post => post.State)
            .OrderByDescending(post => post.Timestamp)
            .Take(20).ToList().ForEach(post => viewDatas.Add(new PostViewData()
            {
                PostContent = post.PostContent,
                PostImage   = post.PostImage,
                RowKey      = post.RowKey,
                UserId      = post.UserId
            }));
            this.RepeaterImages.DataSource = viewDatas;
            this.RepeaterImages.DataBind();
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     string queryString = Request.QueryString["q"];
     if (!string.IsNullOrEmpty(queryString))
     {
         FunnyAppRepository<Post> postRepository = new FunnyAppRepository<Post>();
         List<PostViewData> viewDatas = new List<PostViewData>();
         postRepository.Get().Where(m => m.State == true)
                        .ToList()
                        .Where(m => m.PostTitle.StartsWith(queryString, StringComparison.OrdinalIgnoreCase))
                        .ToList()
                        .ForEach(post => viewDatas.Add(new PostViewData()
                            {
                                RowKey = post.RowKey,
                                PostContent = post.PostContent,
                                PostImage = post.PostImage,
                                PostTitle = post.PostTitle
                            }));
         this.RepeaterImages.DataSource = viewDatas;
         this.RepeaterImages.DataBind();
     }
 }
示例#10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Page.Title = "Home";

            if (IsPostBack)
            {
                return;
            }
            FunnyAppRepository <Post> _postRepository = new FunnyAppRepository <Post>();
            List <PostViewData>       viewDatas       = new List <PostViewData>();

            _postRepository.Get().Where(post => post.State == true).ToList()
            .OrderByDescending(post => post.Timestamp)
            .Take(20).ToList().ForEach(post => viewDatas.Add(new PostViewData()
            {
                PostContent = post.PostContent,
                PostImage   = post.PostImage,
                RowKey      = post.RowKey,
                UserId      = post.UserId
            }));
            this.RepeaterImages.DataSource = viewDatas;
            this.RepeaterImages.DataBind();
        }
示例#11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string queryString = Request.QueryString["q"];

            if (!string.IsNullOrEmpty(queryString))
            {
                FunnyAppRepository <Post> postRepository = new FunnyAppRepository <Post>();
                List <PostViewData>       viewDatas      = new List <PostViewData>();
                postRepository.Get().Where(m => m.State == true)
                .ToList()
                .Where(m => m.PostTitle.StartsWith(queryString, StringComparison.OrdinalIgnoreCase))
                .ToList()
                .ForEach(post => viewDatas.Add(new PostViewData()
                {
                    RowKey      = post.RowKey,
                    PostContent = post.PostContent,
                    PostImage   = post.PostImage,
                    PostTitle   = post.PostTitle
                }));
                this.RepeaterImages.DataSource = viewDatas;
                this.RepeaterImages.DataBind();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }
            FunnyAppRepository <Tag> _tagRepository = new FunnyAppRepository <Tag>();

            List <string> tags = new List <string>();

            foreach (var tag in _tagRepository.Get().ToList())
            {
                tags.Add(tag.TagName);
            }

            StringBuilder builder = new StringBuilder();

            foreach (var tag in tags.Distinct())
            {
                builder.Append(string.Format("<a href='/Tags.aspx?tag={0}'>{1}</a>", tag, tag));
            }

            LiteralTag.Text = builder.ToString();
        }