public void TestaPositivoValidacaoSexoMasculinoPorPeriodo() { var agendamento = new AgendamentoEntitie { Data = DateTime.Now }; var doadorMaculino = new DoadorEntitie { Sexo = Entities.Enumeradores.SexoPessoaEnum.M }; bool result = true; result = ValidaDoadorBusiness.IsDoacaoValidaNoPeriodo(agendamento, doadorMaculino); doadorMaculino.Doacoes = new System.Collections.Generic.List <ConfirmacaoDoacaoEntitie>(); doadorMaculino.Doacoes.Add(new ConfirmacaoDoacaoEntitie { DataConfirmacaoDoacao = DateTime.Now.AddMonths(-8) }); doadorMaculino.Doacoes.Add(new ConfirmacaoDoacaoEntitie { DataConfirmacaoDoacao = DateTime.Now.AddMonths(-6) }); doadorMaculino.Doacoes.Add(new ConfirmacaoDoacaoEntitie { DataConfirmacaoDoacao = DateTime.Now.AddMonths(-4) }); doadorMaculino.Doacoes.Add(new ConfirmacaoDoacaoEntitie { DataConfirmacaoDoacao = DateTime.Now.AddMonths(-2) }); result = result && ValidaDoadorBusiness.IsDoacaoValidaNoPeriodo(agendamento, doadorMaculino); Assert.AreEqual(result, true, "Sucesso"); }
public void TestaNegativoValidacaoPorIdadeMaxima() { var doador = new DoadorEntitie { DataNascimento = DateTime.Now.AddYears(-66) }; var result = ValidaDoadorBusiness.IsDoadorIdadeMaximaValido(doador); Assert.AreEqual(!result, true, "Sucesso"); }
public static bool IsDoadorPesoMinimoValido(DoadorEntitie doador) { var retorno = true; if (doador.Peso < 50) // Peso mínimo 50 Kg { retorno = false; } return(retorno); }
public static bool IsDoadorValidoPermanentemente(DoadorEntitie doador) { var retorno = true; if (!IsDoadorIdadeMaximaValido(doador)) { retorno = false; } return(retorno); }
public IList <DoadorEntitie> RecuperaPossiveisDoadores() { DoadorEntitie doadorAlias = null; var criteria = GetSession().QueryOver <DoadorEntitie>(() => doadorAlias) .Where(x => x.AptoParaDoacaoPermanente == true && x.AptoParaDoacaoTemporariamente == true) .Inner.JoinQueryOver(() => doadorAlias.Enderecos) .Left.JoinQueryOver(() => doadorAlias.Doacoes); return(criteria.List <DoadorEntitie>()); }
public static bool IsDoadorIdadeMaximaValido(DoadorEntitie doador) { var retorno = true; if (!doador.DataNascimento.HasValue || doador.DataNascimento.Value.AddYears(65).CompareTo(DateTime.Now) < 1) //Máximo de 65 anos de idade { retorno = false; } return(retorno); }
public static bool IsDoacaoValidaNoPeriodo(AgendamentoEntitie agendamento, DoadorEntitie doador) { bool retorno = true; DateTime periodoFinal = agendamento.Data; DateTime periodoInicial = agendamento.Data.AddYears(-1); doador.QuantidadeDoacoes = doador.Doacoes == null ? 0 : doador.Doacoes.Count; if (doador.QuantidadeDoacoes >= 3) { doador.QuantidadeDoacoes = doador.Doacoes.ToList().Count(x => x.DataConfirmacaoDoacao >= periodoInicial && x.DataConfirmacaoDoacao <= periodoFinal); if ((doador.Sexo == Entities.Enumeradores.SexoPessoaEnum.F && doador.QuantidadeDoacoes > 3) || (doador.Sexo == Entities.Enumeradores.SexoPessoaEnum.M && doador.QuantidadeDoacoes > 4)) { retorno = false; } } return(retorno); }
public static bool IsDoadorValidoTemporariamente(AgendamentoEntitie agendamento, DoadorEntitie doador) { var retorno = true; if (!IsDoadorPesoMinimoValido(doador) || !IsDoadorIdadeMinimaValido(doador) || !IsDoacaoValidaNoPeriodo(agendamento, doador)) { retorno = false; } return(retorno); }
private NotificacaoDoacaoEntitie GetInstaciaObjetoNotificacao(AgendamentoEntitie agendamento, DoadorEntitie doadorSelecionado) { return(new NotificacaoDoacaoEntitie { Confirmado = false, DataNotificacao = DateTime.Now, Doador = doadorSelecionado, Agendamento = agendamento, ChaveAutenticacao = Guid.NewGuid().ToString() }); }