コード例 #1
0
        public async Task <Unit> Handle(UpdateTurmaCommand command, CancellationToken cancellationToken)
        {
            //var turma = new Turma
            //{
            //    Id = Guid.Parse(request.Id),
            //    DataIniciio = request.DataInicio,
            //    Descricao = request.Descricao,
            //    ProfessorId = Guid.Parse(request.ProfessorId)
            //};

            var turma = _mapper.Map <Turma>(command);

            //validando o professor
            var validation = new TurmaValidation().Validate(turma);

            if (!validation.IsValid)
            {
                throw new ValidationException(validation.Errors);
            }

            _turmaDomainService.Update(turma);

            await _mediator.Publish(new TurmaNotification
            {
                Turma  = turma,
                Action = ActionNotification.Atualizar
            });

            return(Unit.Value);
        }
コード例 #2
0
        public async Task <IActionResult> Put(UpdateTurmaCommand command)
        {
            try
            {
                await _turmaApplicationService.Update(command);

                return(Ok(new { Message = "Turma Atualizada com sucesso." }));
            }
            catch (ValidationException e)
            {
                return(BadRequest(ValidationAdapter.Parse(e.Errors)));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
コード例 #3
0
 public async Task Update(UpdateTurmaCommand command)
 {
     await _mediator.Send(command);
 }