Beispiel #1
0
        public List <RelOCItensOrdemCompraDTO> ListarPeloFiltroRelOCItensOrdemCompra(RelOcItensOrdemCompraFiltro filtro, int?usuarioId, out int totalRegistros)
        {
            var specification = MontarSpecificationRelOCItensOrdemCompra(filtro, usuarioId);

            var listaOrdemCompraItem =
                ordemCompraItemRepository.ListarPeloFiltroComPaginacao(specification,
                                                                       filtro.PaginationParameters.PageIndex,
                                                                       filtro.PaginationParameters.PageSize,
                                                                       filtro.PaginationParameters.OrderBy,
                                                                       filtro.PaginationParameters.Ascending,
                                                                       out totalRegistros,
                                                                       l => l.Classe,
                                                                       l => l.OrdemCompra.CentroCusto,
                                                                       l => l.OrdemCompra.ClienteFornecedor,
                                                                       l => l.Material.MaterialClasseInsumo).To <List <OrdemCompraItem> >();
            List <RelOCItensOrdemCompraDTO> listaRelOCItensOrdemCompra = new List <RelOCItensOrdemCompraDTO>();

            foreach (var item in listaOrdemCompraItem)
            {
                RelOCItensOrdemCompraDTO relat = new RelOCItensOrdemCompraDTO();

                relat.OrdemCompra     = item.OrdemCompra.To <OrdemCompraDTO>();
                relat.OrdemCompraItem = item.To <OrdemCompraItemDTO>();

                listaRelOCItensOrdemCompra.Add(relat);
            }

            return(listaRelOCItensOrdemCompra);
        }
Beispiel #2
0
 public RelOcItensOrdemCompraListaViewModel()
 {
     Filtro                   = new RelOcItensOrdemCompraFiltro();
     Filtro.EhFechada         = true;
     Filtro.EhLiberada        = true;
     Filtro.EhPendente        = true;
     Filtro.Material          = new MaterialDTO();
     Filtro.ClienteFornecedor = new ClienteFornecedorDTO();
     Filtro.OrdemCompra       = new OrdemCompraDTO();
 }
Beispiel #3
0
        private Specification <OrdemCompraItem> MontarSpecificationRelOCItensOrdemCompra(RelOcItensOrdemCompraFiltro filtro, int?usuarioId)
        {
            var specification = (Specification <OrdemCompraItem>) new TrueSpecification <OrdemCompraItem>();

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

            if (filtro.OrdemCompra.Id.HasValue)
            {
                specification &= OrdemCompraItemSpecification.PertenceAhOrdemCompraId(filtro.OrdemCompra.Id);
            }
            else
            {
                specification &= OrdemCompraItemSpecification.DataOrdemCompraMaiorOuIgual(filtro.DataInicial);
                specification &= OrdemCompraItemSpecification.DataOrdemCompraMenorOuIgual(filtro.DataFinal);
                specification &= OrdemCompraItemSpecification.PertenceAoCentroCustoIniciadoPor(filtro.CentroCusto.Codigo);
                specification &= OrdemCompraItemSpecification.PertenceAhClasseIniciadaPor(filtro.Classe.Codigo);
                specification &= OrdemCompraItemSpecification.PertenceAhClasseInsumoIniciadaPor(filtro.ClasseInsumo.Codigo);
                specification &= OrdemCompraItemSpecification.ClienteFornecedorPertenceAhItemOC(filtro.ClienteFornecedor.Id);
                specification &= OrdemCompraItemSpecification.PertenceMaterialId(filtro.Material.Id);
                specification &= OrdemCompraItemSpecification.EhExibirSomenteComSaldo(filtro.EhExibirSomentecomSaldo);

                if (filtro.EhFechada || filtro.EhLiberada || filtro.EhPendente)
                {
                    specification &= ((filtro.EhFechada ? OrdemCompraItemSpecification.EhFechada() : new FalseSpecification <OrdemCompraItem>()) ||
                                      ((filtro.EhLiberada) ? OrdemCompraItemSpecification.EhLiberada() : new FalseSpecification <OrdemCompraItem>()) ||
                                      ((filtro.EhPendente) ? OrdemCompraItemSpecification.EhPendente() : new FalseSpecification <OrdemCompraItem>()));
                }
            }

            return(specification);
        }
Beispiel #4
0
        public FileDownloadDTO ExportarRelOCItensOrdemCompra(RelOcItensOrdemCompraFiltro filtro,
                                                             int?usuarioId,
                                                             FormatoExportacaoArquivo formato)
        {
            if (!UsuarioLogado.IsInRole(Funcionalidade.RelatorioItensOrdemCompraImprimir))
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error);
                return(null);
            }

            var specification = MontarSpecificationRelOCItensOrdemCompra(filtro, usuarioId);

            var listaOrdemCompraItem =
                ordemCompraItemRepository.ListarPeloFiltro(specification,
                                                           l => l.Classe,
                                                           l => l.OrdemCompra.CentroCusto,
                                                           l => l.OrdemCompra.ClienteFornecedor,
                                                           l => l.Material.MaterialClasseInsumo).To <List <OrdemCompraItem> >();

            relOrdemCompraItem objRel = new relOrdemCompraItem();

            objRel.SetDataSource(RelItensOrdemCompraToDataTable(listaOrdemCompraItem));

            string periodo = " Período de: " + filtro.DataInicial.Value.ToString("dd/MM/yyyy") + " até " + filtro.DataFinal.Value.ToString("dd/MM/yyyy");

            string parametroInsumo = "Insumo: ";

            if (filtro.Material.Id.HasValue)
            {
                parametroInsumo += filtro.Material.Id.ToString() + " - " + filtro.Material.Descricao;
            }
            else
            {
                parametroInsumo += "Todos";
            }

            var    parametros           = parametrosOrdemCompraRepository.Obter();
            var    centroCusto          = centroCustoRepository.ObterPeloCodigo(filtro.CentroCusto.Codigo, l => l.ListaCentroCustoEmpresa);
            string parametroCentroCusto = "Centro de Custo: ";

            if (centroCusto != null)
            {
                parametroCentroCusto += centroCusto.Codigo + " - " + centroCusto.Descricao;
            }
            else
            {
                parametroCentroCusto += "Todos";
            }

            var caminhoImagem = PrepararIconeRelatorio(centroCusto, parametros);

            var nomeEmpresa = ObterNomeEmpresa(centroCusto, parametros);

            objRel.SetParameterValue("nomeEmpresa", nomeEmpresa);
            objRel.SetParameterValue("parCentroCusto", parametroCentroCusto);
            objRel.SetParameterValue("parPeriodo", periodo);
            objRel.SetParameterValue("parInsumo", parametroInsumo);
            objRel.SetParameterValue("caminhoImagem", caminhoImagem);

            FileDownloadDTO arquivo = new FileDownloadDTO(
                "Rel. Itens ordem de compra",
                objRel.ExportToStream((ExportFormatType)formato),
                formato);

            if (System.IO.File.Exists(caminhoImagem))
            {
                System.IO.File.Delete(caminhoImagem);
            }
            return(arquivo);
        }