示例#1
0
        public Specification <TituloMovimento> MontarSpecificationTituloMovimentoRelApropriacaoPorClasse(RelApropriacaoPorClasseFiltro filtro, int?idUsuario)
        {
            var specification = (Specification <TituloMovimento>) new TrueSpecification <TituloMovimento>();

            if (usuarioAppService.UsuarioPossuiCentroCustoDefinidoNoModulo(idUsuario, Resource.Sigim.NomeModulo.Financeiro))
            {
                specification &= TituloMovimentoSpecification.UsuarioPossuiAcessoAoCentroCusto(idUsuario, Resource.Sigim.NomeModulo.Financeiro);
            }
            else
            {
                specification &= TituloMovimentoSpecification.EhCentroCustoAtivo();
            }

            if (filtro.CentroCusto != null)
            {
                specification &= TituloMovimentoSpecification.PertenceAoCentroCustoIniciadoPor(filtro.CentroCusto.Codigo);
            }

            specification &= TituloMovimentoSpecification.DataPeriodoMaiorOuIgualRelApropriacaoPorClasse(filtro.DataInicial);
            specification &= TituloMovimentoSpecification.DataPeriodoMenorOuIgualRelApropriacaoPorClasse(filtro.DataFinal);

            specification &= TituloMovimentoSpecification.EhSituacaoIgualConferido();
            specification &= TituloMovimentoSpecification.PossuiContaCorrente();

            specification &= TituloMovimentoSpecification.EhTipoParticipanteTitular();

            specification &= TituloMovimentoSpecification.EhValorMovimentoMaiorQueZero();

            if (filtro.ListaClasseReceita.Count > 0)
            {
                string[] arrayCodigoClasse = PopulaArrayComCodigosDeClassesSelecionadas(filtro.ListaClasseReceita);

                if (arrayCodigoClasse.Length > 0)
                {
                    specification &= TituloMovimentoSpecification.SaoClassesExistentes(arrayCodigoClasse);
                }
            }

            return(specification);
        }
示例#2
0
 public RelApropriacaoPorClasseListaViewModel()
 {
     Filtro = new RelApropriacaoPorClasseFiltro();
 }