public GenericCommandResult Update(
     [FromBody] UpdateSchoolCommand command,
     [FromServices] SchoolHandler handler
     )
 {
     return((GenericCommandResult)handler.Handle(command));
 }
Exemplo n.º 2
0
        // Editar uma escola
        public ICommandResult Handle(UpdateSchoolCommand command)
        {
            // Valida os dados do command
            command.Validate();
            // Se for invalido, mostrar as notificações
            if (command.Invalid)
            {
                AddNotifications(command);
                return(new CommandResult(false, SharedMessages.InvalidOperation, command));
            }

            // Preenche o VO document com as informações do command
            var document = new Document(command.DocumentNumber, command.Type);

            // Preenche o VO address com as informações do command
            var address = new Address(command.Street,
                                      command.Number,
                                      command.Neighborhood,
                                      command.City,
                                      command.StateName,
                                      command.Country,
                                      command.ZipCode,
                                      command.StateAbbr);

            // Preenche a entitie com os dados dos VOs e command
            var school = new Entities.School(command.Name, document, address, command.Phone);

            school.ChangeId(command.Id);

            // Caso algum deles retorne erro, mostre as notificações
            AddNotifications(document, address, school);

            // Checando as notificações
            if (Invalid)
            {
                return(new CommandResult(false, SharedMessages.InvalidOperation, school));
            }

            // Salvando informações
            _schoolRepository.Update(school);
            _uow.Commit();

            // Retornando informações de sucesso e o objeto preenchido
            return(new CommandResult(true, SharedMessages.SuccedOperation, school));
        }
        public ICommandResult Handle(UpdateSchoolCommand command)
        {
            command.Validate();
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Ops, parece que os dados da escola estão errados!", command.Notifications));
            }

            // Recupera
            var school = _repository.GetById(command.Id);

            // modificacoes
            school.UpdateName(command.Name);
            school.ChangeSchoolPrincipal(command.SchoolPrincipal);
            school.SetMaximumSchoolClass(command.MaxSchoolClass);
            school.SetMaximumSchoolStudents(command.MaxSchoolStudents);

            // salva no banco
            _repository.Update(school);

            // Retorna o resultado
            return(new GenericCommandResult(true, "Escola salva com sucesso!", school));
        }
Exemplo n.º 4
0
        public ICommandResult Put([FromBody] UpdateSchoolCommand value)
        {
            var result = (CommandResult)_handler.Handle(value);

            return(result);
        }
Exemplo n.º 5
0
 public async Task <IActionResult> UpdateAsync([FromBody] UpdateSchoolCommand command)
 {
     return(Ok(await _mediator.Send(command)));
 }
 public async Task <IActionResult> Update(UpdateSchoolCommand command)
 => await SendAsync(command, resourceId : command.Id, resource : "school");