public ActionResult Create(BookClub club) { try { var userId = User.Identity.GetUserId(); if (userId == null) { return(RedirectToAction("Login", "Account")); } Member member = db.Members.FirstOrDefault(m => m.ApplicationUserId == userId); club.NameIsTaken = false; if (club.Id == default) { club.Id = Guid.NewGuid(); } if (db.BookClubs.FirstOrDefault(c => c.Name == club.Name) != null) { club.NameIsTaken = true; return(View(club)); } db.BookClubs.Add(club); db.ClubMembers.Add(new ClubMembers { Id = Guid.NewGuid(), Club = club, Member = member, IsManager = true }); db.SaveChanges(); return(RedirectToAction("Index", club)); } catch { return(View()); } }
public ActionResult Index(Guid id) { BookClub club = db.BookClubs.Find(id); ClubIndexViewModel viewModel = GetClubIndexViewModel(club); return(View(viewModel)); }
public ActionResult Edit(BookClub club) { try { club.NameIsTaken = false; var userId = User.Identity.GetUserId(); if (userId == null) { return(RedirectToAction("Login", "Account")); } BookClub bookClubWithSameName = db.BookClubs.FirstOrDefault(bc => bc.Name == club.Name); if (bookClubWithSameName != null && bookClubWithSameName.Id != club.Id) { club.NameIsTaken = true; return(View(club)); } Member member = db.Members.FirstOrDefault(m => m.ApplicationUserId == userId); ClubMembers clubMembers = db.ClubMembers.FirstOrDefault(cb => cb.MemberId == member.Id && cb.ClubId == club.Id); if (clubMembers.IsManager) { BookClub clubFromDb = db.BookClubs.Find(club.Id); clubFromDb.Name = club.Name; clubFromDb.PrivacyLevel = club.PrivacyLevel; clubFromDb.Description = club.Description; db.SaveChanges(); } return(RedirectToAction("Index", new { id = club.Id })); } catch { return(View()); } }
public ActionResult DeleteConfirmed(int id) { BookClub bookClub = db.BookClubs.Find(id); db.BookClubs.Remove(bookClub); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "BookClubID,BookClubName,AdminEmail,Profile,Status,Province,County,Area,LibraryName,NextMeeting,CurrentRead")] BookClub bookClub) { if (ModelState.IsValid) { db.Entry(bookClub).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(bookClub)); }
public ActionResult Edit([Bind(Include = "Id,Name,AccessCode,Description")] BookClub bookClub) { if (ModelState.IsValid) { db.Entry(bookClub).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(bookClub)); }
public ActionResult Create([Bind(Include = "Id,Name,AccessCode,Description")] BookClub bookClub) { if (ModelState.IsValid) { db.BookClubs.Add(bookClub); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(bookClub)); }
//private methods private async Task NotifyMembers(Discussion discussion) { BookClub club = db.BookClubs.Find(discussion.ClubId); List <ClubMembers> clubMembers = db.ClubMembers.Include("Member").Where(cm => cm.ClubId == club.Id).ToList(); discussion.Book = db.BookDiscussions.Include("Book").FirstOrDefault(bd => bd.DiscussionId == discussion.Id).Book; foreach (ClubMembers cm in clubMembers) { await BookSiteEmailService.SendEmail(BuildEmailModel(cm.Member, discussion)); } }
public ActionResult Edit([Bind(Include = "BookClubID,BookClubName,AdminEmail,Profile,Status,Province,County,Area,LibraryID,NextMeeting,CurrentRead")] BookClub bookClub) { if (ModelState.IsValid) { db.MarkAsModified(bookClub); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.LibraryID = new SelectList(db.Libraries, "LibraryID", "LibraryName", bookClub.LibraryID); return(View(bookClub)); }
//Private Methods private ClubIndexViewModel GetClubIndexViewModel(BookClub club) { ClubIndexViewModel viewModel = new ClubIndexViewModel { Club = club, Discussions = new List <Discussion>(), Members = new List <Member>() }; AddMembersToClubIndexViewModel(viewModel); AddDiscussionsToClubIndexViewModel(viewModel); AddBooksToClubIndexViewModel(viewModel); return(viewModel); }
public ActionResult Create([Bind(Include = "BookClubName,AdminEmail,Profile,Status,Province,County,Area,LibraryName,NextMeeting,CurrentRead,")] BookClub bookClub) { if (ModelState.IsValid) { db.BookClubs.Add(bookClub); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(bookClub)); }
private List <BookClub> GetBookClubs(Member member) { List <BookClub> clubs = new List <BookClub>(); List <ClubMembers> clubMembers = db.ClubMembers.Where(cm => cm.MemberId == member.Id).ToList(); foreach (ClubMembers cm in clubMembers) { BookClub club = db.BookClubs.Include("NextBook").FirstOrDefault(c => c.Id == cm.ClubId); clubs.Add(club); } return(clubs); }
// GET: BookClub/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } BookClub bookClub = db.BookClubs.Find(id); if (bookClub == null) { return(HttpNotFound()); } return(View(bookClub)); }
public WishList Identify(WishList wishList, BookClub bookClub) { foreach (var bookClubBook in bookClub.Books) { foreach (var wishListBook in wishList.Books) { if (wishListBook.Book.IsSameTitleAndAuthor(bookClubBook)) { wishListBook.IsBookClubSelection = true; } } } return wishList; }
// GET: BookList/Create public ActionResult Create(int?id) //bookclubid { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } BookClub bookClub = db.BookClubs.Find(id); if (bookClub == null) { return(HttpNotFound()); } ViewBag.BookClubID = bookClub.BookClubID; return(View()); }
public WishList Identify(WishList wishList, BookClub bookClub) { foreach (var bookClubBook in bookClub.Books) { foreach (var wishListBook in wishList.Books) { if (wishListBook.Book.IsSameTitleAndAuthor(bookClubBook)) { wishListBook.IsBookClubSelection = true; } } } return(wishList); }
// GET: BookClub/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } BookClub bookClub = db.BookClubs.Find(id); if (bookClub == null) { return(HttpNotFound()); } ViewBag.LibraryID = new SelectList(db.Libraries, "LibraryID", "LibraryName", bookClub.LibraryID); return(View(bookClub)); }
public void Setup() { _wishList = new WishList(); _bookClub = new BookClub(); _bookOne = new Book { Title = "someTitle", Author = "someAuthor" }; _bookTwo = new Book { Title = "anotherTitle", Author = "anotherAuthor" }; }
public bool CreateBookClub(BookClubCreate model) { var entity = new BookClub() { Name = model.Name, OwnerId = _userId, Description = model.Description, CreatedUtc = DateTimeOffset.Now }; using (var ctx = new ApplicationDbContext()) { ctx.BookClubs.Add(entity); return(ctx.SaveChanges() == 1); } }
public ActionResult ProcessClubCode(string accessCode) { BookClub bookClub = null;; if (accessCode == null) { return(RedirectToAction("Index", "Home", new { errorMessage = "Invalid Access Code" })); } else { bookClub = db.BookClubs.SingleOrDefault(b => b.AccessCode == accessCode); if (bookClub == null) { return(RedirectToAction("Index", "Home", new { errorMessage = "Invalid Access Code" })); } } return(RedirectToAction("Details", new { Id = bookClub.Id })); }
public ActionResult Create(NewDiscussionViewModel viewModel) { try { DateTime Start = new DateTime ( viewModel.Date.Year, viewModel.Date.Month, viewModel.Date.Day, viewModel.StartTime.Hour, viewModel.StartTime.Minute, 0 ); if ((Start - DateTime.Now).Ticks < 0) { return(View(viewModel)); } Book book = db.Books.Find(viewModel.Book.Id); Discussion discussion = new Discussion { Id = Guid.NewGuid(), ClubId = viewModel.ClubId, Name = viewModel.Name, StartTime = Start, Date = Start.Date }; BookDiscussions bookDiscussions = new BookDiscussions { Id = Guid.NewGuid(), Book = book, Discussion = discussion }; db.Discussions.Add(discussion); db.BookDiscussions.Add(bookDiscussions); BookClub club = db.BookClubs.Find(viewModel.ClubId); club.NextBook = book; db.SaveChanges(); return(RedirectToAction("Index", "Club", new { id = viewModel.ClubId })); } catch { return(View(viewModel)); } }
public ActionResult Join(BookClub club) { var userId = User.Identity.GetUserId(); if (userId == null) { return(RedirectToAction("Login", "Account")); } Member member = db.Members.FirstOrDefault(m => m.ApplicationUserId == userId); club = db.BookClubs.Find(club.Id); if (db.ClubMembers.FirstOrDefault(cm => cm.MemberId == member.Id && cm.ClubId == club.Id) == null) { db.ClubMembers.Add(new ClubMembers { Id = Guid.NewGuid(), Club = club, Member = member }); db.SaveChanges(); } return(RedirectToAction("Index", new { id = club.Id })); }