public async Task <AuthorResponseModel> GetAsync(AuthorRequestModel requestModel)
        {
            AuthorRequestParameters parameters = requestModel.MapToRequestParameters();

            (List <AuthorWithNestedObjects> authors, int count) = await _authorRepository.GetWithParamsAsync(parameters);

            List <AuthorModel> authorModels = authors.Select(item => new AuthorModel(item)).ToList();

            AuthorResponseModel responseModel = new AuthorResponseModel
            {
                Count       = count,
                AuthorsList = authorModels
            };

            return(responseModel);
        }
예제 #2
0
        public static AuthorResponseModel Map(AuthorResponseDataModel responseFilter)
        {
            if (responseFilter is null)
            {
                return(new AuthorResponseModel());
            }

            var responseFilterModel = new AuthorResponseModel
            {
                TotalCount = responseFilter.TotalCount
            };

            foreach (var author in responseFilter.Authors)
            {
                var authorModel = _authorModelMapper.Map(author);
                foreach (var pe in author.PrintingEditions)
                {
                    var printingEditionModel = _printingEditionModelMapper.Map(pe);
                    authorModel.PrintingEditions.Add(printingEditionModel);
                }
                responseFilterModel.Authors.Add(authorModel);
            }
            return(responseFilterModel);
        }
예제 #3
0
        public async Task <AuthorResponseModel> GetAuthors([FromBody] AuthorRequestModel requestModel)
        {
            AuthorResponseModel responseModel = await _authorService.GetAsync(requestModel);

            return(responseModel);
        }