コード例 #1
0
        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));
            }
        }
コード例 #2
0
        public async Task <IActionResult> UpdateLanguage([FromBody] UpdateListLanguagesCommand createCompetence)
        {
            var result = await _mediator.Send(createCompetence);

            return(Ok(result));
        }