Example #1
0
        public ActionResult Edit(EditSeasonViewModel viewModel)
        {
            if (!ModelState.IsValid) {
            return View(viewModel);
              }

              var season = repository.Get<Season>(viewModel.Id);

              if (null == season) {
            TempData[GlobalViewDataProperty.PageErrorMessage] = "The season you were editing was deleted by another user";
            return RedirectToAction("Index");
              }

              if (viewModel.Version != season.EncodedVersion) {
            return EditRedirectForConcurrency(viewModel.Id);
              }

              if (!season.Name.Equals(viewModel.Name)) {
            // verify that the new name is not in use
            if (repository.All<Season>().Any(s => s.Name.Equals(viewModel.Name))) {
              ModelState.AddModelErrorFor<EditSeasonViewModel>(m => m.Name, "The name is already in use");
              return View(viewModel);
            }
            season.Name = viewModel.Name;
              }

              try {
            repository.SaveChanges();
              }
              catch (UpdateConcurrencyException) {
            return EditRedirectForConcurrency(viewModel.Id);
              }

              TempData[GlobalViewDataProperty.PageNotificationMessage] = "The season was updated successfully";
              return RedirectToAction("Index");
        }
Example #2
0
 public ActionResult Edit(int id)
 {
     var season = repository.Get<Season>(id);
       if (null == season) {
     return HttpNotFound();
       }
       var viewModel = new EditSeasonViewModel() {
     Id = season.Id,
     Name = season.Name,
     Version = season.EncodedVersion
       };
       return View(viewModel);
 }