示例#1
0
        /// <summary>
        /// Метод создания списка рецензий
        /// </summary>
        /// <param name="reviwerId">Id редактора</param>
        /// <returns>Список рецензий. Каждая рецензия содержит наименование издания, рубрики, имя автора,
        /// наименование статьи, id статьи и флаг одобрения рецензии</returns>
        public IEnumerable <DetailedReviewDTO> CreateDetailedReviewList(int reviwerId)
        {
            var reviews = db.Reviews.GetUserReviews(reviwerId);

            return(reviews.Select(x =>
            {
                var article = articleService.GetArticleById(x.ArticleId);
                var author = employeeService.GetEmployeeById(article.AuthorId);
                var publishing = publishingService.GetPublishing(article.PublishingId);
                var topic = publishingService.GetTopic(article.TopicId);

                return new DetailedReviewDTO
                {
                    // Заполняем поля модели рецензии из ответа сервиса статей и объекта рецензии
                    ArticleId = article.Id,
                    ReviwerId = reviwerId,
                    Article = article.Title,
                    Approved = x.Approved,
                    Author = $"{author.FirstName} {author.MiddleName} {author.LastName}",
                    Publishing = publishing.Title,
                    Topic = topic.Name
                };
            }));
        }