public Agendamento(CadastrarAgendamentoEntrada cadastrarEntrada) : this() { if (cadastrarEntrada.Invalido) { return; } this.IdUsuario = cadastrarEntrada.IdUsuario; this.IdCategoria = cadastrarEntrada.IdCategoria; this.IdConta = cadastrarEntrada.IdConta; this.IdCartaoCredito = cadastrarEntrada.IdCartaoCredito; this.IdPessoa = cadastrarEntrada.IdPessoa; this.TipoMetodoPagamento = cadastrarEntrada.TipoMetodoPagamento; this.Observacao = cadastrarEntrada.Observacao; this.Parcelas = this.CriarParcelas(cadastrarEntrada.QuantidadeParcelas, cadastrarEntrada.DataPrimeiraParcela, cadastrarEntrada.ValorParcela, cadastrarEntrada.PeriodicidadeParcelas, cadastrarEntrada.Observacao); }
public async Task <ISaida> CadastrarAgendamento([FromBody, SwaggerParameter("Informações de cadastro do agendamento.", Required = true)] CadastrarAgendamentoViewModel model) { var cadastrarEntrada = new CadastrarAgendamentoEntrada( base.ObterIdUsuarioClaim(), model.IdCategoria.Value, model.IdConta, model.IdCartaoCredito, model.TipoMetodoPagamento.Value, model.ValorParcela.Value, model.DataPrimeiraParcela.Value, model.QuantidadeParcelas.Value, model.PeriodicidadeParcelas.Value, model.IdPessoa, model.Observacao); return(await _agendamentoServico.CadastrarAgendamento(cadastrarEntrada)); }
public async Task <ISaida> CadastrarAgendamento(CadastrarAgendamentoEntrada cadastroEntrada) { // Verifica se as informações para cadastro foram informadas corretamente if (cadastroEntrada.Invalido) { return(new Saida(false, cadastroEntrada.Mensagens, null)); } // Verifica se a categoria existe a partir do ID informado. this.NotificarSeFalso(await _categoriaRepositorio.VerificarExistenciaPorId(cadastroEntrada.IdUsuario, cadastroEntrada.IdCategoria), CategoriaMensagem.Id_Categoria_Nao_Existe); // Verifica se a conta ou cartão de crédito existem a partir do ID informado. if (cadastroEntrada.IdConta.HasValue) { this.NotificarSeFalso(await _contaRepositorio.VerificarExistenciaPorId(cadastroEntrada.IdUsuario, cadastroEntrada.IdConta.Value), ContaMensagem.Id_Conta_Nao_Existe); } else { this.NotificarSeFalso(await _cartaoCreditoRepositorio.VerificarExistenciaPorId(cadastroEntrada.IdUsuario, cadastroEntrada.IdCartaoCredito.Value), CartaoCreditoMensagem.Id_Cartao_Nao_Existe); } // Verifica se a pessoa existe a partir do ID informado. if (cadastroEntrada.IdPessoa.HasValue) { this.NotificarSeFalso(await _pessoaRepositorio.VerificarExistenciaPorId(cadastroEntrada.IdUsuario, cadastroEntrada.IdPessoa.Value), PessoaMensagem.Id_Pessoa_Nao_Existe); } if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var agendamento = new Agendamento(cadastroEntrada); await _agendamentoRepositorio.Inserir(agendamento); await _uow.Commit(); return(_uow.Invalido ? new Saida(false, _uow.Mensagens, null) : new Saida(true, new[] { AgendamentoMensagem.Agendamento_Cadastrado_Com_Sucesso }, new AgendamentoSaida(await _agendamentoRepositorio.ObterPorId(agendamento.Id)))); }