private ActionResult ViewForm() { var form = new ViewModels.Wall.Form() { Caption = "" }; return(View("/Views/Wall/Form.cshtml", form)); }
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()); }