public async Task <IActionResult> PostLanguage(string app, [FromBody] AddLanguageDto request) { var command = request.ToCommand(); var response = await InvokeCommandAsync(command); return(CreatedAtAction(nameof(GetLanguages), new { app }, response)); }
private async Task AddLanguageAsync(string code) { var createRequest = new AddLanguageDto { Language = code }; await _.Apps.PostLanguageAsync(appName, createRequest); }
private async Task SynchronizeLanguagesAsync(AppModel model, SyncOptions options, ISession session) { var current = await session.Apps.GetLanguagesAsync(session.App); if (options.Delete) { foreach (var language in current.Items) { if (model.Languages.ContainsKey(language.Iso2Code)) { continue; } await log.DoSafeAsync($"Language '{language.Iso2Code}' deleting", async() => { await session.Apps.DeleteLanguageAsync(session.App, language.Iso2Code); }); } } foreach (var(isoCode, _) in model.Languages) { var existing = current.Items.FirstOrDefault(x => x.Iso2Code == isoCode); if (existing != null) { continue; } await log.DoSafeAsync($"Language '{isoCode}' creating", async() => { var request = new AddLanguageDto { Language = isoCode }; current = await session.Apps.PostLanguageAsync(session.App, request); }); } foreach (var(isoCode, value) in model.Languages) { var existing = current.Items.FirstOrDefault(x => x.Iso2Code == isoCode); if (existing == null || value.JsonEquals(existing)) { continue; } await log.DoSafeAsync($"Language '{isoCode}' updating", async() => { var request = value; await session.Apps.PutLanguageAsync(session.App, isoCode, request); }); } }
public async Task <ResultDto> AddLanguage([FromBody, MyValidation] AddLanguageDto entity) { _languageStringService.AddLanguage(entity.AbbName, entity.FullName); return(ResultDto.Create(entity)); }