Esempio n. 1
0
        public async Task <IActionResult> Edit(Guid id)
        {
            var book = await _context.Books.Include(it => it.Authors).Include(it => it.Cover).SingleAsync(it => it.Id.Equals(id));

            var authors = book.Authors.Select(it => it.AuthorId);

            var authorSelectList = _context.Authors.AsNoTracking().Select(it => new SelectListItem
            {
                Selected = authors.Contains(it.Id),
                Value    = it.Id.ToString(),
                Text     = it.Name
            });

            var cover = _fileUpload.UrlFor(book.Cover?.Path);

            var viewModel = new EditBookViewModel
            {
                Id               = book.Id,
                Title            = book.Title,
                Authors          = authors,
                AuthorSelectList = authorSelectList,
                Cover            = cover
            };

            return(View(viewModel));
        }