Esempio n. 1
0
        public ProductionQuery(IBikeStoreRepository bikeStoreRepository)
        {
            Field <ListGraphType <BrandType> >(
                "brands",
                arguments: new QueryArguments(
                    new QueryArgument <IntGraphType> {
                Name = "brandId"
            }),
                resolve: context =>
            {
                var brandId = context.GetArgument <int?>("brandId");

                if (brandId.HasValue)
                {
                    return(Task.WhenAll(bikeStoreRepository.GetBrand(brandId.Value)));
                }
                return(bikeStoreRepository.GetBrands());
            });

            Field <ListGraphType <ProductType> >(
                "products",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <IntGraphType> > {
                Name = "page"
            },
                    new QueryArgument <NonNullGraphType <IntGraphType> > {
                Name = "itemsPerPage"
            }),
                resolve: context =>
            {
                var page         = context.GetArgument <int>("page");
                var itemsPerPage = context.GetArgument <int>("itemsPerPage");
                return(bikeStoreRepository.GetProducts(page, itemsPerPage));
            });
        }
Esempio n. 2
0
        public SalesQuery(IBikeStoreRepository bikeStoreRepository)
        {
            Field <ListGraphType <StaffType> >(
                "staff",
                resolve: context =>
            {
                return(bikeStoreRepository.GetStaff());
            });

            Field <ListGraphType <StoreType> >(
                "stores",
                resolve: context =>
            {
                return(bikeStoreRepository.GetStores());
            });
        }
Esempio n. 3
0
        public StaffType(IDataLoaderContextAccessor accessor, IBikeStoreRepository bikeStoreRepository)
        {
            Field(t => t.Active);
            Field(t => t.Email);
            Field(t => t.FirstName);
            Field(t => t.LastName);
            Field(t => t.ManagerId, nullable: true);
            Field(t => t.Phone);
            Field(t => t.StaffId);
            Field <StoreType, Store>()
            .Name("store")
            .ResolveAsync(context =>
            {
                var loader = accessor.Context.GetOrAddBatchLoader <int, Store>(
                    "StoreTypeLoader",
                    async storeIds =>
                {
                    var stores = await bikeStoreRepository.GetStores();
                    return(stores.ToDictionary(s => s.Id, s => s));
                });

                return(loader.LoadAsync(context.Source.StoreId));
            });
        }
Esempio n. 4
0
 public HomeController(IBikeStoreRepository db)
 {
     _db = db;
 }
 public SalesController(IBikeStoreRepository bikeStoreRepository, ILogger <SalesController> logger)
 {
     _bikeStoreRepository = bikeStoreRepository;
     _logger = logger;
 }
 public ProductionController(IBikeStoreRepository bikeStoreRepository, ILogger <ProductionController> logger)
 {
     _bikeStoreRepository = bikeStoreRepository;
     _logger = logger;
 }