public void Adicionar(AA_Log log) { _logrepository.Adicionar(log); }
public bool ValidarArquivo(string pathfile, string path, string file) { try { msg = ""; lote = ""; documento = ""; idcateg = ""; var cddocument = _dcdocumentservice.RetornaMax(); var cdassoc = _gnassocservice.RetornaMax(); var cdrevision = _gnrevisionservice.RetornaMax(); var cdcomp = _gncompservice.RetornaMax(); cddocumentini = cddocument; cdassocini = cdassoc; cdrevisionini = cdrevision; cdcompini = cdcomp; lote = file; msg = "Erro ao abrir o arquivo"; arquivomdb = this.AbreArquivo(pathfile); msg = "Arquivo vazio"; if (arquivomdb.Rows.Count == 0) { throw new Exception(); } foreach (DataRow item in arquivomdb.Rows) { msg = "Não foi encontrada a coluna com a categoria do documento"; idcateg = item["IDCATEGORY"].ToString(); msg = "O documento não foi identificado."; documento = item["IMAGEM"].ToString(); msg = "Categoria informada não identificada no SE Suite"; var atrib = _vinculoservice.RetornaAtributos(idcateg); if (atrib.Count.Equals(0)) { throw new Exception(); } foreach (var atributo in atrib.Where(x => x.Cod_TipoCampo == 4).ToList()) { msg = $"Atributo {atributo.NmCampoImagem} não esta num formato de data válido"; var dat1 = Convert.ToDateTime(item[atributo.NmCampoImagem].ToString()); if (dat1.Year < DateTime.Now.Year - 300 || dat1.Year > DateTime.Now.Year + 300) { throw new Exception(); } } } return(true); } catch (Exception ex) { Library.WriterLogEntry(msg + " " + ex.GetBaseException().Message); arquivomdb.Dispose(); DisposeAdd(); DisposeContexto(); var log = new AA_Log(lote, documento, idcateg, msg, ex.GetBaseException().Message.ToString(), DateTime.Now, true, ""); BeginDocumentoTransaction(); _logservice.Adicionar(log); CommitDocumento(); return(false); } }
public bool InsereDocumento(string pathfile, string path, string file) { var listlog = new List <AA_Log>(); try { msg = ""; lote = ""; documento = ""; idcateg = ""; var cddocument = _dcdocumentservice.RetornaMax(); var cdassoc = _gnassocservice.RetornaMax(); var cdrevision = _gnrevisionservice.RetornaMax(); var cdcomp = _gncompservice.RetornaMax(); cddocumentini = cddocument; cdassocini = cdassoc; cdrevisionini = cdrevision; cdcompini = cdcomp; lote = file; msg = "Erro ao abrir o arquivo"; arquivomdb = this.AbreArquivo(pathfile); msg = "Arquivo vazio"; if (arquivomdb.Rows.Count == 0) { throw new Exception(); } foreach (DataRow item in arquivomdb.Rows) { cddocument = cddocument + 1; cdassoc = cdassoc + 1; cdrevision = cdrevision + 1; cdcomp = cdcomp + 1; GravaDocumento(cddocument, cdassoc, cdrevision, cdcomp, item, path); } arquivomdb.Dispose(); //msg = "Erro ao inserir log"; //BeginDocumentoTransaction(); //_logservice.Adicionar(listlog); //CommitDocumento(); return(true); } catch (Exception ex) { Library.WriterLogEntry(msg + " " + ex.GetBaseException().Message); arquivomdb.Dispose(); DisposeAdd(); DisposeContexto(); Library.WriterLogError(ExcluiDocumentos()); var log = new AA_Log(lote, documento, idcateg, msg, ex.GetBaseException().Message.ToString(), DateTime.Now, true, ""); BeginDocumentoTransaction(); _logservice.Adicionar(log); CommitDocumento(); return(false); } }
private void GravaDocumento(int cddocument, int cdassoc, int cdrevision, int cdcomp, DataRow item, string path) { try { BeginDocumentoTransaction(); msg = "Não foi encontrada a coluna com a categoria do documento"; idcateg = item["IDCATEGORY"].ToString(); msg = "O documento não foi identificado."; documento = item["IMAGEM"].ToString(); msg = "Categoria informada não identificada no SE Suite"; var atrib = _vinculoservice.RetornaAtributos(idcateg); if (atrib.Count.Equals(0)) { throw new Exception(); } msg = "Não foi identificado o atributo Título do documento"; var atribtitulo = atrib.FirstOrDefault(x => x.Ind_Titulo).NmCampoImagem.ToString(); if (String.IsNullOrEmpty(atribtitulo)) { throw new Exception(); } msg = "Erro ao inserir documento"; _dcdocumentservice.InsereDocumento(item, atrib, cddocument, cdassoc, cdrevision, cdcomp); if (CommitDocumento() > 0) { msg = "Erro ao inserir atributos"; BeginDocumentoTransaction(); _dcdocumentservice.InsereRevision(item, atrib, cddocument, cdassoc, cdrevision, cdcomp, path); if (CommitDocumento() > 0) { msg = "Erro ao inserir imagem"; BeginDocumentoTransaction(); _dcdocumentservice.InsereImagem(path, item, cddocument, atrib); CommitDocumento(); msg = "Não foi localizado o endereço físico do documento"; var endfisico = atrib.FirstOrDefault(x => x.ind_localfisico); if (endfisico != null) { BeginDocumentoTransaction(); var cdcaixa = _dcdocumentservice.RetornaCaixa(item[endfisico.NmCampoImagem].ToString()); _dcdocumentservice.InsereCaixa(cddocument, cdcaixa); CommitDocumento(); } } } var log = new AA_Log(lote, documento, idcateg, "Documento inserido com sucesso.", "", DateTime.Now, false, idcateg + cddocument.ToString()); BeginDocumentoTransaction(); _logservice.Adicionar(log); CommitDocumento(); } catch (Exception ex) { var log = new AA_Log(lote, documento, idcateg, msg, ex.GetBaseException().Message.ToString(), DateTime.Now, true, ""); BeginDocumentoTransaction(); _logservice.Adicionar(log); CommitDocumento(); } }