public static Specification <TituloPagar> DataPeriodoMenorOuIgualSituacaoPagosRelContasPagarTitulos(SituacaoTituloPagar situacao, string tipoPesquisa, DateTime?data) { Specification <TituloPagar> specification = new TrueSpecification <TituloPagar>(); DateTime dataUltimaHora = new DateTime(data.Value.Year, data.Value.Month, data.Value.Day, 23, 59, 59); if (situacao == SituacaoTituloPagar.Emitido) { if (tipoPesquisa.ToUpper() == "V") { if (data.HasValue) { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataVencimento <= dataUltimaHora); specification &= directSpecification; } } else { if (data.HasValue) { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataEmissao <= dataUltimaHora); specification &= directSpecification; } } } if (situacao == SituacaoTituloPagar.Pago) { if (tipoPesquisa.ToUpper() == "V") { if (data.HasValue) { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataVencimento <= dataUltimaHora); specification &= directSpecification; } } else { if (data.HasValue) { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataPagamento <= dataUltimaHora); specification &= directSpecification; } } } if (situacao == SituacaoTituloPagar.Baixado) { if (tipoPesquisa.ToUpper() == "V") { if (data.HasValue) { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataVencimento <= dataUltimaHora); specification &= directSpecification; } } else { if (data.HasValue) { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataBaixa <= dataUltimaHora); specification &= directSpecification; } } } return(specification); }
public static Specification <TituloPagar> DataPeriodoMaiorOuIgualSituacaoPagosRelContasPagarTitulos(SituacaoTituloPagar situacao, string tipoPesquisa, DateTime?data) { Specification <TituloPagar> specification = new TrueSpecification <TituloPagar>(); if (situacao == SituacaoTituloPagar.Emitido) { if (tipoPesquisa.ToUpper() == "V") { if (data.HasValue) { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataVencimento >= data); specification &= directSpecification; } } else { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataEmissao >= data); specification &= directSpecification; } } if (situacao == SituacaoTituloPagar.Pago) { if (tipoPesquisa.ToUpper() == "V") { if (data.HasValue) { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataVencimento >= data); specification &= directSpecification; } } else { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataPagamento >= data); specification &= directSpecification; } } if (situacao == SituacaoTituloPagar.Baixado) { if (tipoPesquisa.ToUpper() == "V") { if (data.HasValue) { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataVencimento >= data); specification &= directSpecification; } } else { var directSpecification = new DirectSpecification <TituloPagar>(l => l.DataBaixa >= data); specification &= directSpecification; } } return(specification); }