public void NaoDeveCriarPontuacaoPorFamiliaPoisRendaPorPessoasSaoInvalidas() { //Given var pessoas = new List <Pessoa> { new Pessoa( _faker.Random.Guid(), _faker.Person.FullName, _faker.Date.Past().Date, _faker.PickRandom <TipoDaPessoaEnum>() ) }; List <RendaPorPessoa> rendaPorPessoasInvalidas = null; var familia = new Familia( _faker.Random.Guid(), pessoas, rendaPorPessoasInvalidas, 0 ); //When var pontuacaoPorFamilia = new PontuacaoPorFamilia(familia); //Then Assert.True(pontuacaoPorFamilia.Invalid); Assert.True(pontuacaoPorFamilia.PossuiNotificacoes); }
public void NaoDeveCriarPontuacaoPorFamiliaPoisPessoasSaoInvalidas() { //Given List <Pessoa> pessoasInvalidas = null; var rendaPorPessoas = new List <RendaPorPessoa> { new RendaPorPessoa( _faker.Random.Guid(), _faker.Random.Guid(), _faker.Random.Decimal(40) ) }; var familia = new Familia( _faker.Random.Guid(), pessoasInvalidas, rendaPorPessoas, 0 ); //When var pontuacaoPorFamilia = new PontuacaoPorFamilia(familia); //Then Assert.True(pontuacaoPorFamilia.Invalid); Assert.True(pontuacaoPorFamilia.PossuiNotificacoes); }
public void DeveCriarPontuacaoPorFamilia() { //Given var pessoas = new List <Pessoa> { new Pessoa( _faker.Random.Guid(), _faker.Person.FullName, _faker.Date.Past().Date, _faker.PickRandom <TipoDaPessoaEnum>() ) }; var rendaPorPessoas = new List <RendaPorPessoa> { new RendaPorPessoa( _faker.Random.Guid(), pessoas.FirstOrDefault().Id, _faker.Random.Decimal(40) ) }; var familia = new Familia( _faker.Random.Guid(), pessoas, rendaPorPessoas, 0 ); //When var pontuacaoPorFamilia = new PontuacaoPorFamilia(familia); //Then Assert.True(pontuacaoPorFamilia.Valid); Assert.True(pontuacaoPorFamilia.NaoPossuiNotificacoes); }
public async Task <FamiliaDto> Armazenar(FamiliaDto dto) { if (!ValidarDto(dto)) { return(null); } if (!ValidarPessoas(dto.Pessoas)) { return(null); } if (!ValidarRendaPorPessoas(dto.RendaPorPessoas)) { return(null); } var familia = new Familia( dto.Id, InstanciaPessoas(dto.Pessoas), InstanciaRendaPorPessoas(dto.RendaPorPessoas), dto.Status ); var pontuacaoPorFamilia = new PontuacaoPorFamilia(familia); if (pontuacaoPorFamilia.Invalid) { Notificador.Notificar(pontuacaoPorFamilia.Notificacoes); return(null); } await _pontuacaoPorFamiliaRepositorio.Incluir(pontuacaoPorFamilia); await _pontuacaoPorFamiliaRepositorio.Salvar(); return(MontarDtoDeRetorno(pontuacaoPorFamilia)); }
private FamiliaDto MontarDtoDeRetorno(PontuacaoPorFamilia pontuacaoPorFamilia) { return(new FamiliaDto { Id = pontuacaoPorFamilia.Familia.Id, Pessoas = pontuacaoPorFamilia.Familia.Pessoas.Select(pessoa => new PessoaDto { Id = pessoa.Id, Nome = pessoa.Nome, DataDeNascimento = pessoa.DataDeNascimento, TipoDaPessoa = (int)pessoa.TipoDaPessoa }) .ToList(), RendaPorPessoas = pontuacaoPorFamilia.Familia.Rendas.Select(rendaPorPessoa => new RendaPorPessoaDto { Id = rendaPorPessoa.Id, PessoaId = rendaPorPessoa.PessoaId, Valor = rendaPorPessoa.Valor }) .ToList(), Status = (int)pontuacaoPorFamilia.Familia.Status }); }
public async Task <PontuacaoPorFamilia> Incluir(PontuacaoPorFamilia pontuacaoPorFamilia) { await _contexto.Set <PontuacaoPorFamilia>().AddAsync(pontuacaoPorFamilia); return(pontuacaoPorFamilia); }