示例#1
0
        public ActionResult Create(FotoAlbumViewModel model)
        {
            model.Tournaments = InitTournaments();

            if (model.TournamentId == 0)
            {
                ModelState.AddModelError("TournamentId", new Exception("Обязательное поле"));
            }

            var tournament = DataAccess.Tournaments.Find(model.TournamentId);
            if (tournament == null)
            {
                model.Message = "Данный турнир не найден.";
                return View(model);
            }

            if (tournament.FotoAlbum != null)
            {
                model.Message = "Данный турнир уже имеет фотоальбом. Если вы хотите создать новый альбом, то сначала удалите старый.";
                ModelState.AddModelError("TournamentId", new Exception("У данного турнира уже есть альбом"));
            }

            if (!ModelState.IsValid)
            {
                return View(model);
            }

            var album = new FotoAlbum()
            {
                Name = model.Name,
                LastModifiedOn = DateTime.Now,
                Tournament = tournament
            };

            DataAccess.FotoAlbums.Add(album);
            DataAccess.SaveChanges();

            return RedirectToAction("index");
        }
 public FotoAlbumViewModel(FotoAlbum album)
 {
     this.Id = album.Id;
     this.Name = album.Name;
     this.TournamentId = album.Tournament != null ? album.Tournament.Id : 0;
 }