public async Task <Unit> Handle(AddNewLanguageCommand request, CancellationToken cancellationToken) { var user = await _context.Users.Include(x => x.Languages) .FirstOrDefaultAsync(x => x.Id == request.UserId, cancellationToken); if (user == null) { throw new NotFoundException(request.UserId.ToString(), request); } var language = ListOfLanguages.GetLanguageByCode(request.LanguageCode); var languageToAdd = new Language { LanguageCode = language.LanguageCode, LanguageName = language.LanguageName, LanguageNativeName = language.LanguageNativeName }; user.Languages.Add(languageToAdd); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task Handle(CreateRequestCommand request, CancellationToken cancellationToken) { var languageOrigin = ListOfLanguages.GetLanguageById(request.LanguageOriginId); var languageTarget = ListOfLanguages.GetLanguageById(request.LanguageTargetId); if (languageTarget == null) { throw new NotFoundException($"{request.LanguageTargetId}", languageOrigin); } switch (languageOrigin) { case null: { const string emptyLanguage = "Not set"; var entity = new Request { LanguageTarget = languageTarget.LanguageCode, LanguageOrigin = emptyLanguage, TextToTranslate = Regex.Replace(request.TextToTranslate, @"\s+", " ").Trim(), UserId = request.UserId }; _context.Requests.Add(entity); break; } default: { var entity = new Request { LanguageTarget = languageTarget.LanguageCode, LanguageOrigin = languageOrigin.LanguageCode, TextToTranslate = Regex.Replace(request.TextToTranslate, @"\s+", " ").Trim(), UserId = request.UserId }; _context.Requests.Add(entity); break; } } await _context.SaveChangesAsync(cancellationToken).ConfigureAwait(false); }
public static bool BeALanguageByCode(string arg) { var language = ListOfLanguages.GetLanguageByCode(arg); return(language != null); }
public static bool BeALanguageById(int id) { var language = ListOfLanguages.GetLanguageById(id); return(language != null); }
public IActionResult GetAllLanguages() { return(Ok(ListOfLanguages.GetList())); }