Exemple #1
0
        public ICommandResult Handle(InactivateCondominiumCommand command)
        {
            // Fail Fast Validation
            command.Validate();
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Ops, erro ao inativar condomínio.", command.Notifications));
            }

            // Hidrata condomínio
            var condominium = _repository.GetById(command.Id, command.User);

            if (condominium == null)
            {
                return(new GenericCommandResult(false, "Ops, erro ao inativar condomínio.", command.Id));
            }

            condominium.Inactivate();

            try
            {
                // Atualiza morador
                _repository.Update(condominium);
            }
            catch (Exception ex)
            {
                return(new GenericCommandResult(false, "Erro inesperado!", ex.Message));
            }

            return(new GenericCommandResult(true, "Condomínio inativado com sucesso!", null));
        }
        public GenericCommandResult Inactivate(
            Guid id,
            [FromServices] CondominiumHandler handler
            )
        {
            var user    = User.Claims.FirstOrDefault(x => x.Type == "user_id")?.Value;
            var command = new InactivateCondominiumCommand(id, user);

            return((GenericCommandResult)handler.Handle(command));
        }