public LanguageInputGroupGraphType(ILanguageRepository languageRepository) { FieldAsync <NonNullGraphType <LanguageType> >( "insert", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <LanguageInsertInputType> > { Name = "language" }), resolve: async(context) => { var language = context.GetArgument <Language>("language"); await languageRepository.InsertAsync(language); return(language); }); FieldAsync <LanguageType>( "update", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <LanguageUpdateInputType> > { Name = "language" }), resolve: async(context) => { var language = context.GetArgument <Language>("language"); await languageRepository.UpdateAsync(language); return(language); }); FieldAsync <NonNullGraphType <BooleanGraphType> >( "delete", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IdGraphType> > { Name = nameof(Language.Id).Camelize() }), resolve: async(context) => { var id = context.GetArgument <int>(nameof(Language.Id).Camelize()); return(await languageRepository.DeleteAsync(id)); }); }
public async Task <bool> DeleteLanguageAsync(Language language) { return(await _repository.DeleteAsync(language)); }
public async Task <ActionResult> Languages(bool delete) { if (delete) { foreach (var language in await _languageRepository.GetAllAsync()) { await _languageRepository.DeleteAsync(language); } return(Content($"All languages deleted")); } var languages = await _languageRepository.GetAllAsync(); if (!languages.Any()) { var newLanguages = new List <Language> { new Language { Name = "Apache", Tag = "apache" }, new Language { Name = "Bash", Tag = "bash" }, new Language { Name = "C#", Tag = "csharp" }, new Language { Name = "C++", Tag = "cpp" }, new Language { Name = "CSS", Tag = "css" }, new Language { Name = "CoffeeScript", Tag = "coffeescript" }, new Language { Name = "Diff", Tag = "diff" }, new Language { Name = "HTML, XML", Tag = "html" }, new Language { Name = "HTTP", Tag = "http" }, new Language { Name = "Ini", Tag = "ini" }, new Language { Name = "JSON", Tag = "json" }, new Language { Name = "Java", Tag = "java" }, new Language { Name = "JavaScript", Tag = "javascript" }, new Language { Name = "Makefile", Tag = "makefile" }, new Language { Name = "Markdown", Tag = "markdown" }, new Language { Name = "Nginx", Tag = "nginx" }, new Language { Name = "Objective-C", Tag = "objectivec" }, new Language { Name = "PHP", Tag = "php" }, new Language { Name = "Perl", Tag = "perl" }, new Language { Name = "Python", Tag = "python" }, new Language { Name = "Ruby", Tag = "ruby" }, new Language { Name = "SQL", Tag = "sql" } }; foreach (var language in newLanguages) { await _languageRepository.AddAsync(language); } return(Content($"{newLanguages.Count} Languages created")); } return(Content("Existing languages found. Provide delete parameter to remove")); }