Example #1
0
        public static InformeColaboradorFiltro Converter(ConsultaInformeColaboradorVM vm)
        {
            var filtro = new InformeColaboradorFiltro()
            {
                AnoExercicio = vm.AnoExercicio,
                CPFCNPJ      = removeMascaraCPFCNPJ(vm.CPFCNPJ)
            };

            return(filtro);
        }
Example #2
0
        public IQueryable <InformeColaboradorDTO> Execute(InformeColaboradorFiltro filtro)
        {
            var consulta = from p in _db.Processamentos
                           join a in _db.Arquivos
                           on p.Id equals a.ProcessamentoId
                           where p.AnoExercicio == filtro.AnoExercicio && p.SituacaoProcessamento == (short)TipoSituacao.EnviadoWeb &&
                           p.Arquivos.Any(arquivo => a.NomeArquivo.Contains(filtro.CPFCNPJ))
                           orderby p.AnoExercicio
                           select new InformeColaboradorDTO
            {
                AnoExercicio     = p.AnoExercicio,
                CPFCNPJ          = a.NomeArquivo,
                CaminhoDiretorio = a.CaminhoDiretorio,
                ExtensaoArquivo  = a.ExtensaoArquivo
            };

            return(consulta);
        }
Example #3
0
        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);
            }
        }