public ActionResult CreateComment(ViewPostViewModel inModel) { var post = _ctx.Post.Where(m => m.Id == inModel.Id).SingleOrDefault(); var images = _ctx.Image.Where(i => i.Post.Id == post.Id).AsEnumerable(); var user = _ctx.UserProfiles.Where(u => u.UserId == post.User.UserId).SingleOrDefault(); var recipient = post.User; var recipientEmail = recipient.Email; var comments = _ctx.Comment.Where(c => c.PostId == post.Id).ToList<Comment>(); //TODO //if (!ModelState.IsValid) //{ // return View(inModel); //} var comment = new Comment(); comment.Recipient = recipient.UserName; comment.Author = HttpContext.User.Identity.Name; comment.Subject = inModel.Subject; comment.Body = inModel.Body; comment.EntryDate = DateTime.Now; comment.LandLord = post.LandLord; comment.PostId = post.Id; _repository.AddComment(comment); try { var bemail = new MailMessage(recipientEmail, user.Email, "Someone commented on your Tenant's Village post", comment.Author + " commented on your post for " + comment.LandLord + "." + System.Environment.NewLine + "Here is " + comment.Author + "'s comment: " + inModel.Body); var smtpServer = new SmtpClient(); smtpServer.Send(bemail); } catch (Exception e) { ModelState.AddModelError("", "There was an error sending your message"); return View("Error"); } var outModel = new ViewPostViewModel { Id = post.Id, Title = post.Title, LandLord = post.LandLord, LLemail = post.LLemail, Post = post.Post, Rent = post.Rent, Deposit = post.Deposit, AmtKept = post.AmountKept, LeaseYear = post.LeaseYear, Images = images, User = user, Comments = comments }; return RedirectToAction("ViewPost", "Search", outModel); }
public ActionResult Index() { var pics = _ctx.Image.Where(m => m.IsDeleted == false && m.Post.IsDeleted == false && m.IsThumbnail == false).OrderByDescending(m => m.Id).Take(10).ToList<ImageModel>(); var outModel = new ViewPostViewModel(); outModel.Pic_0 = pics[0]; outModel.Pic_1 = pics[1]; outModel.Pic_2 = pics[2]; outModel.Pic_3 = pics[3]; outModel.Pic_4 = pics[4]; outModel.Pic_5 = pics[5]; outModel.Pic_6 = pics[6]; outModel.Pic_7 = pics[7]; outModel.Pic_8 = pics[8]; outModel.Pic_9 = pics[9]; return View(outModel); }
public ActionResult ViewPost(int id) { var post = _ctx.Post.Where(p => p.Id == id).SingleOrDefault(); var images = _ctx.Image.Where(i => i.Post.Id == id && i.IsDeleted == false && i.IsThumbnail == false).AsEnumerable(); var user = _ctx.UserProfiles.Where(u => u.UserId == post.User.UserId).SingleOrDefault(); var comments = _ctx.Comment.Where(m => m.PostId == post.Id).ToList<Comment>(); if (post.IsDeleted == true) { return View("DeletedPostError"); } var outModel = new ViewPostViewModel() { Id = post.Id, Title = post.Title, LandLord = post.LandLord, LLemail = post.LLemail, Post = post.Post, Rent = post.Rent, Street = post.Street, Deposit = post.Deposit, AmtKept = post.AmountKept, LeaseYear = post.LeaseYear, Images = images, User = user, Comments = comments, AptNumber = post.AptNumber, BuildingNumber = post.BuildingNumber, Rating = post.Rating, ZipCode = post.ZipCode, City = post.City }; if (_ctx.UserBookmark.Where(m => m.User.UserId == user.UserId).Where(m => m.Post.Id == post.Id).Any()) { outModel.IsBookmarked = true; } return View(outModel); }
public ActionResult ViewSampleComment(int threadId) { var thread = _ctx.Comment.Where(m => m.Id == threadId).SingleOrDefault(); var cModel = new CommentViewModel { Author = thread.Author, Body = thread.Body, EntryDate = thread.EntryDate, Subject = thread.Subject }; var outModel = new ViewPostViewModel { ComViewModel = cModel }; return PartialView("_ViewComment", outModel); }
public ActionResult Sample() { var post = "These people were ok. Maintainence was done pretty quickly. Snow removal was lacking at times, " + "but overall the parking was clear. Parking was expensive, $500 a year, and there was no visitor parking. " + "These people definitey gouge tenants on parking. At the end of the lease, only a portion of my deposit was returned. "+ "Money was kept for carpet cleaning and minor repairs. I am not too happy about the amount of my deposit withheld, but I did not take "+ "pictures so it will be difficult to counter their claims. I would recommend this unit and company if the person renting is prepared "+ "to takes pictures and stand their ground come deposit time."; var images = _ctx.Image.Where(m => m.Post.Id == 8).ToList<ImageModel>(); var comments = _ctx.Comment.Where(m => m.PostId == 0).ToList<Comment>(); var outModel = new ViewPostViewModel { Title = "Sample Post", LandLord = "Sample Management", LeaseYear = 2012, LLemail = "*****@*****.**", Post = post, Rent = 650, Deposit = 650, AmountKept = 400, IsDeleted = false, Id = 0, AptNumber = "1", Images = images, BuildingNumber = 419, Street = "Poplar Rd", UserName = "******", City = "Iowa City", ZipCode = 52246, Rating = 6.5, IsDeleteMode = false, Comments = comments }; return View(outModel); }
public ActionResult Delete(ViewPostViewModel inModel) { var post = _ctx.Post.Where(p => p.Id == inModel.Id).SingleOrDefault(); var currentUserId = _ctx.UserProfiles.Where(m => m.UserName == HttpContext.User.Identity.Name).SingleOrDefault().UserId; if (post.User.UserId != currentUserId) { return View("Error"); } if (post.User.UserName == inModel.UserName) { post.IsDeleted = true; _ctx.SaveChanges(); return RedirectToAction("Manage", "Post", new { needStatusUpdate = true, statusMessage = 5 }); } else { return View("Error", inModel); } }
public ActionResult Delete(int? id) { var post = _ctx.Post.Where(p => p.Id == id).SingleOrDefault(); var images = _ctx.Image.Where(m => m.Post.Id == post.Id).ToList<ImageModel>(); //var user = _ctx.UserProfiles.Find(post.User.UserId); var currentUserId = _ctx.UserProfiles.Where(m => m.UserName == HttpContext.User.Identity.Name).SingleOrDefault().UserId; if (post.User.UserId != currentUserId) { return View("Error"); } if (post.IsDeleted == true) { ModelState.AddModelError("", "This post has already been deleted"); return View(); } var outModel = new ViewPostViewModel { Title = post.Title, LandLord = post.LandLord, LeaseYear = post.LeaseYear, LLemail = post.LLemail, Post = post.Post, Rent = post.Rent, Deposit = post.Deposit, AmountKept = post.AmountKept, IsDeleted = post.IsDeleted, Id = post.Id, AptNumber = post.AptNumber, Images = images, BuildingNumber = post.BuildingNumber, Street = post.Street, UserName = post.User.UserName, City = post.City, ZipCode = post.ZipCode, Rating = post.Rating, IsDeleteMode = true, }; return View("DeleteConfirmation", outModel); }