public JsonResult Index(ConsultaInformeColaboradorVM model) { if (ModelState.IsValid) { var filtro = ConsultaInformeColaboradorVM.Converter(model); var consulta = new ConsultaInformeColaboradorQueryHandler(); var informes = consulta.Execute(filtro); _repositorio.Adicionar(InformesColaborador, informes); return(Json(new { sucesso = true })); } else { var resultado = ModelState.ObterErroModelState(); return(Json(resultado)); } }
public FileResult BuscaPdf(string fileName, int ano) { if (fileName == null && ano == 0) { throw new Exception("Parâmetros inválidos"); } var consulta = new ConsultaInformeColaboradorQueryHandler(); var filtro = new InformeColaboradorFiltro { AnoExercicio = ano, CPFCNPJ = fileName }; var arquivo = consulta.Execute(filtro).FirstOrDefault(); var caminhoDir = arquivo.CaminhoDiretorio; var nomeServer = ConfigurationManager.AppSettings["NomeServer"].RemoveContraBarra(); var diretorioServer = ConfigurationManager.AppSettings["DiretorioServer"].RemoveContraBarra(); var raizPathInformesColaboradores = String.Format(@"\\{0}\{1}", nomeServer, diretorioServer); while (Path.IsPathRooted(caminhoDir)) { caminhoDir = caminhoDir.Remove(0, 1); } var path = Path.Combine(raizPathInformesColaboradores, caminhoDir, fileName + arquivo.ExtensaoArquivo); var servico = new ArquivoServico(); try { using (servico.Conexao = RedeUtil.RecuperarConexaoRede(servico.CaminhoDiretorio, servico.Usuario)) { FileStream file = new FileStream(path, FileMode.Open); return(File(file, "application/pdf", fileName + ".pdf")); } } catch (Exception e) { servico.Conexao.Dispose(); throw new Exception("Erro ao tentar baixar arquivo " + arquivo.CPFCNPJ + " " + e.Message, e.InnerException); } }