public async Task <ResponseApi> Handle(UpdateListLanguagesCommand request, CancellationToken cancellationToken) { try { int invalidQty = 0; foreach (var language in request.Languages) { language.Validate(); if (language.Invalid) { invalidQty += 1; } if (invalidQty > 0) { return(new ResponseApi(false, "Something is wrong...", language.Notifications)); } } List <LanguageViewModel> result = new List <LanguageViewModel>(); for (int i = 0; i < request.Languages.Count; i++) { Language language = _mapper.Map <Language>(await _languageRepository.Get(request.Languages[i].Id)); language.UpdateFields(_mapper.Map <Language>(request.Languages[i])); await _languageRepository.Update(language); var updateResult = new LanguageViewModel { Id = language.Id, LanguageName = language.LanguageName, LanguageUnderstanding = language.LanguageUnderstanding, LanguageWriting = language.LanguageWriting, LanguageSpeaking = language.LanguageSpeaking, Active = language.Active, Excluded = language.Excluded, CreationDate = language.CreationDate, LastUpdate = language.LastUpdate, IdUser = language.IdUser }; result.Add(updateResult); } return(new ResponseApi(true, "Competences updated sucessfuly", result)); } catch (Exception e) { return(new ResponseApi(false, "Error...", e)); } }
public async Task <IActionResult> UpdateLanguage([FromBody] UpdateListLanguagesCommand createCompetence) { var result = await _mediator.Send(createCompetence); return(Ok(result)); }