private Familia CriarCenarioComDependentesMenoresDeIdade() { var familiaComDoisDependentesMenoresDeIdade = FamiliaFactory.Criar( Status); FamiliaFactory.CriarPessoa( familiaComDoisDependentesMenoresDeIdade, Nome.CriarNovo("Pretendente"), Idade.CriarNovo(new DateTime(1997, 10, 25)), Tipo.Pretendente, Renda.CriarNovo(1000)); FamiliaFactory.CriarPessoa( familiaComDoisDependentesMenoresDeIdade, Nome.CriarNovo("Conjugue"), Idade.CriarNovo(new DateTime(1997, 01, 01)), Tipo.Conjuge, Renda.CriarNovo(500)); FamiliaFactory.CriarPessoa( familiaComDoisDependentesMenoresDeIdade, Nome.CriarNovo("Dependente 1"), Idade.CriarNovo(new DateTime(2010, 01, 01)), Tipo.Dependente); FamiliaFactory.CriarPessoa( familiaComDoisDependentesMenoresDeIdade, Nome.CriarNovo("Dependente 2"), Idade.CriarNovo(new DateTime(2010, 01, 01)), Tipo.Dependente); return(familiaComDoisDependentesMenoresDeIdade); }
private Familia GerarCenarioComDoisDependentesMenorDe18Anos() { var familiaComDoisDependentesMenorDe18Anos = FamiliaFactory.Criar(Status); FamiliaFactory.AdicionarPessoa( familiaComDoisDependentesMenorDe18Anos, new NomeCompleto("Pretendente"), new Idade(DateTime.Now.AddYears(-30)), ETipoType.Pretendente, new Renda(1300)); FamiliaFactory.AdicionarPessoa( familiaComDoisDependentesMenorDe18Anos, new NomeCompleto("Conjugue"), new Idade(DateTime.Now.AddYears(-29)), ETipoType.Conjugue, new Renda(900)); FamiliaFactory.AdicionarPessoa( familiaComDoisDependentesMenorDe18Anos, new NomeCompleto("Dependente 1"), new Idade(DateTime.Now.AddYears(-10)), ETipoType.Dependente, new Renda(0)); FamiliaFactory.AdicionarPessoa( familiaComDoisDependentesMenorDe18Anos, new NomeCompleto("Dependente 2"), new Idade(DateTime.Now.AddYears(-17)), ETipoType.Dependente, new Renda(0)); return(familiaComDoisDependentesMenorDe18Anos); }
public IResultadoCommand Tratar(CriarFamiliaCommand command) { command.Validar(); if (command.Invalid) { return(new ResultadoCommand(0, 0, false, command.Notifications)); } var tratamentoVinculosFamiliares = new Dictionary <ETipoVinculoFamiliar, Action <CriarFamiliaCommand> >() { { ETipoVinculoFamiliar.Pretendente, _categoria.ObterCategoriaIdadePretendente }, { ETipoVinculoFamiliar.Dependente, _categoria.ObterCategoriaDependente } }; try { command.CategoriaRenda = _categoria.ObterCategoriaRenda(command); if (tratamentoVinculosFamiliares.ContainsKey(command.TipoVinculoFamiliar)) { tratamentoVinculosFamiliares[command.TipoVinculoFamiliar].Invoke(command); } var novaFamilia = FamiliaFactory.Criar(command); var novoMembroFamilia = new Pessoa(command.Nome, command.TipoVinculoFamiliar, command.DataNascimento, command.Renda, novaFamilia.Id); novaFamilia.AdicionarMembroFamiliar(novoMembroFamilia); _repositorio.CriarFamilia(novaFamilia); return(new ResultadoCommand(0, 0, true)); } catch (Exception) { return(new ResultadoCommand(0, 0, false, "Ocorreu um erro inesperado ao criar uma família.")); } }