/* --- Simple test query
         * query TransformerQuery {
         *  transformers {
         *      id,
         *      name,
         *      alliance,
         *      category {
         *          name
         *      }
         *  }
         * }
         */

        public TransformerQuery(ITransformerRepository transformerRepository)
        {
            Field <ListGraphType <TransformerType> >(
                "transformers",
                arguments: new QueryArguments(new List <QueryArgument>
            {
                new QueryArgument <IdGraphType> {
                    Name = "id"
                },
                new QueryArgument <StringGraphType> {
                    Name = "name"
                },
                new QueryArgument <AllianceType> {
                    Name = "alliance"
                }
            }),
                resolve: context =>
            {
                //var user = (ClaimsPrincipal)context.UserContext;
                //var isUserAuthenticated = ((ClaimsIdentity)user.Identity).IsAuthenticated;

                var transformerId = context.GetArgument <string>("id");
                if (!string.IsNullOrEmpty(transformerId))
                {
                    return(transformerRepository.GetAsync(t => t.Id = transformerId));
                }

                var transformerName = context.GetArgument <string>("name");
                if (!string.IsNullOrEmpty(transformerName))
                {
                    return(transformerRepository.GetAsync(t => t.Name = transformerName));
                }

                var transformerAlliance = context.GetArgument <Alliance?>("alliance");
                if (transformerAlliance != null)
                {
                    return(transformerRepository.GetAsync(t => t.Alliance = transformerAlliance));
                }
                return(transformerRepository.GetAsync());
            }
                );
        }
Exemple #2
0
        public void Setup()
        {
            var services = new ServiceCollection();

            services.AddTransient <IConfiguration>(provider => PopulateTestData.GetConfiguration(TestContext.CurrentContext.TestDirectory));
            services.AddDbContext <TransformerDBContext>(options => options.UseInMemoryDatabase());
            services.AddTransient <ITransformerDBContext, TransformerDBContext>();
            services.AddTransient <ITransformerRepository, TransformerRepository>();
            services.AddTransient <ITransformerAdd, TransformerCommands>();
            services.AddTransient <ITransformerRetrieve, TransformerCommands>();
            services.AddTransient <ITransformerUpdate, TransformerCommands>();
            services.AddTransient <ITransformerRemove, TransformerCommands>();
            services.AddTransient <ITransformerList, TransformerCommands>();
            services.AddTransient <ITransformerScore, TransformerCommands>();
            services.AddTransient <ITransformerWar, TransformerWar>();
            services.AddTransient <TransformersController>();
            var serviceProvider = services.BuildServiceProvider();

            _transformerDBContext = serviceProvider.GetService <ITransformerDBContext>();
            _transformerDBContext.SeedTestData().GetAwaiter().GetResult();
            _transformersController = serviceProvider.GetService <TransformersController>();
            _transformerRepository  = serviceProvider.GetService <ITransformerRepository>();
        }
 public TransformerWar(ITransformerRepository respository, ITransformerList transformerList)
 {
     _transformerRepository = respository;
     _transformerList       = transformerList;
 }
Exemple #4
0
 public TransformerController(ITransformerRepository transformerRepository)
 {
     this.transformerRepository = transformerRepository;
 }
 public TransformerCommands(ITransformerRepository repository)
 {
     _transformerRepository = repository;
 }
Exemple #6
0
 public TransformersController(ITransformerRepository transformerRepository, IWar war, TransformerContext context)
 {
     this.transformerRepository = transformerRepository;
     this.war     = war;
     this.context = context;
 }