// // GET: /Image/ public ActionResult DisplayImage(string filename) { int UserID = WebSecurity.CurrentUserId; if (Request.QueryString["code"] != null) { SocialMediaTools socTools = new SocialMediaTools(); var fb = new FacebookClient(); string accessCode = Request.QueryString["code"].ToString(); dynamic result = fb.Post("oauth/access_token", new { client_id = "333143620161224", //This is my facebook APP ID client_secret = "48a7bbdec0e82f32af25681980b288d0", //The APP's SECRET ID redirect_uri = Request.Url.AbsoluteUri.ToString(), code = accessCode //Code used to swap for Token }); //Check result object for the token var accessToken = result.access_token; //Throw Token into a session, incase we might need later Session["AccessToken"] = accessToken; //Attach Token to Current Clients token paramater fb.AccessToken = accessToken; //Start Upload, passing filename and currently open client socTools.PostToFacebook(filename, fb); //Completed Response.Redirect("./../Home/Album"); return View(); } else { var files = from f in dbContext.Files where f.UserID == UserID && f.Filename == filename select f; ViewBag.Tags = PAWA.Classes.DisplayImage.GetTags(dbContext, files.First().Tags); int value = files.SingleOrDefault().FileID; ViewBag.FolderId = files.SingleOrDefault().FolderID; return View(files.First()); } }
public ActionResult DisplayImage(string fileName, string editImage, string deleteImage, string ShareToFacebook) { //If they want to delete if (deleteImage != null) { //Call Delete Method DeleteImage delImage = new DeleteImage(); delImage.deleteSingleImage(Request, Server, fileName); //Navigate to album return RedirectToAction("./../Home/Album"); } else if (editImage != null) { EditImage ei = new EditImage(); int index = ei.GetID(fileName); return RedirectToAction("./../Image/UpdateImage", new{fileID = index}); ; } //If they want to share to Facebook else if (ShareToFacebook != null) { SocialMediaTools SocTools = new SocialMediaTools(); FacebookClient FBClient = new FacebookClient(); //Create a custom query for facebook, they then return a in-url code which we exchange for a user token var loginUrl = FBClient.GetLoginUrl(new { client_id = "333143620161224", redirect_uri = (Request.Url.AbsoluteUri.ToString() + "?filename=" + fileName), response_type = "code", scope = "publish_actions,publish_stream" }); //Reload the page and get a new Acess Token for this user --> Go to HTTPPOST Response.Redirect(loginUrl.AbsoluteUri); return View(fileName); } else { //Not deleting, do nothing return DisplayImage(fileName); } }