// GET: Profile public ActionResult Index(Guid? id) { User user = new User(); if (id == null) { Guid UserID = new Guid(User.Identity.Name); user = db.Users.Find(UserID); } else { user = db.Users.Find(id); } ProfileModel profile = new ProfileModel(); profile.UserID = user.UserID; profile.Surname = user.Surname; profile.Name = user.Name; profile.Email = user.Email; profile.ProfilePicture = user.ProfilePicture; List<Article> article = db.Articles.Where(x => x.UserID == profile.UserID).ToList(); int countShare = 0; foreach (var item in article) { List<Share> share = db.Shares.Where(x => x.ArticleID == item.ArticleID).ToList(); countShare = countShare + share.Count(); } profile.NumArticles = article.Count(); profile.NumShared = countShare; return View(profile); }
// GET: Profile/Edit/5 public ActionResult Edit(Guid? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } User user = db.Users.Find(id); if (user == null) { return HttpNotFound(); } ProfileModel profile = new ProfileModel(); profile.Name = user.Name; profile.Surname = user.Surname; profile.UserID = user.UserID; profile.ProfilePicture = user.ProfilePicture; return View(profile); }
public ActionResult Edit(ProfileModel profile) { if (ModelState.IsValid) { Guid UserID = new Guid(User.Identity.Name); if (UserID != profile.UserID) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } User user = db.Users.Find(UserID); if (profile.PictureFile != null) { string dirname = "~/Content/ProfilePicture"; var fileName = Path.GetFileName(profile.PictureFile.FileName); int extPos = fileName.LastIndexOf('.'); string ext = fileName.Substring(extPos); string newFileName = UserID.ToString() + ext; var path = Path.Combine(Server.MapPath(dirname), (newFileName)); profile.PictureFile.SaveAs(path); user.ProfilePicture = ext; } user.Name = profile.Name; user.Surname = profile.Surname; db.Entry(user).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(profile); }