public async Task <ResponseApi> Handle(UpdateListCompetenceCommand request, CancellationToken cancellationToken) { try { int invalidQty = 0; foreach (var competence in request.Competences) { competence.Validate(); if (competence.Invalid) { invalidQty += 1; } if (invalidQty > 0) { return(new ResponseApi(false, "Something is wrong...", competence.Notifications)); } } List <CompetenceViewModel> result = new List <CompetenceViewModel>(); for (int i = 0; i < request.Competences.Count; i++) { Competences competence = _mapper.Map <Competences>(await _competenceRepository.Get(request.Competences[i].Id)); competence.UpdateFields(_mapper.Map <Competences>(request.Competences[i])); await _competenceRepository.Update(competence); var updateResult = new CompetenceViewModel { Id = competence.Id, CompetenceName = competence.CompetenceName, CompetenceExperienceTime = competence.CompetenceExperienceTime, TimeType = competence.TimeType, Active = competence.Active, Excluded = competence.Excluded, CreationDate = competence.CreationDate, LastUpdate = competence.LastUpdate, IdUser = competence.IdUser }; result.Add(updateResult); } return(new ResponseApi(true, "Competences updated sucessfuly", result)); } catch (Exception e) { return(new ResponseApi(false, "Error...", e)); } }