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); }
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(); }
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); }
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); }