Exemple #1
0
        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"));
        }
Exemple #2
0
        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"));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        [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"));
        }
Exemple #5
0
        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"));
        }
Exemple #6
0
        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"));
        }
Exemple #7
0
        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"));
        }