public StarWarsQuery(ICharacterRepository characterRepository, IFactionRepository factionRepository, IEpisodeRepository episodeRepository, ICharacterGroupRepository characterGroupRepository, ICharacterTypeRepository characterTypeRepository, IStarshipRepository starshipRepository) { #region Faction Field <ListGraphType <FactionQLType> >( "factions", //arguments: new QueryArguments( // new QueryArgument<IntGraphType> { Name = "id", Description = "faction id" } //), resolve: context => factionRepository.GetFaction().Result ); Field <FactionQLType>( "faction", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "id", Description = "faction id" } ), resolve: context => factionRepository.GetFaction(context.GetArgument <int>("id")).Result ); #endregion #region Episode Field <EpisodeQLType>( "episode", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "id", Description = "episode id" } ), resolve: context => episodeRepository.GetEpisode(context.GetArgument <int>("id")).Result ); Field <ListGraphType <EpisodeQLType> >( "episodes", //arguments: new QueryArguments( // new QueryArgument<NonNullGraphType<IntGraphType>> { Name = "id", Description = "episode id" } //), resolve: context => episodeRepository.GetEpisode().Result ); #endregion #region Character Field <ListGraphType <CharacterQLType> >( "characters", //arguments: new QueryArguments( // new QueryArgument<NonNullGraphType<IntGraphType>> { Name = "id", Description = "character id" } //), resolve: context => characterRepository.GetCharacter().Result ); Field <CharacterQLType>( "character", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "id", Description = "character id" } ), resolve: context => characterRepository.GetCharacter(context.GetArgument <int>("id")).Result ); #endregion #region Starship Field <StarshipQLType>( "starships", //arguments: new QueryArguments( // new QueryArgument<NonNullGraphType<IntGraphType>> { Name = "id", Description = "starship id" } //), resolve: context => starshipRepository.GetStarship().Result ); Field <StarshipQLType>( "starship", arguments: new QueryArguments( new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "id", Description = "starship id" } ), resolve: context => starshipRepository.GetStarship(context.GetArgument <int>("id")).Result ); #endregion }
public StarWarsMutation(ICharacterRepository characterRepository, IFactionRepository factionRepository, IEpisodeRepository episodeRepository, ICharacterGroupRepository characterGroupRepository, ICharacterTypeRepository characterTypeRepository, IStarshipRepository starshipRepository) { # region Faction
public CharacterQLType(IFactionRepository factionRepository, ICharacterRepository characterRepository, ICharacterTypeRepository characterTypeRepository, ICharacterGroupRepository characterGroupRepository, IEpisodeRepository episodeRepository, IStarshipRepository starshipRepository) { Field(x => x.Id).Description("Character id."); Field(x => x.CharacterName, nullable: false).Description("Character name."); Field(x => x.CharacterTypeID, nullable: true).Description("Character Type ID."); Field <CharacterTypeQLType>("CharacterType", "Character Type", resolve: context => characterTypeRepository.GetCharacterType(context.Source.CharacterTypeID) ); Field(x => x.CharacterGroupID, nullable: false).Description("Character Group ID."); Field <CharacterGroupQLType>("CharacterGroup", "Character Group", arguments: new QueryArguments(new QueryArgument <IntGraphType>() { Name = "id", Description = "Character Group ID." }), resolve: context => characterGroupRepository.GetCharacterGroup(context.Source.CharacterGroupID) ); Field <ListGraphType <EpisodeQLType> >("AppersIn_Episodes", "character appears in following Episodes", arguments: new QueryArguments(new QueryArgument <IntGraphType>() { Name = "id", Description = "Character ID." }), resolve: context => episodeRepository.GetEpisodeByCharacterId(context.Source.Id) ); Field <ListGraphType <StarshipQLType> >("Starships", "character Starships", resolve: context => starshipRepository.GetStarshipsByCharacterId(context.Source.Id) ); Field(x => x.HomePlanet, nullable: false).Description("Character HomePlanet."); Field(x => x.Purpose, nullable: true).Description("Character Purpose."); Field(x => x.FactionID, nullable: true).Description("Character FactionID."); Field <FactionQLType>("Faction", "character Faction", resolve: context => factionRepository.GetFaction(context.Source.FactionID) ); Field(x => x.ImageUrl, nullable: false).Description("Character ImageUrl."); // ( // "Faction", // resolve: context => factionRepository.GetFactionByID(context.Source.).Result.ToList() //); }