public async Task <ActionResult> UpdateAvatar(string ID) { var db = new GeeksForLessTestDBEntities(); var userAvatar = db.AspNetUsers.FirstOrDefault(m => m.Id == ID); if (string.IsNullOrEmpty(ID) || Request.Files["avatar"] == null) { return(PartialView("UserAvatar", userAvatar.Avatar)); } var file = @Request.Files["avatar"]; string fileName; string filePath; string json = string.Empty; fileName = file.FileName; Directory.CreateDirectory(Server.MapPath("~/Content/img/")); filePath = Path.Combine(Server.MapPath("~/Content/img/" + fileName)); file.SaveAs(filePath); userAvatar.Avatar = "/Content/img/" + fileName; await db.SaveChangesAsync(); return(PartialView("UserAvatar", userAvatar.Avatar ?? "")); }
public async Task <ActionResult> AddComment(CommentViewModel model) { // ViewBag.str = model.Reply_to + ' ' + model.Text + ' ' + model.Theme + ' ' + model.Author.Id; if (!ModelState.IsValid) { return(PartialView(new CommentViewModel())); } var db = new GeeksForLessTestDBEntities(); long temp; long.TryParse(model.Reply_to.ToString(), out temp); var message = new Themes_messages() { Theme = model.Theme, Text = model.Text, Reply_to = temp == 0 ? null : (long?)temp, Publication_date = DateTime.Now, Author = User.Identity.GetIdOfUser() }; db.Themes_messages.Add(message); await db.SaveChangesAsync(); return(RedirectToAction("GetTheme", "Themes", new { ID = model.Theme })); }
public async Task <ActionResult> AddTheme(AddThemeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } using (var db = new GeeksForLessTestDBEntities()) { long temp; long.TryParse(model.MainThemeId, out temp); string authorID = db.AspNetUsers.Where(user => user.UserName == User.Identity.Name).FirstOrDefault().Id; var theme = new Themes { Name = model.Name, Text = model.Text, Main_theme = temp == 0 ? null : (long?)temp, Publication_date = DateTime.Now, Author = authorID }; db.Themes.Add(theme); await db.SaveChangesAsync(); return(RedirectToAction("GetTheme", "Themes", new { ID = theme.Id })); } }
public async Task <ActionResult> RemoveTheme(long ID) { var db = new GeeksForLessTestDBEntities(); db.Themes.Remove(db.Themes.FirstOrDefault(theme => theme.Id == ID)); await db.SaveChangesAsync(); return(RedirectToAction("Index", "Themes")); }
public async Task <ActionResult> RemoveComment(long?ID) { var db = new GeeksForLessTestDBEntities(); var comment = db.Themes_messages.Find(ID); var theme = comment.Themes; db.Themes_messages.Remove(comment); await db.SaveChangesAsync(); return(RedirectToAction("GetTheme", "Themes", new { ID = theme.Id })); }
public async Task <ActionResult> ChangeTheme(ChangeThemeViewModel model, string returnUrl) { if (model == null) { return(RedirectToLocal(returnUrl)); } var db = new GeeksForLessTestDBEntities(); var Theme = db.Themes.FirstOrDefault(m => m.Id == model.Id); if (Theme != null) { Theme.Main_theme = model.MainThemeId; Theme.Name = model.Name; Theme.Text = model.Text; } await db.SaveChangesAsync(); return(RedirectToAction("GetTheme", "Themes", new { ID = model.Id })); }
public async Task <ActionResult> ChangeComment(ChangeCommentViewModel model, string returnUrl) { if (model == null || !model.Id.HasValue) { return(RedirectToLocal(returnUrl)); } var db = new GeeksForLessTestDBEntities(); var Comment = db.Themes_messages.FirstOrDefault(m => m.Id == model.Id.Value); if (Comment != null) { Comment.Reply_to = model.ReplyToId; Comment.Text = model.Message.Text; } await db.SaveChangesAsync(); var theme = Comment.Themes; var Messages = db.Themes_messages.Where(themeMessage => themeMessage.Theme == theme.Id); var MessageLikes = new List <CommentLikesView>(); foreach (var message in Messages) { var Likes = db.Likes.Where(Like => Like.Target == message.Id /* && Like.Target_type == 1*/); MessageLikes.Add(new CommentLikesView() { Comment = message, Likes = Likes }); } ViewBag.ReturnUrl = returnUrl; ViewBag.user = db.AspNetUsers.Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); ViewBag.Theme = theme; return(PartialView("Messages", MessageLikes)); }