예제 #1
0
        public ActionResult Update(GigFormViewModel gigViewModel)
        {
            if (!ModelState.IsValid)
            {
                gigViewModel.Genres = _unitOfWork.Genres.GetGenres();

                return(View("GigForm", gigViewModel));
            }

            Gig gig = _unitOfWork.Gigs.GetGigWithAttendees(gigViewModel.Id);

            if (gig == null)
            {
                return(HttpNotFound());
            }

            if (gig.ArtistId != User.Identity.GetUserId())
            {
                return(new HttpUnauthorizedResult());
            }

            gig.Update(gigViewModel.GetDateTime(), gigViewModel.Venue, gigViewModel.Genre);

            _unitOfWork.Complete();

            return(RedirectToAction("MyUpcomingGigs", "Gig"));
        }
예제 #2
0
        public void Update_ValidRequest_ValuesShouldBeApplied()
        {
            var gig  = new Gig();
            var date = DateTime.Now;

            gig.Update(date, 1, "venue");

            gig.Datetime.Should().Be(date);
            gig.GenreId.Should().Be(1);
            gig.Venue.Should().Be("venue");
        }
예제 #3
0
        public void Update_HasAttendees_EachOneGetNotification()
        {
            var gig  = new Gig();
            var date = DateTime.Now;

            gig.Attendences.Add(new Attendence {
                Attendee = new ApplicationUser()
                {
                    Id = "1"
                }
            });
            gig.Update(date, 1, "venue");

            gig.Attendences.First()
            .Attendee
            .UserNotifications
            .Count
            .Should().Be(1);
        }
예제 #4
0
        public void Update_VenueIsNull_ThrowArgumentNullException()
        {
            var gig = new Gig();

            Assert.ThrowsException <ArgumentNullException>(() => gig.Update(DateTime.Now, 1, null), "venue");
        }