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); } } }
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); } } }
public PostViewData PostRowByPost(string postRowKey, string postPartitionKey) { Post post = _postRepository.Find(postRowKey); if (post == null) { return(null); } if (!post.State) { return(null); } return(new PostViewData { PostContent = post.PostContent, PostImage = post.PostImage, PostTitle = post.PostTitle, RowKey = post.RowKey }); }