public AuthorsSchema()
 {
     Query = new AuthorsQuery();
     RegisterType <AuthorsType>();
     //RegisterType<BookType>();
     //RegisterType<GenreType>();
 }
Ejemplo n.º 2
0
        public async Task <IActionResult> Authors()
        {
            var query       = new AuthorsQuery();
            var queryResult = await _mediator.Send(query);

            var model = new AuthorsViewModel()
            {
                Authors = queryResult.Authors
            };

            return(View(model));
        }
Ejemplo n.º 3
0
 public AuthorsView Handle(AuthorsQuery request)
 {
     using (var context = GetContext())
     {
         return(new AuthorsView
         {
             Auhtors = GetTable(context)
                       .Select(n => n.Author)
                       .Distinct()
                       .AsEnumerable()
                       .Select(author => new AuthorsViewItem(author)
             {
                 CompletedBooksCount = GetTable(context).Count(n => n.Author == author && n.Status == ReadingListEntryStatus.Completed),
                 ReadingBooksCount = GetTable(context).Count(n => n.Author == author && n.Status == ReadingListEntryStatus.Reading),
                 TotalBooksCount = GetTable(context).Count(n => n.Author == author),
             })
                       .ToList()
         });
     }
 }
Ejemplo n.º 4
0
        public async Task <AuthorsQueryResponse> Handle(AuthorsQuery query, CancellationToken cancellationToken)
        {
            using (var conn = new SqlConnection(_connectionString.Db))
            {
                conn.Open();

                var builder  = new SqlBuilder();
                var selector = builder.AddTemplate(@"
SELECT      A.Id AuthorId,
            A.FirstNAme,
            A.MiddleName,
            A.LastName
FROM        Authors A
                    ");
                var result   = await conn.QueryAsync <Author>(selector.RawSql);

                return(new AuthorsQueryResponse {
                    Authors = result
                });
            }
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Post([FromBody] GraphQlQuery query)
        {
            IObjectGraphType currentObjectGraphType = null;

            switch (query.OperationName)
            {
            case "GetBlogData":
                currentObjectGraphType = new BlogQuery(blogService);
                break;

            case "GetAuthors":
                currentObjectGraphType = new AuthorsQuery(blogService);
                break;

            default:
                currentObjectGraphType = new BlogQuery(blogService);
                break;
            }

            var schema = new Schema {
                Query = currentObjectGraphType
            };

            var result = await new DocumentExecuter().ExecuteAsync(x =>
            {
                x.Schema = schema;
                x.Query  = query.Query;
                x.Inputs = query.Variables;
            });

            if (result.Errors?.Count > 0)
            {
                return(BadRequest());
            }

            return(Ok(result));
        }
Ejemplo n.º 6
0
        public async Task <ActionResult <AuthorsQueryResponse> > Authors([FromQuery] AuthorsQuery query)
        {
            var result = await _queryBus.ExecuteAsync <AuthorsQuery, AuthorsQueryResponse>(query);

            return(Ok(result));
        }
Ejemplo n.º 7
0
            public async Task <CQRSResult <List <AuthorGetDTO> > > Handle(AuthorsQuery request, CancellationToken cancellationToken)
            {
                var authors = uow.AuthorsRepository.Get();

                return(authors.Select(x => AuthorGetMap.ToDTO(x)).ToList());
            }
Ejemplo n.º 8
0
            public async Task <CQRSResult <List <AuthorGetDTO> > > Handle(AuthorsQuery request, CancellationToken cancellationToken)
            {
                var authors = uow.AuthorsRepository.Get();

                return(mapper.Map <List <AuthorGetDTO> >(authors));
            }