Example #1
0
        private PreRequisicaoMaterial ObterPeloIdEUsuario(int?id, int?idUsuario)
        {
            var specification = (Specification <PreRequisicaoMaterial>) new TrueSpecification <PreRequisicaoMaterial>();

            if (usuarioAppService.UsuarioPossuiCentroCustoDefinidoNoModulo(idUsuario, Resource.Sigim.NomeModulo.OrdemCompra))
            {
                specification &= PreRequisicaoMaterialSpecification.UsuarioPossuiAcessoAoCentroCusto(idUsuario, Resource.Sigim.NomeModulo.OrdemCompra);
            }

            return(preRequisicaoMaterialRepository.ObterPeloId(id, specification, l => l.ListaItens.Select(s => s.ListaRequisicaoMaterialItem.Select(c => c.RequisicaoMaterial))));
        }
Example #2
0
        public List <PreRequisicaoMaterialDTO> ListarPeloFiltro(PreRequisicaoMaterialFiltro filtro, int?idUsuario, out int totalRegistros)
        {
            var specification = (Specification <PreRequisicaoMaterial>) new TrueSpecification <PreRequisicaoMaterial>();

            if (usuarioAppService.UsuarioPossuiCentroCustoDefinidoNoModulo(idUsuario, Resource.Sigim.NomeModulo.OrdemCompra))
            {
                specification &= PreRequisicaoMaterialSpecification.UsuarioPossuiAcessoAoCentroCusto(idUsuario, Resource.Sigim.NomeModulo.OrdemCompra);
            }

            if (filtro.Id.HasValue)
            {
                specification &= PreRequisicaoMaterialSpecification.MatchingId(filtro.Id);
            }
            else
            {
                specification &= PreRequisicaoMaterialSpecification.DataMaiorOuIgual(filtro.DataInicial);
                specification &= PreRequisicaoMaterialSpecification.DataMenorOuIgual(filtro.DataFinal);

                if (filtro.EhCancelada || filtro.EhFechada || filtro.EhParcialmenteAprovada || filtro.EhRequisitada)
                {
                    specification &= ((filtro.EhCancelada ? PreRequisicaoMaterialSpecification.EhCancelada() : new FalseSpecification <PreRequisicaoMaterial>()) ||
                                      ((filtro.EhFechada) ? PreRequisicaoMaterialSpecification.EhFechada() : new FalseSpecification <PreRequisicaoMaterial>()) ||
                                      ((filtro.EhParcialmenteAprovada) ? PreRequisicaoMaterialSpecification.EhParcialmenteAprovada() : new FalseSpecification <PreRequisicaoMaterial>()) ||
                                      ((filtro.EhRequisitada) ? PreRequisicaoMaterialSpecification.EhRequisitada() : new FalseSpecification <PreRequisicaoMaterial>()));
                }
            }

            return(preRequisicaoMaterialRepository.ListarPeloFiltroComPaginacao(
                       specification,
                       filtro.PaginationParameters.PageIndex,
                       filtro.PaginationParameters.PageSize,
                       filtro.PaginationParameters.OrderBy,
                       filtro.PaginationParameters.Ascending,
                       out totalRegistros,
                       l => l.ListaItens.Select(c => c.PreRequisicaoMaterial),
                       l => l.ListaItens.Select(c => c.CentroCusto.ListaUsuarioCentroCusto),
                       l => l.ListaItens.Select(o => o.ListaRequisicaoMaterialItem.Select(s => s.RequisicaoMaterial))).To <List <PreRequisicaoMaterialDTO> >());
        }