예제 #1
0
        public ICommandResult Handle(UpdateMembroFamiliarCommand command)
        {
            //Fail Fast Validations
            command.Validate();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Ops, Alguma inconsistencia nos dados", command.Notifications));
            }


            //ReHidratação
            var membro = _membroRepository.GetById(command.Id, command.ChaveDeAcesso);

            //Gerar os VOS
            var nome  = new Nome(command.NomeSocial, command.Sobrenome);
            var email = new Email(command.Email);

            //alterar despesa
            membro.AtualizarMembroFamiliar(nome, email, command.DataNascimento);

            //Atualiza no banco
            _membroRepository.Update(membro);

            return(new GenericCommandResult(true, "Membro Criado com Sucesso!", membro));
        }
예제 #2
0
        public ActionResult <MembroFamiliar> GetById(Guid id)
        {
            //var user = User.Claims.FirstOrDefault(x => x.Type == "user_id")?.Value;
            var result = _repository.GetById(id, "xpto123t");

            return(Ok(result));
        }
예제 #3
0
        public ICommandResult Handle(CreateDespesaCommand command)
        {
            command.Validate();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Ops, Alguma inconsistencia nos dados", command.Notifications));
            }


            //Gerar Entidades
            var membrofamiliar = _membroRepository.GetById(command.IdMembroFamiliar, command.ChaveDeAcesso);

            if (membrofamiliar == null)
            {
                command.AddNotification("MembroFamiliar", "Membro Familiar Inexistente");
                return(new GenericCommandResult(false, "Ops, Alguma inconsistencia nos dados", command.Notifications));
            }

            var pagamento = new Pagamento(command.FormaPagamento, command.Valor, command.Pago);
            var despesa   = new Despesa(command.Nome, command.Descricao, command.Valor, pagamento, command.TipoDespesa, membrofamiliar);

            //Salva no banco de dados
            _repository.Create(despesa);

            return(new GenericCommandResult(true, "Despesa Criada com Sucesso!", despesa));
        }