public ActionResult Update(GigFormViewModel viewModel) { if (!ModelState.IsValid) { viewModel.Genres = _unitOfWork.Genre.GetGenres(); return(View("GigForm", viewModel)); } var gig = _unitOfWork.Gigs.GetGigsWithAttendences(viewModel.Id); if (gig == null) { return(HttpNotFound()); } if (gig.ArtistId != User.Identity.GetUserId()) { return(new HttpUnauthorizedResult()); } gig.DateTime = viewModel.GetDatetime(); gig.Venue = viewModel.Venue; gig.GenreId = viewModel.Genre; gig.Modify(viewModel.GetDatetime(), viewModel.Venue, viewModel.Genre); _unitOfWork.Complete(); return(RedirectToAction("Mine", "Gigs")); }
public ActionResult Modify(GigFormViewModel ViewModel) { if (!ModelState.IsValid) { ViewModel.Genres = _unitOfWork.Genres.GetGenres(); return(View("GigForm", ViewModel)); } var gig = _unitOfWork.Gigs.GetGigWithAttendees(ViewModel.id); if (gig == null) { return(HttpNotFound()); } if (gig.ArtistId != User.Identity.GetUserId()) { return(new HttpUnauthorizedResult()); } gig.Update(ViewModel.Venue, ViewModel.Genre, ViewModel.GetDatetime()); _unitOfWork.Complete(); return(RedirectToAction("Mine", "Gigs")); }
public Gig Create(string userId, GigFormViewModel viewModel, ICollection <Following> followers) { ArtistId = userId; DateTime = viewModel.GetDatetime();//DateTime.Parse($"{viewModel.Date} {viewModel.Time}"), --> Information Expert principle, this code was moved to the class which has these two information Date and Time which it parse GenreId = viewModel.GenreId; Venue = viewModel.Venue; foreach (var follower in followers.Select(f => f.Follower)) { follower.Notify(Notification.GigCreated(this)); } return(this); }
[ValidateAntiForgeryToken] // prevent csrf attack public ActionResult Update(GigFormViewModel viewModel) { if (!ModelState.IsValid) { viewModel.Genres = _context.Genres.ToList(); return(View("GigForm", viewModel)); } var userId = User.Identity.GetUserId(); var gig = _context.Gigs .Include(a => a.Attendances.Select(s => s.Attendee)) // eager eager loading .Single(g => g.Id == viewModel.Id && g.ArtistId == userId); gig.Modify(viewModel.GetDatetime(), viewModel.Venue, viewModel.Genre); _context.SaveChanges(); return(RedirectToAction("Mine")); }
public ActionResult Create(GigFormViewModel ViewModel) { if (!ModelState.IsValid) { ViewModel.Genres = _unitOfWork.Genres.GetGenres(); return(View("GigForm", ViewModel)); } Gig gig = new Gig( _unitOfWork.ApplicationUser.GetArtist(User.Identity.GetUserId()), ViewModel.GetDatetime(), ViewModel.Venue, ViewModel.Genre ); _unitOfWork.Gigs.Add(gig); _unitOfWork.Complete(); return(RedirectToAction("Mine", "Gigs")); }
public ActionResult Create(GigFormViewModel viewModel) { if (!ModelState.IsValid) { viewModel.Genres = _context.Genres; return(View("Create", viewModel)); } var gig = new Gig { ArtistId = User.Identity.GetUserId(), DateTime = viewModel.GetDatetime(), GenreId = viewModel.Genre, Venue = viewModel.Venue }; _context.Gigs.Add(gig); _context.SaveChanges(); return(RedirectToAction("Index", "Home")); }
public ActionResult Create(GigFormViewModel viewModel) { if (!ModelState.IsValid) { viewModel.Genres = _unitOfWork.Genre.GetGenres(); return(View("GigForm", viewModel)); } var gig = new Gig { ArtistId = User.Identity.GetUserId(), DateTime = viewModel.GetDatetime(), GenreId = viewModel.Genre, Venue = viewModel.Venue }; _unitOfWork.Gigs.Add(gig); _unitOfWork.Complete(); return(RedirectToAction("Mine", "Gigs")); }