protected override void OnStop() { if (sesion != null && sesion.IsConnected) { sesion.Close(); } }
private void ProcesarSolicitud(Solicituddescargamasiva objetoSolicitud) { //bool conWindows = Convert.ToBoolean(ConfigurationManager.AppSettings["AutenticarLFConWindows"]); //if (!conWindows) //{ // sesion = Laserfiche.RepositoryAccess.Session.Create(server, database, user, password); //} //else //{ sesion = Laserfiche.RepositoryAccess.Session.Create(server, database); //} try { IArchivosAltContext2 archivosAltContext = new ArchivosAltContext2Factory().Create(); List <SqPedimentosSirSaaiReturnModel> lista = archivosAltContext.SqPedimentosSirSaai(objetoSolicitud.FechaInicio.ToString("MM/dd/yyyy"), objetoSolicitud.FechaFin.ToString("MM/dd/yyyy"), Convert.ToInt32(objetoSolicitud.IdCliente), null, 1); IBuscadorDocumentos <DocumentoRepositorio> buscador = new Hinojosa.RepositorioDocumentos.Laserfiche.BuscadorDocumentosLaserficheRepositoryAccess(sesion); IEnumerable <DocumentoRepositorio> documentoRepositorios = buscador.BuscarDocumentosExpediente(lista.Select(s => s.Referencia).ToArray(), null); //Crear carpeta de la solicitud DirectoryInfo directoryInfo = new DirectoryInfo($@"{DirectorioDescargas}{objetoSolicitud.NombreSolicitud}"); if (!directoryInfo.Exists) { directoryInfo.Create(); } //bool nombrePorPedimento = true; IExportadorDocumentos <DocumentoRepositorio> exportador = new Hinojosa.RepositorioDocumentos.Laserfiche.ExportadorDocumentosLaserficheRepositoryAccess(sesion); exportador.Exportar(documentoRepositorios, $@"{DirectorioDescargas}{objetoSolicitud.NombreSolicitud}", true, (d) => { //if (!nombrePorPedimento) //{ // int dr = d.Ruta.IndexOf(d.Referencia); // return d.Ruta.Substring(dr, (d.Ruta.Length - dr) - (d.Ruta.Length - d.Ruta.LastIndexOf("\\"))); //} //else //{ int dr = d.Ruta.IndexOf(d.Referencia); string subcarpeta = d.Ruta.Substring(dr + d.Ruta.Substring(dr).IndexOf("\\")); subcarpeta = subcarpeta.Substring(0, subcarpeta.LastIndexOf("\\")); var datosPedimento = lista.First(f => f.Referencia == d.Referencia); return($"{datosPedimento.FechaPago.Substring(8, 2)}{datosPedimento.Aduana}{datosPedimento.Seccion}{datosPedimento.Patente}{datosPedimento.Pedimento}{subcarpeta}"); // } //return d.Pedimento; }); objetoSolicitud.Procesado = true; objetoSolicitud.FechaProcesado = DateTime.Now; objetoSolicitud.RutaArchivo = DirectorioDescargas + objetoSolicitud.NombreSolicitud + ".zip"; context.SaveChanges(); //Se envía correo al interesado //Ver archivo de configuración ya que ahí se encuentra configurado el correo de salida SmtpClient clienteSmtp = new SmtpClient("smtp.gmail.com", 587); clienteSmtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "da.hinojosa"); clienteSmtp.EnableSsl = true; string remitente = System.Configuration.ConfigurationManager.AppSettings["SMTPRemitente"]; MailMessage correo = new MailMessage(remitente, objetoSolicitud.Notificar); correo.Body = $"Estimado cliente, le notificamos que la descarga de sus expedientes con folio: {objetoSolicitud.NombreSolicitud} se encuentra disponible para su descarga. Puede ingresar al portal de clientes D.A. Hinojosa para realizar la descarga del mismo a través de este link.\r\n\r\nAtt. Grupo Hinojosa"; clienteSmtp.Send(correo); } catch (Exception exc) { Trace.TraceError(exc.ToString()); try { SmtpClient clienteSmtp = new SmtpClient("smtp.gmail.com", 587); clienteSmtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "da.hinojosa"); clienteSmtp.EnableSsl = true; string remitente = System.Configuration.ConfigurationManager.AppSettings["SMTPRemitente"]; MailMessage correo = new MailMessage(remitente, "*****@*****.**"); correo.Body = $"Error en descarga LF: {exc.ToString()} "; clienteSmtp.Send(correo); }catch (Exception e) { } } finally { if (sesion.IsConnected) { sesion.Close(); } } }