Example #1
0
        public async Task <ResponseApi> Handle(CreateListCompetenceCommand 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++)
                {
                    request.Competences[i].IdUser = request.IdUser;

                    Competences competence = _mapper.Map <Competences>(request.Competences[i]);
                    await _competenceRepository.Insert(competence);

                    var createResult = 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(createResult);
                }

                return(new ResponseApi(true, "Competences created sucessfuly.", result));
            }
            catch (Exception e)
            {
                return(new ResponseApi(false, "Error...", e));
            }
        }
Example #2
0
        public async Task <IActionResult> CreateCompetences([FromBody] CreateListCompetenceCommand createCompetence)
        {
            var result = await _mediator.Send(createCompetence);

            return(Ok(result));
        }