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); }
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 { } }
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); }
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); }
public static Models.SqlServer.Enriquecimento.Fila AlterarInformacoesJob(int origemAppsettingsJson, Models.SqlServer.Enriquecimento.Fila fila) { fila = Data.SqlServer.Enriquecimento.Fila.Update(origemAppsettingsJson, fila); return(fila); }
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); }
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); }
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 { } } }