public ActionResult AddComment(LibraryBookDetails model, string lib, string bk) { LibraryBook libraryBook = db.LibraryBooks.FirstOrDefault(x => x.LibraryId.ToString() == lib && x.BookId.ToString() == bk); LibraryComment libraryComment = new LibraryComment() { LibraryBookId = libraryBook.Id, Comment = model.YourComment, Date = DateTime.Now, UserId = User.Identity.GetUserId() }; db.LibraryComments.Add(libraryComment); db.SaveChanges(); return(RedirectToAction("Book", new { lib = lib, bk = bk })); }
public ActionResult Book(LibraryBookDetails model, string lib, string bk) { if (String.IsNullOrEmpty(lib) || String.IsNullOrEmpty(bk)) { return(RedirectToAction("")); } if (!HasAccessToLib(lib)) { return(RedirectToAction("")); } Book book = db.Books.FirstOrDefault(x => x.Id.ToString() == bk); LibraryBook libraryBook = db.LibraryBooks.FirstOrDefault(x => x.BookId.ToString() == bk && x.LibraryId.ToString() == lib); //comments List <LibraryComment> comments = db.LibraryComments.Where(x => x.LibraryBookId == libraryBook.Id).ToList(); List <LibraryComment> modelComments = new List <LibraryComment>(); var q = (from lc in comments join us in db.Users on lc.UserId equals us.Id select new { lc = lc.Comment, us }); foreach (var t in q) { modelComments.Add(new LibraryComment() { Comment = t.lc, User = t.us }); } //userreading var userID = User.Identity.GetUserId(); UserReading userReading = db.UserReadings.FirstOrDefault(x => x.UserId == userID && x.BookId.ToString() == bk); //libraryLending LibraryLending libraryLending = db.LibraryLendings.FirstOrDefault(ll => ll.EndDate == null && (ll.LibraryBookId == libraryBook.Id || ll.CopyLibraryBookId == libraryBook.Id)); ViewBag.Lending = GetBookState(book, lib); if (ViewBag.Lending == "out") { LibraryBook lb = db.LibraryBooks.FirstOrDefault(x => x.Id == libraryLending.CopyLibraryBookId); Library library = db.Libraries.FirstOrDefault(l => l.Id == lb.LibraryId); ApplicationUser borrowUser = db.Users.FirstOrDefault(usr => usr.Id == library.UserId); ViewBag.BorrowingUser = borrowUser; } else if (ViewBag.Lending == "out-ext") { ViewBag.BorrowingUserExternal = libraryLending.ExternalBorrower; } else if (ViewBag.Lending == "in") { LibraryBook lb = db.LibraryBooks.FirstOrDefault(x => x.Id == libraryLending.LibraryBookId); Library library = db.Libraries.FirstOrDefault(l => l.Id == lb.LibraryId); ApplicationUser lendUser = db.Users.FirstOrDefault(usr => usr.Id == library.UserId); ViewBag.LendingUser = lendUser; } else if (ViewBag.Lending == "in-ext") { ViewBag.LendingUserExternal = libraryLending.ExternalLender; } //Are you an owner? Library libraryOwner = db.Libraries.FirstOrDefault(l => l.Id == libraryBook.LibraryId); ViewBag.Owner = userID == libraryOwner.UserId ? true : false; model.Book = book; model.Comments = comments; model.UserReading = userReading; model.LibraryLending = libraryLending; return(View(model)); }