Beispiel #1
0
        public static Models.SqlServer.Enriquecimento.Fila GetByIdStatusJob(int origemAppsettingsJson, long idStatusJob)
        {
            var parametros = new DynamicParameters();

            Models.SqlServer.Enriquecimento.Fila        fila = new Models.SqlServer.Enriquecimento.Fila();
            List <Models.SqlServer.Enriquecimento.Fila> list = new List <Models.SqlServer.Enriquecimento.Fila>();

            parametros.Add("@IdStatusJob", idStatusJob, DbType.Int64, ParameterDirection.Input, null);
            using (SqlConnection db = new SqlConnection(Utils.AppConfiguration.GetAppConfiguration(origemAppsettingsJson).GetConnectionString(connectionString)))
            {
                var result = db.Query <Models.SqlServer.Enriquecimento.Fila>(
                    "[FileGetByIdStatusJob]",
                    parametros,
                    commandType: CommandType.StoredProcedure);
                if (result != null)
                {
                    list = result.ToList <Models.SqlServer.Enriquecimento.Fila>();
                }
            }
            if ((list != null) && (list.Count > 0))
            {
                fila = list.First();
            }
            else
            {
                fila = new Models.SqlServer.Enriquecimento.Fila();
            }
            return(fila);
        }
Beispiel #2
0
        private void RunCompactacao()
        {
            int tempoChamada = 3000;

            Models.SqlServer.Enriquecimento.Fila fila = new Models.SqlServer.Enriquecimento.Fila();
            try
            {
                while (continuarExecutando == true)
                {
                    Thread.Sleep(tempoChamada);
                    try
                    {
                        fila = new Models.SqlServer.Enriquecimento.Fila();
                        fila = Service.Fila.RetornarJobCompactando((int)Models.Enumeradores.OrigemAppsettingsJson.ServiceBackground);
                        if ((fila != null) && (fila.IdFila > 0))
                        {
                            Common.Compactacao.CompactarJob(fila.IdFila);
                        }
                    }
                    catch
                    { }
                    finally
                    { }
                }
            }
            catch
            { }
            finally
            { }
        }
Beispiel #3
0
        public static Models.SqlServer.Enriquecimento.Fila RetornarJobCompactando(int origemAppsettingsJson)
        {
            long idStatusJob = 0;

            Models.SqlServer.Enriquecimento.Fila fila = new Models.SqlServer.Enriquecimento.Fila();
            idStatusJob = (long)Models.Enumeradores.StatusJob.Compactando;
            fila        = Data.SqlServer.Enriquecimento.Fila.GetByIdStatusJob(origemAppsettingsJson, idStatusJob);
            return(fila);
        }
Beispiel #4
0
        public static async Task <Models.SqlServer.Enriquecimento.Fila> UpdateAsync(int origemAppsettingsJson, Models.SqlServer.Enriquecimento.Fila fila)
        {
            var parametros = new DynamicParameters();
            List <Models.SqlServer.Enriquecimento.Fila> list = new List <Models.SqlServer.Enriquecimento.Fila>();

            parametros.Add("@IdFila", fila.IdFila, DbType.Int64, ParameterDirection.Input, null);
            parametros.Add("@IdCliente", fila.IdCliente, DbType.Int64, ParameterDirection.Input, null);
            parametros.Add("@LoginCliente", fila.LoginCliente, DbType.String, ParameterDirection.Input, 30);
            parametros.Add("@IdUsuario", fila.IdUsuario, DbType.Int64, ParameterDirection.Input, null);
            parametros.Add("@LoginUsuario", fila.LoginUsuario, DbType.String, ParameterDirection.Input, 30);
            parametros.Add("@IdAcesso", fila.IdAcesso, DbType.Int64, ParameterDirection.Input, null);
            parametros.Add("@NomeJob", fila.NomeJob, DbType.String, ParameterDirection.Input, 255);
            parametros.Add("@NomeTabela", fila.NomeTabela, DbType.String, ParameterDirection.Input, 255);
            parametros.Add("@NomeArquivo", fila.NomeArquivo, DbType.String, ParameterDirection.Input, 255);
            parametros.Add("@CaminhoEntradaAplicacao", fila.CaminhoEntradaAplicacao, DbType.String, ParameterDirection.Input, 500);
            parametros.Add("@CaminhoEntradaBanco", fila.CaminhoEntradaBanco, DbType.String, ParameterDirection.Input, 500);
            parametros.Add("@ArquivoEntrada", fila.ArquivoEntrada, DbType.String, ParameterDirection.Input, 255);
            parametros.Add("@ArquivoEntradaOriginal", fila.ArquivoEntradaOriginal, DbType.String, ParameterDirection.Input, 255);
            parametros.Add("@CaminhoSaidaAplicacao", fila.CaminhoSaidaAplicacao, DbType.String, ParameterDirection.Input, 500);
            parametros.Add("@CaminhoSaidaBanco", fila.CaminhoSaidaBanco, DbType.String, ParameterDirection.Input, 500);
            parametros.Add("@ArquivoSaida", fila.ArquivoSaida, DbType.String, ParameterDirection.Input, 255);
            parametros.Add("@IdStatusJob", fila.IdStatusJob, DbType.Int64, ParameterDirection.Input, null);
            parametros.Add("@IdProcedimento", fila.IdProcedimento, DbType.Int64, ParameterDirection.Input, null);
            parametros.Add("@IdLayoutEntrada", fila.IdLayoutEntrada, DbType.Int64, ParameterDirection.Input, null);
            parametros.Add("@IdLayoutSaida", fila.IdLayoutSaida, DbType.Int64, ParameterDirection.Input, null);
            parametros.Add("@QuantidadeRegistrosEntrada", fila.QuantidadeRegistrosEntrada, DbType.Int32, ParameterDirection.Input, null);
            parametros.Add("@QuantidadeRegistrosSaida", fila.QuantidadeRegistrosSaida, DbType.Int32, ParameterDirection.Input, null);
            parametros.Add("@Inclusao", fila.Inclusao, DbType.DateTime, ParameterDirection.Input, null);
            parametros.Add("@Finalizacao", fila.Finalizacao, DbType.DateTime, ParameterDirection.Input, null);
            using (SqlConnection db = new SqlConnection(Utils.AppConfiguration.GetAppConfiguration(origemAppsettingsJson).GetConnectionString(connectionString)))
            {
                var result = (await db.QueryAsync <Models.SqlServer.Enriquecimento.Fila>(
                                  "[FilaUpdate]",
                                  parametros,
                                  commandType: CommandType.StoredProcedure));
                if (result != null)
                {
                    list = result.ToList <Models.SqlServer.Enriquecimento.Fila>();
                }
            }
            if ((list != null) && (list.Count > 0))
            {
                fila = list.First();
            }
            else
            {
                fila = new Models.SqlServer.Enriquecimento.Fila();
            }
            return(fila);
        }
Beispiel #5
0
 public static Models.SqlServer.Enriquecimento.Fila AlterarInformacoesJob(int origemAppsettingsJson, Models.SqlServer.Enriquecimento.Fila fila)
 {
     fila = Data.SqlServer.Enriquecimento.Fila.Update(origemAppsettingsJson, fila);
     return(fila);
 }
Beispiel #6
0
        public static async Task <Models.SqlServer.Enriquecimento.Fila> InserirJob(int origemAppsettingsJson, Models.SqlServer.Enriquecimento.Fila fila)
        {
            fila = await Data.SqlServer.Enriquecimento.Fila.InsertAsync(origemAppsettingsJson, fila);

            return(fila);
        }
Beispiel #7
0
 public static Models.SqlServer.Enriquecimento.Fila RetornarJob(int origemAppsettingsJson, long idFila)
 {
     Models.SqlServer.Enriquecimento.Fila fila = new Models.SqlServer.Enriquecimento.Fila();
     fila = Enriquecimento.Data.SqlServer.Enriquecimento.Fila.GetByIdFila(origemAppsettingsJson, idFila);
     return(fila);
 }
Beispiel #8
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
                { }
            }
        }