/// <summary>
        /// Busca el artículo a cambiar en la base de datos y carga sus datos en el formulario
        /// </summary>
        private void CargarCampos()
        {
            //Sesión de conexión a la base de datos
            var cfg = new Configuration();
            cfg.Configure();
            var sessions = cfg.BuildSessionFactory();
            var sess = sessions.OpenSession();

            //Consulta a la BD
            IQuery q = sess.CreateQuery("FROM Articulo where idArticulo=" + idArticulo);
            var resultados = q.List<Articulo>();

            //Llenar los campos
            articulo = resultados[0];
            txtNombre.Text = articulo.nombre;
            txtExistencia.Text = articulo.existencia;
            txtDescripcion.Text = articulo.descripcion;
        }
        /// <summary>
        /// Si existe una dirección de correo, la carga en el formulario
        /// </summary>
        private void Cargar_Correo_Admin()
        {
            //Sesión de conexión a la base de datos
            var cfg = new Configuration();
            cfg.Configure();
            var sessions = cfg.BuildSessionFactory();
            var sess = sessions.OpenSession();

            //Consulta a la BD
            IQuery q = sess.CreateQuery("FROM Articulo where tipo='Correo'");
            var resultados = q.List<Articulo>();

            //Llenar los campos
            if (resultados.Count == 0) MessageBox.Show("Aún no tiene un e-mail registrado. Registre su dirección desde la cual se enviarán las notas a sus clientes", "La Modistería | No hay un e-mail registrado");
            else
            {
                miCorreo = resultados[0];
                txtMail.Text = miCorreo.nombre;
            }

            sess.Close();
        }
        /// <summary>
        /// Guarda o actualiza la dirección de correo del administrador
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Guardar_Correo_Admin(object sender, RoutedEventArgs e)
        {
            if (!txtMail.Text.Equals("") && !txtPass.Password.Equals(""))
            {
                if (miCorreo != null)
                {
                    miCorreo.nombre = txtMail.Text;
                    miCorreo.descripcion = txtPass.Password;
                }
                else
                {
                    miCorreo = new Articulo
                    {
                        nombre=txtMail.Text,
                        descripcion=txtPass.Password,
                        tipo="Correo"
                    };
                }

                //Almacenamiento en la base de datos
                var cfg = new Configuration();
                cfg.Configure();
                var sessions = cfg.BuildSessionFactory();
                var sess = sessions.OpenSession();
                sess.SaveOrUpdate(miCorreo);
                sess.Flush();
                sess.Close();

                this.Close();
            }
            else MessageBox.Show("Los campos no pueden estar vacíos", "La Modistería | Error");
        }
        /// <summary>
        /// Valida los datos ingresados y registra un nuevo producto
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Registrar_Articulo(object sender, RoutedEventArgs e)
        {
            bool valido = true;
            int b = 0;

            //Validación de los campos
            if (txtNombre.Text == "")
            {
                txtNombre.Text = "*";
                valido = false;
            }

            if (txtDescripcion.Text == "")
            {
                txtDescripcion.Text = "*";
                valido = false;
            }

            if (txtExistencia.Text == "" || !int.TryParse(txtExistencia.Text, out b))
            {
                txtExistencia.Text = "*";
                valido = false;
            }

            //Obtención del proveedor
            switch (comboTipo.SelectedIndex)
            {
                case 0: tipoArticulo = "Maquinaria"; break;
                case 1: tipoArticulo = "Herramienta"; break;
                case 2: tipoArticulo = "Materia Prima"; break;
            }

            //Adquisición de la imagen
            if (valido)
            {
                try
                {
                    var imageFile = new System.IO.FileInfo(rutaFotoProducto);

                    if (imageFile.Exists)
                    {
                        //Conseguir el directorio local
                        var applicationPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
                        Console.WriteLine(applicationPath);

                        //Adquirir ruta local de carpeta de Fotografias
                        var dir = new System.IO.DirectoryInfo(System.IO.Path.Combine(applicationPath, "RepProductos"));
                        if (!dir.Exists) dir.Create();

                        rutaFinal = String.Format("{0}\\{1}", dir.FullName, nombreImagen);
                        Console.WriteLine(rutaFinal);

                        //Copiar imagen a la carpeta de Fotografias
                        imageFile.CopyTo(System.IO.Path.Combine(dir.FullName, nombreImagen), true);
                    }
                }
                catch (Exception) { }

                //Creación del nuevo artículo
                Articulo nuevoArticulo = new Articulo
                {
                    tipo = tipoArticulo,
                    nombre = txtNombre.Text,
                    descripcion = txtDescripcion.Text,
                    existencia = txtExistencia.Text,
                    imagen = rutaFinal
                };

                //Almacenamiento en la base de datos
                var cfg = new Configuration();
                cfg.Configure();
                var sessions = cfg.BuildSessionFactory();
                var sess = sessions.OpenSession();
                sess.Save(nuevoArticulo);
                sess.Flush();
                sess.Close();

                ResetCampos();
                CargarProductos();
            }
            else MessageBox.Show("Alguno(s) de los campos son inválidos", "La Modistería | ERROR");
        }