public IActionResult Details(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Authors)));
            }

            Author author = authorServices.FindAuthor(id);

            FullAuthorView result = GetDetails(author);

            if (result == null)
            {
                return(RedirectToAction(nameof(Authors)));
            }

            return(View(result));
        }
        private FullAuthorView GetDetails(Author author)
        {
            if (author == null)
            {
                return(null);
            }

            string name = NameRefactorer.GetFullName(author.FirstName, author.MiddleName, author.LastName);

            string countryName = authorServices.GetAuthorCountry(author);
            string birthday    = author.Birthday.ToString() != "" ? ((DateTime)author.Birthday).ToLongDateString() : "Unknown";

            FullAuthorView result = new FullAuthorView
            {
                Id        = author.Id,
                Name      = name,
                BookCount = authorServices.GetAuthorBooksCount(author),
                Birthday  = birthday,
                Nickname  = author.Nickname != null ? author.Nickname : "No/Unknown",
                Country   = countryName
            };

            return(result);
        }