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));
 }
Example #3
0
        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"));
        }