public PanelEmpleado(Empleada usuario)
 {
     InitializeComponent();
     this.usuario = usuario;
     Console.WriteLine(usuario.nombre);
     crearNotaControl = new CrearNotaControl(usuario.nombre);
     labelCrearNotas.FontSize = 60;
     labelCrearNotas.FontWeight = System.Windows.FontWeights.Black;
     gridContenido.Children.Clear();
     gridContenido.Children.Add(crearNotaControl);
     txtHolaEmpleada.Text = "Hola " + usuario.usuario;
 }
        /// <summary>
        /// Carga al empleado que se solicita y muestra su información en los campos
        /// </summary>
        private void CargarDatosEmpleado()
        {
            //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 Empleada where idEmpleado="+idEmpleado);
            var resultados = q.List<Empleada>();

            //Llenar los campos
            empleado = resultados[0];
            txtNuevoNombre.Text = empleado.nombre;
            txtNuevoTelefono.Text = empleado.telefono;
            txtNuevoUsuario.Text = empleado.usuario;

            sess.Close();
        }
        /// <summary>
        /// Carga de forma predictiva el nombre de los empleados
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void listaEmpleados_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (listaEmpleados.ItemsSource != null)
            {
                listaEmpleados.Visibility = Visibility.Collapsed;
                filtroEmpleado.TextChanged -= new TextChangedEventHandler(filtroEmpleado_TextChanged);

                if (listaEmpleados.SelectedIndex != -1)
                {
                    filtroEmpleado.Text = listaEmpleados.SelectedItem.ToString();

                    //Establecer como el cliente actual
                    foreach (Empleada item in empleados)
                    {
                        if (item.nombre.Equals(filtroEmpleado.Text))
                        {
                            empleadoActual = item;
                            break;
                        }
                    }
                }
                filtroEmpleado.TextChanged += new TextChangedEventHandler(filtroEmpleado_TextChanged);
            }
        }
        /// <summary>
        /// Creación de la base de datos y las tablas correspondientes a cada clase
        /// Este método solo debe ser ejecutado una sola vez, durante el setup de la aplicación en el equipo
        /// </summary>
        private void ConfigBD()
        {
            // Lista de empleados
            List<Empleada> empleadosD = new List<Empleada>()
            {
                new Empleada
                {
                nombre = "Irma Legorreta",
                contrasena = "lamodisteria7845",
                telefono = "5543427731",
                usuario="admin"
                },
                new Empleada
                {
                nombre = "Cony Sánchez",
                contrasena = "cony",
                telefono = "5541390118",
                usuario="cony"
                },
                new Empleada
                {
                nombre = "Mary Carmen González",
                contrasena = "mary",
                telefono = "5523241276",
                usuario="mary"
                },
                new Empleada
                {
                nombre = "Carmen Sandoval Aguilar",
                contrasena = "carmen",
                telefono = "5564312755",
                usuario="carmen"
                }
            };

            //Lista de conceptos
            List<Concepto> conceptosD = new List<Concepto>()
            {
               new Concepto{
                    nombre="Pantalón a mano",
                    precioUnitario=100,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Pantalón a máquina",
                    precioUnitario=80,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Pantalón mezclilla mismo terminado",
                    precioUnitario=150,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Pantalón valenciana española",
                    precioUnitario=120,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Falda sencilla",
                    precioUnitario=100,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Falda sencilla forrada",
                    precioUnitario=150,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Blusa o camiseta sencilla",
                    precioUnitario=100,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Puños blusa",
                    precioUnitario=120,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Vestidos cortos máquina",
                    precioUnitario=120,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Vestidos forrados",
                    precioUnitario=180,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Vestido coctél",
                    precioUnitario=300,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="10cm Costura a mano",
                    precioUnitario=15,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="1m Costura a máquina",
                    precioUnitario=15,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="20cm Cierre de pantalón o falda",
                    precioUnitario=120,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="20 cm Cierre de pantalón o falda forrado",
                    precioUnitario=160,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Cierre chamarra, chaleco o sudadera",
                    precioUnitario=180,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Cierre vestido sencillo",
                    precioUnitario=120,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Cierre vestido sencillo forrado",
                    precioUnitario=180,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Cierre vestido coctél",
                    precioUnitario=200,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Cambios de forro en vestido",
                    precioUnitario=350,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Cambio de forro pantalón",
                    precioUnitario=350,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Cambio de forro falda",
                    precioUnitario=300,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Cambio de forro saco",
                    precioUnitario=500,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Ajuste pantalón o falda: cintura",
                    precioUnitario=150,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Ajuste pantalón o falda: costados",
                    precioUnitario=120,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Ajuste bajos",
                    precioUnitario=180,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Ajuste bajar pretina",
                    precioUnitario=150,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Ajuste de tallas en blusas o camisetas",
                    precioUnitario=300,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Ajuste tirantes",
                    precioUnitario=100,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Cambio de resortes",
                    precioUnitario=120,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Zurcidos de máquina 5x5",
                    precioUnitario=100,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Zurcido invisible 1cm cuadrado",
                    precioUnitario=100,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Zurcido tejido",
                    precioUnitario=80,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Botón",
                    precioUnitario=15,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Teñido de prenda",
                    precioUnitario=150,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Sastrería dobladillo con rosadera",
                    precioUnitario=120,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Sastrería dobladillo valenciana",
                    precioUnitario=150,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Sastrería ajuste pantalón cintura",
                    precioUnitario=150,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Sastrería bajar pretina",
                    precioUnitario=300,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Sastrería dobladillo mangas",
                    precioUnitario=250,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Sastrería dobladillo mangas con ojales abiertos",
                    precioUnitario=300,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Sastrería dobladillo fajilla",
                    precioUnitario=300,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Sastrería ajuste de talla en sacos",
                    precioUnitario=1200,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Sastrería cambio de forro en saco",
                    precioUnitario=800,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Camisas puño",
                    precioUnitario=180,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Ajuste camisa costados",
                    precioUnitario=200,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Ajuste de talla en camisa",
                    precioUnitario=350,
                    tipo="Compostura"
                    },
                    new Concepto{
                    nombre="Vestido coctél",
                    precioUnitario=3000,
                    tipo="Hechura"
                    }
            };

            //Lista de productos
            List<Producto> productosD = new List<Producto>()
            {
                new Producto{
                nombre="Suéter",
                precioUnitario=300,
                existencia=30,
                consignacion="La Modistería",
                descripcion="Suéter de punto",
                precioProveedor=300
                },
                new Producto{
                nombre="Perfume chico",
                precioUnitario=90,
                existencia=10,
                consignacion="Mary",
                descripcion="Botella chica",
                precioProveedor=45
                },
                new Producto{
                nombre="Perfume grande",
                precioUnitario=180,
                existencia=3,
                consignacion="Mary",
                descripcion="Botella grande",
                precioProveedor=90
                },
                new Producto{
                nombre="Pashmina",
                precioUnitario=80,
                existencia=9,
                consignacion="La Modistería",
                descripcion="",
                precioProveedor=80
                },
                new Producto{
                nombre="Mascada",
                precioUnitario=10,
                existencia=29,
                consignacion="La Modistería",
                descripcion="",
                precioProveedor=10
                },
                new Producto{
                nombre="Ropa de importación",
                precioUnitario=300,
                existencia=19,
                consignacion="La Modistería",
                descripcion="",
                precioProveedor=300
                },
                new Producto{
                nombre="Bolsa forrada",
                precioUnitario=300,
                existencia=9,
                consignacion="La Modistería",
                descripcion="",
                precioProveedor=300
                }
            };

            //Lista de salidas
            List<Salida> salidasD = new List<Salida>()
            {
                new Salida{
                costo=20,
                descripcion="Basura",
                fecha="15/08/2015"},
                new Salida{
                costo=10080,
                descripcion="Renta",
                fecha="MENSUAL"},
                new Salida{
                costo=2700,
                descripcion="Impuestos",
                fecha="MENSUAL"},
                new Salida{
                costo=117,
                descripcion="Seguro IMSS",
                fecha="MENSUAL"},
                new Salida{
                costo=129,
                descripcion="Tesorería",
                fecha="MENSUAL"},
                new Salida{
                costo=500,
                descripcion="Cámaras",
                fecha="MENSUAL"},
                new Salida{
                costo=128,
                descripcion="Impresora",
                fecha="MENSUAL"},
                new Salida{
                costo=660,
                descripcion="Teléfono fijo",
                fecha="MENSUAL"}
            };

            //Creación de un cliente anónimo
            Cliente clienteAnonimo = new Cliente
            {
                nombre="(Anónimo)"
            };

            //Creación de empleado anónimo
            Empleada empleadaAnonima = new Empleada
            {
                nombre="(Anónimo)"
            };

            //Escribir en la base de datos
            try
            {
                var cfg = new Configuration();
                cfg.Configure();
                new SchemaExport(cfg).Create(true, true);

                // Sesión de NHibernate
                var sessions = cfg.BuildSessionFactory();
                var sess = sessions.OpenSession();

                //// Registrar los valores inmutables
                foreach (Empleada item in empleadosD) sess.Save(item);
                foreach (Concepto item in conceptosD) sess.Save(item);
                foreach (Salida item in salidasD) sess.Save(item);
                foreach (Producto item in productosD) sess.Save(item);
                sess.Save(clienteAnonimo);
                sess.Save(empleadaAnonima);
                sess.Flush();
                sess.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
        /// <summary>
        /// Registrar a un nuevo empleado
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void NuevoEmpleado(object sender, RoutedEventArgs e)
        {
            int a;
            if (txtNombre.Text != "")
            {
                Empleada nuevoEmpl = new Empleada
                {
                    nombre = txtNombre.Text,
                    contrasena = txtPasswd.Text,
                    telefono = txtTelefono.Text,
                    usuario = txtUsuario.Text
                };

                //Iniciar sesión
                var cfg = new Configuration();
                cfg.Configure();
                var sessions = cfg.BuildSessionFactory();
                var sess = sessions.OpenSession();
                sess.Save(nuevoEmpl);
                sess.Flush();
                sess.Close();

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

            txtNombre.Text = "";
            txtPasswd.Text = "";
            txtTelefono.Text = "";
            txtUsuario.Text = "";
        }