private string PrepararIconeRelatorio(CentroCusto centroCusto, ParametrosOrcamento parametros) { var caminhoImagem = string.Empty; var iconeRelatorio = ObterIconeRelatorio(centroCusto) ?? parametros.IconeRelatorio; if (iconeRelatorio == null) { string diretorio = AppDomain.CurrentDomain.BaseDirectory + "/Content/img/sigim_AzulCopia.png"; System.Uri uri = new System.Uri(diretorio); using (System.Drawing.Image image = System.Drawing.Image.FromFile(diretorio)) { using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream()) { image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp); iconeRelatorio = memoryStream.ToArray(); } } } if (iconeRelatorio != null) { caminhoImagem = DiretorioImagemRelatorio + Guid.NewGuid().ToString() + ".bmp"; System.Drawing.Image imagem = iconeRelatorio.ToImage(); imagem.Save(caminhoImagem, System.Drawing.Imaging.ImageFormat.Bmp); } return(caminhoImagem); }
private string ObterNomeEmpresa(CentroCusto centroCusto, ParametrosOrcamento parametros) { if (centroCusto != null) { var centroCustoEmpresa = centroCusto.ListaCentroCustoEmpresa.FirstOrDefault(); if (centroCustoEmpresa != null) { return(centroCustoEmpresa.Cliente.Nome); } } return(!string.IsNullOrEmpty(parametros.EmpresaNomeRaiz) ? parametros.EmpresaNomeRaiz : string.Empty); }
public FileDownloadDTO ExportarRelOrcamento(RelOrcamentoFiltro filtro, OrcamentoDTO orcamentoDTO, FormatoExportacaoArquivo formato) { DataTable dtaRelatorio = new DataTable(); FileDownloadDTO arquivo = new FileDownloadDTO("Rel. Orçamento ", new System.IO.MemoryStream(), formato); if (orcamentoDTO == null) { return(arquivo); } ParametrosOrcamento parametros = parametrosOrcamentoRepository.Obter(); var centroCusto = centroCustoRepository.ObterPeloCodigo(orcamentoDTO.Obra.CentroCusto.Codigo, l => l.ListaCentroCustoEmpresa); var caminhoImagem = PrepararIconeRelatorio(centroCusto, parametros); var nomeEmpresa = ObterNomeEmpresa(centroCusto, parametros); if (!filtro.EhClasse) { relOrcamento objRelOrcamento = new relOrcamento(); dtaRelatorio = RelOrcamentoToDataTable(orcamentoDTO, false); objRelOrcamento.SetDataSource(dtaRelatorio); objRelOrcamento.SetParameterValue("ComBDI", filtro.EhBDI); objRelOrcamento.SetParameterValue("SemDetalhamento", filtro.EhSemDetalhamento); objRelOrcamento.SetParameterValue("TotalBDI", filtro.BDITotal); objRelOrcamento.SetParameterValue("ValorTotal", filtro.PrecoTotal); objRelOrcamento.SetParameterValue("NomeIndice", filtro.NomeIndice); objRelOrcamento.SetParameterValue("Defasagem", filtro.Defasagem); objRelOrcamento.SetParameterValue("DataBase", filtro.DataBase); objRelOrcamento.SetParameterValue("CotacaoBase", filtro.CotacaoBase); objRelOrcamento.SetParameterValue("DataAtual", filtro.DataAtual); objRelOrcamento.SetParameterValue("CotacaoAtual", filtro.CotacaoAtual); objRelOrcamento.SetParameterValue("ValorCorrigido", filtro.EhValorCorrigido); objRelOrcamento.SetParameterValue("AreaConstrucaoAreaReal", filtro.AreaConstrucaoAreaReal); objRelOrcamento.SetParameterValue("AreaConstrucaoAreaEquivalente", filtro.AreaConstrucaoAreaEquivalente); objRelOrcamento.SetParameterValue("caminhoImagem", caminhoImagem); arquivo = new FileDownloadDTO("Rel. Orçamento", objRelOrcamento.ExportToStream((ExportFormatType)formato), formato); } else { relOrcamentoClasse objRelOrcamentoClasse = new relOrcamentoClasse(); dtaRelatorio = RelOrcamentoToDataTable(orcamentoDTO, true); objRelOrcamentoClasse.SetDataSource(dtaRelatorio); objRelOrcamentoClasse.SetParameterValue("ComBDI", filtro.EhBDI); objRelOrcamentoClasse.SetParameterValue("SemDetalhamento", filtro.EhSemDetalhamento); objRelOrcamentoClasse.SetParameterValue("TotalBDI", filtro.BDITotal); objRelOrcamentoClasse.SetParameterValue("ValorTotal", filtro.PrecoTotal); objRelOrcamentoClasse.SetParameterValue("NomeIndice", filtro.NomeIndice); objRelOrcamentoClasse.SetParameterValue("Defasagem", filtro.Defasagem); objRelOrcamentoClasse.SetParameterValue("DataBase", filtro.DataBase); objRelOrcamentoClasse.SetParameterValue("CotacaoBase", filtro.CotacaoBase); objRelOrcamentoClasse.SetParameterValue("DataAtual", filtro.DataAtual); objRelOrcamentoClasse.SetParameterValue("CotacaoAtual", filtro.CotacaoAtual); objRelOrcamentoClasse.SetParameterValue("ValorCorrigido", filtro.EhValorCorrigido); objRelOrcamentoClasse.SetParameterValue("AreaConstrucaoAreaReal", filtro.AreaConstrucaoAreaReal); objRelOrcamentoClasse.SetParameterValue("AreaConstrucaoAreaEquivalente", filtro.AreaConstrucaoAreaEquivalente); objRelOrcamentoClasse.SetParameterValue("caminhoImagem", caminhoImagem); arquivo = new FileDownloadDTO("Rel. Orçamento Classe", objRelOrcamentoClasse.ExportToStream((ExportFormatType)formato), formato); } if (System.IO.File.Exists(caminhoImagem)) { System.IO.File.Delete(caminhoImagem); } return(arquivo); }