public IActionResult OnPost(string title, string text) { CurrentUser = Auth.GetUser(HttpContext); if (CurrentUser is null) { return(Redirect("/login?from=selections/create")); } ReadBooks = Repository .Filter <BookEvaluation>(be => be.User.First() == CurrentUser) .Select(be => (Book)be.Book.First()) .ToList(); WatchedFilms = Repository .Filter <FilmEvaluation>(fe => fe.User.First() == CurrentUser) .Select(fe => (Film)fe.Film.First()) .ToList(); WatchedSerials = Repository .Filter <SerialEvaluation>(se => se.User.First() == CurrentUser) .Select(se => (Serial)se.Serial.First()) .ToList(); var selection = UserActions.CreateSelection(CurrentUser, title, text); var artworks = Books.Select(b => ReadBooks[b]).Cast <IArtwork>().ToList(); artworks.AddRange(Films.Select(f => WatchedFilms[f])); artworks.AddRange(Serials.Select(s => WatchedSerials[s])); if (artworks.Count < 3) { return(Page()); } foreach (var artwork in artworks) { UserActions.AddToSelection(CurrentUser, selection, artwork); } return(Redirect($"/selections/details?id={selection.Id}")); }