Beispiel #1
0
        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));
            }
        }
Beispiel #2
0
        public async Task <IActionResult> UpdateCompetences([FromBody] UpdateListCompetenceCommand updateCompetence)
        {
            var result = await _mediator.Send(updateCompetence);

            return(Ok(result));
        }