/// <summary>
        /// Constructor Específico para el Mesero
        /// </summary>
        /// <param name="tipoUsuario"></param>
        public VentanaPedidos()
        {
            InitializeComponent();
            InstanceContext context = new InstanceContext(this);

            meserosUC = new MeserosUC("Mesero");
            gridpedidos.Children.Add(meserosUC);
            meserosUC.Visibility = Visibility.Visible;
            try
            {
                server = new NotificarPedidoClient(context);
                server.AgregarUsuario("Mesero");

                meserosUC.EventoAbrirVentanaLocal      += UC_AbrirVentanaPedidoLocal;
                meserosUC.EventEditarPedido            += UC_EditarPedido;
                meserosUC.EventQuitarPedido            += UC_QuitarPedido;
                meserosUC.EventCambiarEstado_Entregado += UC_CambiarEstadoAEntregado;
                meserosUC.EventTicketPDF += UC_GenerarTicketPDF;

                meserosUC.ListaEnEspera_DataGrid   = pedidosEnEspera;
                meserosUC.ListaPreparados_DataGrid = pedidosPreparados;
                meserosUC.ListaEntregados_DataGrid = pedidosEntregados;
                meserosUC.ListaCancelados_DataGrid = pedidosCancelados;

                /*BuscarPedidosClient buscarPedidos = new BuscarPedidosClient(context);
                 * buscarPedidos.BuscarPedidosMesero();*/
            }
            catch (CommunicationException)
            {
                FuncionesComunes.MostrarMensajeDeError("Error de conexión con el servidor, intente más tarde.");
                labelDesconectado.Content = "No hay conexión con el Servidor";
            }
        }
        public VentanaCocina()
        {
            InitializeComponent();
            try
            {
                context = new InstanceContext(this);
                // var canal = new DuplexChannelFactory<INotificarPedido>(context, "*");
                server = new NotificarPedidoClient(context);
                //server = new NotificarPedidoClient(context);

                /* ((ICommunicationObject)server).Faulted += delegate { MessageBox.Show(" Te desconectaste : Faulted COCINA");
                 *   var canal2 = new DuplexChannelFactory<INotificarPedido>(context, "*");
                 *   server = canal.CreateChannel(); server.AgregarUsuario("Cocinero"); MessageBox.Show("Nuevamente conectado");
                 * };
                 * ((ICommunicationObject)server).Closed += delegate { MessageBox.Show(" Te desconectaste : Closed COCINA");
                 *   var canal2 = new DuplexChannelFactory<INotificarPedido>(context, "*");
                 *   server = canal.CreateChannel(); server.AgregarUsuario("Cocinero"); MessageBox.Show("Nuevamente conectado");
                 * };*/
                server.AgregarUsuario("Cocinero");

                //   var canalBusquedas = new DuplexChannelFactory<IBuscarPedidos>(context, "*");
                //  serverBusquedaPedidos = canalBusquedas.CreateChannel();
                // ((ICommunicationObject)serverBusquedaPedidos).Faulted += delegate { MessageBox.Show( " Te desconectaste : Faulted"); };
                // ((ICommunicationObject)serverBusquedaPedidos).Closed += delegate { MessageBox.Show( " Te desconectaste : Closed"); };*/
                // serverBusquedaPedidos.BuscarPedidosCallCenter();
            }
            catch (CommunicationException e)
            {
                FuncionesComunes.MostrarMensajeDeError(e.Message);
            }catch (TimeoutException e)
            {
                FuncionesComunes.MostrarMensajeDeError(e.Message);
            }
        }
        /// <summary>
        /// Constructor Específico para el CallCenter
        /// </summary>
        /// <param name="idEmpleado"></param>
        public VentanaPedidos(long idEmpleado, string idEmpleadoGenerado)
        {
            InitializeComponent();
            InstanceContext context = new InstanceContext(this);

            idEmpleadoCallCenter = idEmpleado; idEmpleadoGeneradoCallCenter = idEmpleadoGenerado;
            pedidosEnviados      = new ObservableCollection <PedidoEnDataGrid>();

            meserosUC = new MeserosUC("Call Center");
            gridpedidos.Children.Add(meserosUC);
            meserosUC.Visibility = Visibility.Visible;
            try
            {
                server = new NotificarPedidoClient(context);
                server.AgregarUsuario("Call Center");
                meserosUC.EventoAgregarNuevoPedidoALista += UC_AgregandoNuevoPedido;
                meserosUC.EventoAbrirVentanaLocal        += UC_AbrirVentanaPedidoLocal;
                meserosUC.EventoAbrirVentanaADomicilio   += UC_AbrirVentanaPedidoADomicilio;
                meserosUC.EventEditarPedido            += UC_EditarPedido;
                meserosUC.EventQuitarPedido            += UC_QuitarPedido;
                meserosUC.EventCambiarEstado_Entregado += UC_CambiarEstadoAEntregado;
                meserosUC.EventCambiarEstado_Enviado   += UC_CambiarEstadoAEnviado;
                meserosUC.EventTicketPDF += UC_GenerarTicketPDF;

                meserosUC.ListaEnEspera_DataGrid   = pedidosEnEspera;
                meserosUC.ListaPreparados_DataGrid = pedidosPreparados;
                meserosUC.ListaEnviados_DataGrid   = pedidosEnviados;
                meserosUC.ListaEntregados_DataGrid = pedidosEntregados;
                meserosUC.ListaCancelados_DataGrid = pedidosCancelados;

                /* BuscarPedidosClient buscarPedidos = new BuscarPedidosClient(context);
                 * buscarPedidos.BuscarPedidosCallCenter();*/
                //BuscarPedidosClient buscarPedidos = new BuscarPedidosClient(context);
                //((ICommunicationObject)buscarPedidos).Faulted += delegate { MessageBox.Show("Faulted " + buscarPedidos.State +); };
                // ((ICommunicationObject)buscarPedidos).Closed += delegate { MessageBox.Show(" Te desconectaste : Closed"); };
                // buscarPedidos.BuscarPedidosCallCenter();
            }
            catch (Exception ex)
            {
                FuncionesComunes.MostrarMensajeDeError("Error de conexión con el servidor, intente más tarde " + ex.Message + " " + ex.StackTrace);
                labelDesconectado.Content = "No hay conexión con el Servidor";
            }
        }