예제 #1
0
        public async Task <IActionResult> CreateMultiple(PhotoAlbumCreateMultipleViewModel model)
        {
            if (model.Photos.Count != 0 && model.PhotoAlbum.AlbumId != 0)
            {
                List <PhotoAlbum> photoAlbums = await _context.PhotoAlbums.Where(pa => pa.AlbumId == model.PhotoAlbum.AlbumId).ToListAsync();

                List <int> photoIds = photoAlbums.Select(pa => pa.PhotoId).ToList();

                foreach (var item in model.Photos)
                {
                    if (item.Id != 0 && !photoIds.Contains(item.Id))
                    {
                        PhotoAlbum photoAlbum = new PhotoAlbum();
                        photoAlbum.PhotoId = item.Id;
                        photoAlbum.AlbumId = model.PhotoAlbum.AlbumId;
                        _context.Add(photoAlbum);
                    }
                }

                await _context.SaveChangesAsync();

                // Redirect to details for album photos are being placed in
                return(RedirectToAction("Details", "Albums", new { id = model.PhotoAlbum.AlbumId }));
            }
            ViewData["AlbumId"] = new SelectList(_context.Albums, "Id", "Name", model.PhotoAlbum.AlbumId);
            return(View(model));
        }
예제 #2
0
        // GET: PhotoAlbums/CreateMultiple
        public async Task <IActionResult> CreateMultiple(List <Photo> photos)
        {
            var currentUser = await GetCurrentUserAsync();

            PhotoAlbumCreateMultipleViewModel model = new PhotoAlbumCreateMultipleViewModel();

            model.Photos        = photos;
            ViewData["AlbumId"] = new SelectList(_context.Albums.Where(a => a.UserId == currentUser.Id).ToList(), "Id", "Name");
            return(View(model));
        }