// GET: ExhibitionRoomItem/Create public ActionResult Create(long?roomId) { if (roomId == null) { return(NotFound()); } ExhibitionRoomItemModel roomItemModel = new ExhibitionRoomItemModel(); roomItemModel.RoomId = (Int64)roomId; ViewBag.RoomId = roomId; ViewBag.ArtworkList = PopulateArtworkDropDownList(0); return(View(roomItemModel)); }
public async Task <IActionResult> Create([Bind("ArtworkId,EditionNumber,Scale,RoomId,Order")] ExhibitionRoomItemModel exhibitionRoomItemModel) { if (ModelState.IsValid) { //default values exhibitionRoomItemModel.Scale = 1; exhibitionRoomItemModel.Offset = "0,0,0"; exhibitionRoomItemModel.Axis = "0,1,0"; _context.Add(exhibitionRoomItemModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(ExhibitionRoomController.Edit), "ExhibitionRoom", new { id = exhibitionRoomItemModel.RoomId })); } ViewBag.ArtworkList = PopulateArtworkDropDownList(0); return(View(exhibitionRoomItemModel)); }
public async Task <ActionResult> Edit(long?id, [Bind("RoomItemId,ArtworkId,EditionNumber,Scale,RoomId,Order")] ExhibitionRoomItemModel exhibitionRoomItemModel) { if (id == null) { return(NotFound()); } if (ModelState.IsValid) { var exhibitionRoomItemToUpdate = await _context.ExhibitionRoomItems.Include(d => d.Artwork) .FirstOrDefaultAsync(m => m.RoomItemId == id); if (await TryUpdateModelAsync <ExhibitionRoomItemModel>( exhibitionRoomItemToUpdate, "", i => i.ArtworkId, i => i.EditionNumber, i => i.Scale, i => i.RoomId, i => i.Order)) { try { await _context.SaveChangesAsync(); } catch (DbUpdateException ex) { _logger.LogError($"ExhibitionRoomItem -> Edit -> exception: {ex.ToString()}"); //Log the error (uncomment ex variable name and write a log.) ModelState.AddModelError("", "Unable to save changes. " + "Try again, and if the problem persists, " + "see your system administrator."); } return(RedirectToAction(nameof(ExhibitionRoomController.Edit), "ExhibitionRoom", new { id = exhibitionRoomItemToUpdate.RoomId })); } } ViewBag.ArtworkList = PopulateArtworkDropDownList(exhibitionRoomItemModel.ArtworkId); return(View(exhibitionRoomItemModel)); }