Example #1
0
        /// <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);
        }
Example #2
0
 /// <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);
     }
 }
Example #3
0
 /// <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);
     }
 }
Example #4
0
        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>();
                }
            }
        }
Example #5
0
        /// <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);
            }
        }
Example #7
0
        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)
                {
                }
            }
        }
Example #8
0
        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);
        }
Example #10
0
        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");
        }