// GET: Paintings/Edit/?id
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var painting = await _context.Paintings.FindAsync(id);

            if (painting == null)
            {
                return(NotFound());
            }

            var artists = await _context.Artists.ToListAsync();

            var museums = await _context.Museums.ToListAsync();

            var paintingVM = new PaintingViewModel
            {
                Id               = painting.Id,
                ImageUrl         = painting.ImageUrl,
                Title            = painting.Title,
                Year             = painting.Year,
                Medium           = painting.Medium,
                Artists          = artists,
                Museums          = museums,
                SelectedArtistId = painting.Artist.Id,
                SelectedMuseumId = painting.Museum.Id
            };

            return(View(paintingVM));
        }
Example #2
0
        public async Task <IActionResult> AddPainting(PaintingViewModel paintingVM)
        {
            if (ModelState.IsValid)
            {
                Painting = new Painting(paintingVM);
                if (Painting.CurrentlyLocated != "Not on sale")
                {
                    Auction            = _auctions.FindAuctionByTitle(Painting.CurrentlyLocated);
                    Painting.AuctionId = Auction.Id;
                }

                Artist          = _artists.FindObject(Painting.ArtistId);
                Painting.Artist = Artist.FirstName + " " + Artist.LastName;

                Painting.ImgId = await _fileManager.SaveImage(paintingVM.Image);

                _paintings.AddObject(Painting);
                return(RedirectToAction("ArtistView", "Artists", new { @id = Painting.ArtistId }));
            }

            Auctions = _auctions.Auctions.FindAll(auc => (auc.EndDateTime - DateTime.Now).TotalSeconds >= 0)
                       .OrderBy(x => x.StartDateTime).ToList();
            ViewData["Auctions"] = Auctions;
            ViewBag.ArtistId     = paintingVM.ArtistId;
            return(View(paintingVM));
        }
Example #3
0
        public Painting(PaintingViewModel vm)
        {
            Title            = vm.Title;
            Style            = vm.Style;
            CreationDate     = vm.CreationDate;
            CurrentlyLocated = vm.CurrentlyLocated;

            IsBought  = vm.IsBought;
            Estimated = vm.Estimated;
            ArtistId  = vm.ArtistId;
        }
Example #4
0
        public ActionResult Paintings()
        {
            var viewModel = new PaintingViewModel
            {
                ImageRoot     = "https://ilseleijten.blob.core.windows.net/pictures",
                ThumbnailRoot = "https://ilseleijten.blob.core.windows.net/thumbnails",
                Paintings     = _artCollection.Paintings
            };

            return(View(viewModel));
        }
Example #5
0
        public IActionResult AddPainting(string id)
        {
            Auctions = _auctions.Auctions.FindAll(auc => (auc.EndDateTime - DateTime.Now).TotalSeconds >= 0)
                       .OrderBy(x => x.StartDateTime).ToList();
            ViewData["Auctions"] = Auctions;
            PaintingViewModel paintingVM = new PaintingViewModel();

            ViewBag.ArtistId = id;

            return(View(paintingVM));
        }
        // GET: Paintings/Create
        public async Task <IActionResult> Create()
        {
            var artists = await _context.Artists.ToListAsync();

            var museums = await _context.Museums.ToListAsync();

            var paintingVM = new PaintingViewModel
            {
                Artists = artists,
                Museums = museums,
            };

            return(View(paintingVM));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id, ImageUrl,Title,Year,Medium, SelectedArtistId, SelectedMuseumId")] PaintingViewModel painting)
        {
            if (id != painting.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var p = new Painting
                    {
                        Id       = painting.Id,
                        ImageUrl = painting.ImageUrl,
                        Title    = painting.Title,
                        Year     = painting.Year,
                        Medium   = painting.Medium
                    };
                    p.Artist = await _context.Artists.FirstOrDefaultAsync(a => a.Id == painting.SelectedArtistId);

                    p.Museum = await _context.Museums.FirstOrDefaultAsync(m => m.Id == painting.SelectedMuseumId);

                    _context.Update(p);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PaintingExists(painting.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(painting));
        }
        public async Task <IActionResult> Create([Bind("ImageUrl,Title,Year,Medium, SelectedArtistId, SelectedMuseumId")] PaintingViewModel painting)
        {
            if (ModelState.IsValid)
            {
                var p = new Painting
                {
                    ImageUrl = painting.ImageUrl,
                    Title    = painting.Title,
                    Year     = painting.Year,
                    Medium   = painting.Medium
                };
                p.Artist = await _context.Artists.FirstOrDefaultAsync(a => a.Id == painting.SelectedArtistId);

                p.Museum = await _context.Museums.FirstOrDefaultAsync(m => m.Id == painting.SelectedMuseumId);

                _context.Add(p);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(painting));
        }