/// <summary> /// Método que agrega una marca de agua a los documentos que no son formatos ni ayudas visuales. /// </summary> /// <param name="version"></param> private async Task <bool> SetElectronicStamp(Model.ControlDocumentos.Version version, int idTipoDocumento) { bool res = false; if (idTipoDocumento != 1003 && idTipoDocumento != 1005 && idTipoDocumento != 1006 && idTipoDocumento != 1012 && idTipoDocumento != 1013 && idTipoDocumento != 1014 && idTipoDocumento != 1011) { BaseFont bfTimes = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false); ObservableCollection <Archivo> archivos = DataManagerControlDocumentos.GetArchivos(version.id_version); DateTime fecha_sello = DataManagerControlDocumentos.Get_DateTime(); string dia = fecha_sello.Day.ToString().Length == 1 ? "0" + fecha_sello.Day : fecha_sello.Day.ToString(); string anio = fecha_sello.Year.ToString(); string mes = fecha_sello.Month.ToString().Length == 1 ? "0" + fecha_sello.Month : fecha_sello.Month.ToString(); string fecha = dia + "/" + mes + "/" + anio; foreach (Archivo item in archivos) { string waterMarkText = "MAHLE CONTROL DE DOCUMENTOS / DOCUMENTO LIBERADO ELECTRÓNICAMENTE Y TIENE VALIDEZ SIN FIRMA." + " DISPOSICIÓN: " + fecha; string waterMarkText2 = "ÚNICAMENTE TIENE VALIDEZ EL DOCUMENTO DISPONIBLE EN INTRANET."; string waterMarkText3 = "LAS COPIAS NO ESTÁN SUJETAS A NINGÚN SERVICIO DE ACTUALIZACIÓN."; byte[] newarchivo = AddWatermark(item.archivo, bfTimes, waterMarkText, waterMarkText2, waterMarkText3, false); item.archivo = newarchivo; int r = DataManagerControlDocumentos.UpdateArchivo(item); res = r == 0 ? false : true; } } return(res); }
/// <summary> /// Método que obtiene todos los archivos de la versión seleccionada /// </summary> private void listarArchivos() { //Si se seleccionó una versión if (SelectedVersion != null) { //Ejecuta el método para obtener los archivos, se asignan a la lista ListaArchivos = DataManagerControlDocumentos.GetArchivos(SelectedVersion.id_version, false); } }
/// <summary> /// método que muestra los archivos del documento seleccionado /// </summary> private void verArchivos() { //si el documento es diferente de nulo, si se seleccionó algún documento if (_SelectedDocumento != null) { //Obtiene los archivos de la versión los guarda en la lista, para mostrarlos ListaArchivos = DataManagerControlDocumentos.GetArchivos(SelectedDocumento.version.id_version, false); } }
static void initConvertedPDF() { List <FO_Item> listTipoDocumento = new List <FO_Item>(); listTipoDocumento.Add(new FO_Item { id = 2, Nombre = "HOE" }); listTipoDocumento.Add(new FO_Item { id = 1002, Nombre = "HII" }); listTipoDocumento.Add(new FO_Item { id = 1004, Nombre = "AYUDA_VISUAL" }); listTipoDocumento.Add(new FO_Item { id = 1015, Nombre = "JES" }); listTipoDocumento.Add(new FO_Item { id = 1007, Nombre = "HMTE" }); listTipoDocumento.Add(new FO_Item { id = 1010, Nombre = "HVA" }); foreach (FO_Item tipoDocumento in listTipoDocumento) { Console.WriteLine("Obteniendo lista de documentos"); ObservableCollection <Documento> documentos = DataManagerControlDocumentos.GetDocumentoByTipoDocumento(tipoDocumento.id, string.Empty); foreach (var documento in documentos) { Console.WriteLine("Obteniendo los archivos del documento: " + documento.nombre); ObservableCollection <Archivo> archivos = DataManagerControlDocumentos.GetArchivos(documento.version.id_version, true); int i = 0; foreach (var archivo in archivos) { string pathFile = getFolderControlDocumentos(archivo, tipoDocumento.Nombre, documento.nombre, i, documento.version.no_version); Console.WriteLine("Guardando el archivo #" + i + " del documento: " + documento.nombre); File.WriteAllBytes(pathFile, archivo.archivo); int r = DataManagerControlDocumentos.UpdateFilePath(archivo.id_archivo, pathFile); if (r <= 0) { Console.WriteLine("Error al guardar el path en BD, ID_ARCHIVO: " + archivo.id_archivo + " DOCUMENTO: " + documento.nombre); } else { Console.WriteLine("Guardado con exito el archivo #" + i + " del documento: " + documento.nombre); } i++; } archivos = new ObservableCollection <Archivo>(); } } }
/// <summary> /// Método que guarda el archivo de tipo OHSAS, ESPECIFICOS, ISO14001 en sealed//documents__ /// </summary> private string SaveFile(int idTipoDocumento, string nombreDocumento, string noVersion, int idVersion) { string nombre_tipo; try { //Si es documneto de tipo especifico o formato if (idTipoDocumento == 1003 || idTipoDocumento == 1005 || idTipoDocumento == 1006 || idTipoDocumento == 1012 || idTipoDocumento == 1013 || idTipoDocumento == 1014 || idTipoDocumento == 1011) { string path = @"\\MXAGSQLSRV01\documents__"; //Switch del tipo de documento switch (idTipoDocumento) { //Si de tipo OHSAS case 1003: case 1013: nombre_tipo = "OHSAS"; path = string.Concat(path, @"\", nombre_tipo, @"\", nombreDocumento, noVersion); break; //Si es de tipo específicos case 1005: case 1012: case 1011: nombre_tipo = "ESPECIFICOS"; path = string.Concat(path, @"\", nombre_tipo, @"\", nombreDocumento, noVersion); break; //Si es de tipo ISO14001 case 1006: case 1014: nombre_tipo = "ISO14001"; path = string.Concat(path, @"\", nombre_tipo, @"\", nombreDocumento, noVersion); break; } ObservableCollection <Archivo> archivos = DataManagerControlDocumentos.GetArchivos(idVersion); //Iteramos la lista de archivos foreach (var item in archivos) { //Concatenamos la ruta y la extensión path = string.Concat(path, item.ext); //Guardamos el archivo File.WriteAllBytes(path, item.archivo); } } //Si no hay error se retorna nulo return(null); } catch (Exception er) { //Si hay error se retorna el error return(er.ToString()); } }
/// <summary> /// ViewModel de ventana FrmValidarDocumento donde el administrador válida un documento /// Cambia el estatus Corregir o aprobado /// </summary> /// <param name="documento"></param> /// <param name="usuarioLogueado"></param> public ValidarDocumentoViewM(Documento documento, Usuario usuarioLogueado) { ipServidor = System.Configuration.ConfigurationManager.AppSettings["ipNodeServer"]; _usuarioLogueado = usuarioLogueado; //Obtenemos la información del documento y de la versión SelectedDocumento = DataManagerControlDocumentos.GetDocumento(documento.id_documento, documento.version.no_version); //Ejecutamos el método para obtener los archivos de la versión ObservableCollection <Documento> Lista = DataManagerControlDocumentos.GetArchivos(documento.id_documento, documento.version.id_version, true); //Ejecutamos el método para obtener el id del usuario que elaboró la versión Usuario = DataManagerControlDocumentos.GetIdUsuario(documento.version.id_version); // Mandamos llamar la lista de los tipos de error ListaNotificacionError = DataManagerControlDocumentos.GetAllTipoError(); //Iteramos la lista de documentos foreach (var item in Lista) { SelectedDocumento.tipo.tipo_documento = item.tipo.tipo_documento; SelectedDocumento.Departamento = item.Departamento; Archivo objArchivo = new Archivo(); objArchivo.nombre = item.nombre; objArchivo.id_archivo = item.version.archivo.id_archivo; objArchivo.archivo = item.version.archivo.archivo; objArchivo.ext = item.version.archivo.ext; if (SelectedDocumento.tipo.tipo_documento == "HOJA DE OPERACIÓN ESTÁNDAR" || SelectedDocumento.tipo.tipo_documento == "HOJA DE INSTRUCCIÓN DE INSPECCIÓN" || SelectedDocumento.tipo.tipo_documento == "AYUDA VISUAL" || SelectedDocumento.tipo.tipo_documento == "HOJA DE MÉTODO DE TRABAJO ESTÁNDAR" || SelectedDocumento.tipo.tipo_documento == "HOJA DE AJUSTE ESTÁNDAR" || SelectedDocumento.tipo.tipo_documento == "JES") { visible = "Hidden"; } if (objArchivo.ext == ".pdf") { //asigna la imagen del pdf al objeto objArchivo.ruta = @"/Images/p.png"; } else { //Si es archivo de word asigna la imagen correspondiente. objArchivo.ruta = @"/Images/w.png"; } SelectedDocumento.version.archivo = objArchivo; ListaArchivos.Add(objArchivo); } }
private void verArchivo(int idVersion) { ObservableCollection <Archivo> archivos = DataManagerControlDocumentos.GetArchivos(idVersion, false); if (archivos.Count > 0) { Archivo archivo = archivos[0]; try { string filename = GetPathTempFile(archivo); File.WriteAllBytes(filename, archivo.archivo); Process.Start(filename); } catch (Exception) { } } }
static void initConvertedWord() { Console.WriteLine("Iniciando con los documentos de Word"); List <FO_Item> listTipoDocumento = new List <FO_Item>(); //listTipoDocumento.Add(new FO_Item { id = 1003, Nombre = "OHSAS" }); //listTipoDocumento.Add(new FO_Item { id = 1013, Nombre = "OHSAS" }); //listTipoDocumento.Add(new FO_Item { id = 1005, Nombre = "ESPECIFICOS" }); //listTipoDocumento.Add(new FO_Item { id = 1011, Nombre = "ESPECIFICOS" }); //listTipoDocumento.Add(new FO_Item { id = 1012, Nombre = "ESPECIFICOS" }); listTipoDocumento.Add(new FO_Item { id = 1006, Nombre = "ISO14001" }); //listTipoDocumento.Add(new FO_Item { id = 1014, Nombre = "ISO14001" }); foreach (var tipoDocumento in listTipoDocumento) { ObservableCollection <Documento> documentos = DataManagerControlDocumentos.GetDocumentoByTipoDocumento(tipoDocumento.id, string.Empty); foreach (var documento in documentos) { ObservableCollection <Archivo> archivos = DataManagerControlDocumentos.GetArchivos(documento.version.id_version, true); foreach (var archivo in archivos) { string pathFile = @"\\mxagsqlsrv01\documents__\" + tipoDocumento.Nombre + @"\" + documento.nombre + documento.version.no_version + archivo.ext; int r = DataManagerControlDocumentos.UpdateFilePath(archivo.id_archivo, pathFile); if (r <= 0) { Console.WriteLine("Error al guardar el path en BD, ID_ARCHIVO: " + archivo.id_archivo + " DOCUMENTO: " + documento.nombre); } else { Console.WriteLine("Cambio realizado en documento: " + documento.nombre); } } archivos = new ObservableCollection <Archivo>(); } } Console.WriteLine("Proceso terminado de archivos de word"); }
/// <summary> /// Método que agrega una marca de agua a los documentos que no son formatos ni ayudas visuales. /// </summary> /// <param name="version"></param> private bool SetElectronicStamp(Model.ControlDocumentos.Version version) { bool res = false; BaseFont bfTimes = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false); ObservableCollection <Archivo> archivos = DataManagerControlDocumentos.GetArchivos(version.id_version, true); DateTime fecha_sello = DataManagerControlDocumentos.Get_DateTime(); string dia = fecha_sello.Day.ToString().Length == 1 ? "0" + fecha_sello.Day : fecha_sello.Day.ToString(); string anio = fecha_sello.Year.ToString(); string mes = fecha_sello.Month.ToString().Length == 1 ? "0" + fecha_sello.Month : fecha_sello.Month.ToString(); string fecha = dia + "/" + mes + "/" + anio; Documento documento = DataManagerControlDocumentos.GetDocumento(version.id_version); int contadorArchivo = 0; foreach (Archivo item in archivos) { string waterMarkText = "MAHLE CONTROL DE DOCUMENTOS / DOCUMENTO LIBERADO ELECTRÓNICAMENTE Y TIENE VELIDEZ SIN FIRMA." + " DISPOSICIÓN: " + fecha; string waterMarkText2 = "ÚNICAMENTE TIENE VALIDEZ EL DOCUMENTO DISPONIBLE EN INTRANET."; string waterMarkText3 = "LAS COPIAS NO ESTÁN SUJETAS A NINGÚN SERVICIO DE ACTUALIZACIÓN"; byte[] newarchivo = AddWatermark(item.archivo, bfTimes, waterMarkText, waterMarkText2, waterMarkText3); item.archivo = newarchivo; item.ruta = saveFileToServer(item, documento.id_tipo_documento, documento.nombre, version.no_version, contadorArchivo); int r = DataManagerControlDocumentos.UpdateArchivo(item); res = r == 0 ? false : true; contadorArchivo++; } return(res); }
public void iniciarProceso() { List <DO_SolicitudCorreo> solicitudes = DataManager.GetSolicitudCorreoPendientes(); ServiceEmail ServiceEmail = new ServiceEmail(); if (solicitudes.Count > 0) { Console.WriteLine("There are " + solicitudes.Count + " awaiting request: " + DateTime.Now.ToLongTimeString()); System.Threading.Thread.Sleep(1000); Console.WriteLine("Attending..."); System.Threading.Thread.Sleep(3000); } else { Console.WriteLine("There are not awaiting request: " + DateTime.Now.ToLongTimeString()); } foreach (var solicitud in solicitudes) { string[] recipients = solicitud.Recipients.Split(','); List <string> attachments = new List <string>(); if (solicitud.Origen == "LECCIONES_APRENDIDAS") { ObservableCollection <Archivo_LeccionesAprendidas> ListaArchivosLecciones = DataManagerControlDocumentos.GetArchivosLecciones(solicitud.idArchivo); List <Archivo> ListaArchivos = new List <Archivo>(); foreach (var archivoLecciones in ListaArchivosLecciones) { Archivo archivo = new Archivo(); archivo.archivo = archivoLecciones.ARCHIVO; archivo.nombre = archivoLecciones.NOMBRE_ARCHIVO; archivo.ext = archivoLecciones.EXT; archivo.numero = 666; string pathFile = saveFileTemp(archivo); attachments.Add(pathFile); } } else if (solicitud.Origen == "CONTROL_DOCUMENTOS") { //TODO: Get files of documents control attachments = new List <string>(); ObservableCollection <Archivo> listaArchivos = DataManagerControlDocumentos.GetArchivos(solicitud.idArchivo, true); foreach (var archivo in listaArchivos) { string pathFile = saveFileTemp(archivo); attachments.Add(pathFile); } } bool banSent = ServiceEmail.SendEmailOutlook(recipients, solicitud.Title, solicitud.Body, attachments); if (banSent) { DataManager.SetEjecutadaSolicitudCorreo(solicitud.IdSolicitudCorreo); Console.WriteLine("Email send successful"); } else { Console.WriteLine("Can´t send email, please try later"); } } Console.WriteLine("Done"); }