Beispiel #1
0
        private ActionResult ViewForm()
        {
            var form = new ViewModels.Wall.Form()
            {
                Caption = ""
            };

            return(View("/Views/Wall/Form.cshtml", form));
        }
Beispiel #2
0
        public async Task <ActionResult> AddPost(ViewModels.Wall.Form form, IFormFile mediaFile)
        {
            if (ModelState.IsValid)
            {
                await clientProvider.WallClient.PostToWallAsync(new PostToWallRequest
                {
                    Post = new WallPost
                    {
                        Username = Constants.DemoUsername,
                        Caption  = form.Caption
                    }
                });

                return(RedirectToAction("Index"));
            }
            return(ViewForm());
        }
        public async Task <ActionResult> AddPost(ViewModels.Wall.Form form, IFormFile mediaFile)
        {
            if (ModelState.IsValid)
            {
                MediaId mediaId = null;
                if (mediaFile != null)
                {
                    using (var mediaStream = mediaFile.OpenReadStream())
                    {
                        var memoryStream = new MemoryStream();
                        mediaStream.CopyTo(memoryStream);

                        UploadImageResponse uploadResponse = await clientProvider.MediaClient.UploadImageAsync(new UploadImageRequest
                        {
                            Image = new Image
                            {
                                Data     = ByteString.CopyFrom(memoryStream.ToArray()),
                                Mimetype = mediaFile.ContentType
                            }
                        });

                        mediaId = uploadResponse.Id;
                    }
                }

                await clientProvider.WallClient.PostToWallAsync(new PostToWallRequest
                {
                    Post = new WallPost
                    {
                        Username = Constants.DemoUsername,
                        Caption  = form.Caption,
                        MediaId  = mediaId
                    }
                });

                return(RedirectToAction("Index"));
            }
            return(ViewForm());
        }