Ejemplo n.º 1
0
        public static Models.SqlServer.Enriquecimento.LogProcessamento Insert(int origemAppsettingsJson, Models.SqlServer.Enriquecimento.LogProcessamento logProcessamento)
        {
            var parametros = new DynamicParameters();
            List <Models.SqlServer.Enriquecimento.LogProcessamento> list = new List <Models.SqlServer.Enriquecimento.LogProcessamento>();

            parametros.Add("@IdFila", logProcessamento.IdFila, DbType.Int64, ParameterDirection.Input, null);
            parametros.Add("@Instrucao", logProcessamento.Instrucao, DbType.String, ParameterDirection.Input, 500);
            parametros.Add("@Descricao", logProcessamento.Descricao, DbType.String, ParameterDirection.Input, 1000);
            parametros.Add("@Inclusao", logProcessamento.Inclusao, DbType.DateTime, ParameterDirection.Input, null);
            using (SqlConnection db = new SqlConnection(Utils.AppConfiguration.GetAppConfiguration(origemAppsettingsJson).GetConnectionString(connectionString)))
            {
                var result = db.Query <Models.SqlServer.Enriquecimento.LogProcessamento>(
                    "[LogProcessamentoInsert]",
                    parametros,
                    commandType: CommandType.StoredProcedure);
                if (result != null)
                {
                    list = result.ToList <Models.SqlServer.Enriquecimento.LogProcessamento>();
                }
            }
            if ((list != null) && (list.Count > 0))
            {
                logProcessamento = list.First();
            }
            else
            {
                logProcessamento = new Models.SqlServer.Enriquecimento.LogProcessamento();
            }
            return(logProcessamento);
        }
Ejemplo n.º 2
0
 public static Models.SqlServer.Enriquecimento.LogProcessamento InserirLogDeProcessamento(int origemAppsettingsJson,
                                                                                          Models.SqlServer.Enriquecimento.LogProcessamento logProcessamento)
 {
     logProcessamento = Data.SqlServer.Enriquecimento.LogProcessamento.Insert(origemAppsettingsJson, logProcessamento);
     return(logProcessamento);
 }
Ejemplo n.º 3
0
        public static void CompactarJob(long idFila)
        {
            long     idStatusJob = 0;
            DateTime?finalizacao = null;

            Models.SqlServer.Enriquecimento.Fila                fila                = new Models.SqlServer.Enriquecimento.Fila();
            Models.SqlServer.Enriquecimento.LogErro             logErro             = new Models.SqlServer.Enriquecimento.LogErro();
            Models.SqlServer.Enriquecimento.LogProcessamento    logProcessamento    = new Models.SqlServer.Enriquecimento.LogProcessamento();
            Models.SqlServer.Enriquecimento.ProcedimentoCliente procedimentoCliente = new Models.SqlServer.Enriquecimento.ProcedimentoCliente();
            List <Models.SqlServer.Enriquecimento.SufixoArquivosCompactados> listSufixoArquivosCompactados = new List <Models.SqlServer.Enriquecimento.SufixoArquivosCompactados>();

            try
            {
                fila        = Service.Fila.RetornarJob((int)Models.Enumeradores.OrigemAppsettingsJson.ServiceBackground, idFila);
                idStatusJob = fila.IdStatusJob;
                if ((fila != null) && (fila.IdFila > 0))
                {
                    //Inserir no log de processamento
                    logProcessamento           = new Models.SqlServer.Enriquecimento.LogProcessamento();
                    logProcessamento.IdFila    = fila.IdFila;
                    logProcessamento.Instrucao = "Serviço de Compactação";
                    logProcessamento.Descricao = "Início do processo de compactação dos arquivos de saída";
                    logProcessamento.Inclusao  = DateTime.Now;
                    logProcessamento           = Service.Logs.InserirLogDeProcessamento((int)Models.Enumeradores.OrigemAppsettingsJson.ServiceBackground, logProcessamento);

                    //Deletar caso o arquivo .zip já existe na pasta /processado/
                    Service.Arquivo.DeletarArquivoZip(fila.CaminhoSaidaBanco, fila.ArquivoSaida);
                    //Copiar o arquivo original para a pasta /processado/
                    Service.Arquivo.CopiarArquivoOriginalParaPastaProcessado(fila.CaminhoEntradaBanco, fila.ArquivoEntrada, fila.CaminhoSaidaBanco);
                    //Gerar o arquivo .zip
                    procedimentoCliente = Service.Layout.GetProcedimentoCliente((int)Models.Enumeradores.OrigemAppsettingsJson.ServiceBackground, fila.IdProcedimento,
                                                                                fila.IdLayoutEntrada, fila.IdLayoutSaida, fila.IdCliente);
                    listSufixoArquivosCompactados = Service.Arquivo.RetornarSufixoArquivosASerCompactados((int)Models.Enumeradores.OrigemAppsettingsJson.ServiceBackground,
                                                                                                          procedimentoCliente.IdProcedimentoCliente);
                    Service.Arquivo.GerarArquivoCompactado(fila.NomeArquivo, fila.CaminhoSaidaBanco, fila.ArquivoSaida,
                                                           listSufixoArquivosCompactados);

                    //Inserir no log de processamento
                    logProcessamento           = new Models.SqlServer.Enriquecimento.LogProcessamento();
                    logProcessamento.IdFila    = fila.IdFila;
                    logProcessamento.Instrucao = "Serviço de Compactação";
                    logProcessamento.Descricao = "Finalizado o processo de compactação dos arquivos de saída";
                    logProcessamento.Inclusao  = DateTime.Now;
                    logProcessamento           = Service.Logs.InserirLogDeProcessamento((int)Models.Enumeradores.OrigemAppsettingsJson.ServiceBackground, logProcessamento);
                }
                idStatusJob = (long)Models.Enumeradores.StatusJob.Processado;
                finalizacao = DateTime.Now;
            }
            catch (Exception ex)
            {
                if ((fila != null) && (fila.IdFila > 0))
                {
                    logErro           = new Models.SqlServer.Enriquecimento.LogErro();
                    logErro.IdFila    = fila.IdFila;
                    logErro.Instrucao = "Serviço de Compactação";
                    logErro.Erro      = ex.Message.ToString();
                    logErro.Inclusao  = DateTime.Now;
                    logErro           = Service.Logs.InserirLogDeErro((int)Models.Enumeradores.OrigemAppsettingsJson.ServiceBackground, logErro);
                }
                idStatusJob = (long)Models.Enumeradores.StatusJob.Erro;
            }
            finally
            {
                try
                {
                    if ((fila != null) && (fila.IdFila > 0))
                    {
                        fila.IdStatusJob = idStatusJob;
                        if (idStatusJob == (long)Models.Enumeradores.StatusJob.Processado)
                        {
                            fila.Finalizacao = finalizacao;
                        }
                        else
                        {
                            fila.Finalizacao = null;
                            fila.QuantidadeRegistrosSaida = 0;
                        }
                        fila = Service.Fila.AlterarInformacoesJob((int)Models.Enumeradores.OrigemAppsettingsJson.ServiceBackground, fila);
                    }
                }
                catch
                { }
                finally
                { }
            }
        }