/// <summary>
 /// Método para eliminar archivo adjuntado
 /// </summary>
 /// <param name="item"></param>
 public void eliminarItem(Archivo item)
 {
     if (item != null)
     {
         //Se elimina el item seleccionado de la listaArchivos.
         ListaArchivos.Remove(item);
     }
 }
        /// <summary>
        /// Método para agregar archivos adjuntos al correo
        /// </summary>
        private void agregarArchivo()
        {
            // Se declara servicio
            OpenFileDialog fileDialog = new OpenFileDialog();

            fileDialog.Multiselect = true;

            bool?respuesta = fileDialog.ShowDialog();

            if (respuesta == true)
            {
                foreach (string archivo in fileDialog.FileNames)
                {
                    // Objeto
                    Archivo objArchivo = new Archivo();

                    // Se le asignan propiedades
                    objArchivo.ext    = System.IO.Path.GetExtension(archivo);
                    objArchivo.nombre = System.IO.Path.GetFileName(archivo);
                    objArchivo.ruta   = archivo;

                    //Si el archivo tiene extensión pdf
                    if (objArchivo.ext == ".pdf")
                    {
                        // Asigna la imagen del pdf al objeto
                        objArchivo.rutaIcono = @"/Images/p.png";
                    }
                    else
                    {
                        // Si el archivo tiene extensión xlsm o xlsx
                        if (objArchivo.ext == ".xlsm" || objArchivo.ext == ".xlsx")
                        {
                            // Asigna la imagen de excel al objeto
                            objArchivo.rutaIcono = @"/Images/E.jpg";
                        }
                        else
                        {
                            if (objArchivo.ext == ".doc" || objArchivo.ext == ".docx")
                            {
                                //Si es archivo de word asigna la imagen correspondiente.
                                objArchivo.rutaIcono = @"/Images/w.png";
                            }
                            else
                            {
                                // Si archivo de otro tipo se le asigna una imagen por default
                                objArchivo.rutaIcono = @"/Images/file.png";
                            }
                        }
                    }

                    // Se agrega el objeto a la lista
                    ListaArchivos.Add(objArchivo);
                }
            }
        }
        /// <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 BtnArchivos_Click(object sender, EventArgs e)
        {
            ListaArchivos.Visible      = true;
            ListaTodosArchivos.Visible = false;
            SubirArchivo.Visible       = true;
            ListaArchivos.Items.Clear();

            string[] Publicospdf = Directory.GetFiles("../Archivos/", "*" + RutCuenta.Text + "pu.pdf");
            string[] Privadospdf = Directory.GetFiles("../Archivos/", "*" + RutCuenta.Text + "pr.pdf");
            string[] Publicosjpg = Directory.GetFiles("../Archivos/", "*" + RutCuenta.Text + "pu.jpg");
            string[] Privadosjpg = Directory.GetFiles("../Archivos/", "*" + RutCuenta.Text + "pr.jpg");
            string[] Publicosdoc = Directory.GetFiles("../Archivos/", "*" + RutCuenta.Text + "pu.doc");
            string[] Privadosdoc = Directory.GetFiles("../Archivos/", "*" + RutCuenta.Text + "pr.doc");
            string[] Publicostxt = Directory.GetFiles("../Archivos/", "*" + RutCuenta.Text + "pu.txt");
            string[] Privadostxt = Directory.GetFiles("../Archivos/", "*" + RutCuenta.Text + "pr.txt");

            if (Publicospdf.Length == 0 && Publicosjpg.Length == 0 && Publicosdoc.Length == 0 && Publicostxt.Length == 0 &&
                Privadospdf.Length == 0 && Privadosjpg.Length == 0 && Privadosdoc.Length == 0 && Privadostxt.Length == 0)
            {
                ListaArchivos.Items.Add("No hay archivos subidos por ti en el sistema");
            }

            else
            {
                foreach (string ArchivosPublicospdf in Publicospdf)
                {
                    string   Separador = @"/";
                    char     Sep       = Convert.ToChar(Separador);
                    string[] Partes    = ArchivosPublicospdf.Split(Sep);

                    ListaArchivos.Items.Add(Partes[2] + " Publico");
                }
                foreach (string ArchivosPublicosjpg in Publicosjpg)
                {
                    string   Separador = @"/";
                    char     Sep       = Convert.ToChar(Separador);
                    string[] Partes    = ArchivosPublicosjpg.Split(Sep);

                    ListaArchivos.Items.Add(Partes[2] + " Publico");
                }
                foreach (string ArchivosPublicosdoc in Publicosdoc)
                {
                    string   Separador = @"/";
                    char     Sep       = Convert.ToChar(Separador);
                    string[] Partes    = ArchivosPublicosdoc.Split(Sep);

                    ListaArchivos.Items.Add(Partes[2] + " Publico");
                }
                foreach (string ArchivosPublicostxt in Publicostxt)
                {
                    string   Separador = @"/";
                    char     Sep       = Convert.ToChar(Separador);
                    string[] Partes    = ArchivosPublicostxt.Split(Sep);

                    ListaArchivos.Items.Add(Partes[2] + " Publico");
                }

                foreach (string ArchivosPrivadospdf in Privadospdf)
                {
                    string   Separador = @"/";
                    char     Sep       = Convert.ToChar(Separador);
                    string[] Partes    = ArchivosPrivadospdf.Split(Sep);
                    ListaArchivos.Items.Add(Partes[2] + " Privado");
                }
                foreach (string ArchivosPrivadosjpg in Privadosjpg)
                {
                    string   Separador = @"/";
                    char     Sep       = Convert.ToChar(Separador);
                    string[] Partes    = ArchivosPrivadosjpg.Split(Sep);
                    ListaArchivos.Items.Add(Partes[2] + " Privado");
                }
                foreach (string ArchivosPrivadosdoc in Privadosdoc)
                {
                    string   Separador = @"/";
                    char     Sep       = Convert.ToChar(Separador);
                    string[] Partes    = ArchivosPrivadosdoc.Split(Sep);
                    ListaArchivos.Items.Add(Partes[2] + " Privado");
                }
                foreach (string ArchivosPrivadostxt in Privadostxt)
                {
                    string   Separador = @"/";
                    char     Sep       = Convert.ToChar(Separador);
                    string[] Partes    = ArchivosPrivadostxt.Split(Sep);
                    ListaArchivos.Items.Add(Partes[2] + " Privado");
                }
            }

            ListaArchivos.Show();
        }