public CrewMembersController(ICrewMemberService service)
 {
     _service = service;
 }
        public CrewMemberQueries(ICrewMemberService crewMemberService)
        {
            FieldAsync <ListCrewMembersQueryModelType>(
                SEARCH_REQUEST_ENDPOINT,
                "Returns a paginated list of CrewMembers",
                new QueryArguments(
                    new QueryArgument <NonNullGraphType <PagedRequestType> > {
                Name = PAGINATION_ARGUMENT_NAME, Description = PagedRequestType.Description
            },
                    new QueryArgument <NonNullGraphType <OrderedRequestType> > {
                Name = ORDERING_ARGUMENT_NAME, Description = OrderedRequestType.Description
            },
                    new QueryArgument <NonNullGraphType <FilteredRequestType <CrewMember> > > {
                Name = FILTERING_ARGUMENT_NAME, Description = FilteredRequestType <CrewMember> .Description
            }
                    ),
                async context =>
            {
                var pagination = context.GetArgument <Pagination>(PAGINATION_ARGUMENT_NAME);
                var ordering   = context.GetArgument <Ordering>(ORDERING_ARGUMENT_NAME);
                var filtering  = context.GetArgument <CrewMemberFilter>(FILTERING_ARGUMENT_NAME);

                var(totalCount, items) = await crewMemberService.SearchCrewMemberAsync(pagination, ordering, filtering);
                try
                {
                    return(new ListResponse <CrewMember>
                    {
                        TotalCount = totalCount,
                        Items = items
                    });
                }
                catch (Exception)
                {
                    context.Errors.Add(new ExecutionError("Server Error"));
                    return(null);
                }
            }
                );

            FieldAsync <IntGraphType>(
                COUNT_REQUEST_ENDPOINT,
                "Returns a count of the filtered search",
                new QueryArguments(
                    new QueryArgument <NonNullGraphType <FilteredRequestType <CrewMember> > > {
                Name = FILTERING_ARGUMENT_NAME, Description = FilteredRequestType <CrewMember> .Description
            }
                    ),
                async context =>
            {
                var filtering = context.GetArgument <CrewMemberFilter>(FILTERING_ARGUMENT_NAME);

                var count = await crewMemberService.SimpleCountAsync(filtering);
                try
                {
                    return(count);
                }
                catch (Exception)
                {
                    context.Errors.Add(new ExecutionError("Server Error"));
                    return(null);
                }
            }
                );
        }
Example #3
0
 public CrewMembersController(ICrewMemberService crewMemberService)
 {
     _crewMemberService = crewMemberService;
 }