예제 #1
0
        private void PreguntarSiHayUnaConversacion()
        {
            Task.Factory.StartNew(() =>
            {
                bool hayError = false;
                string error  = "";
                while (IsUsuarioLogueado() && !hayError)
                {
                    Thread.Sleep(1000);
                    DispatcherOperation op = Dispatcher.BeginInvoke((Action)(() =>
                    {
                        try
                        {
                            //Le pido al servidor si hay conversacion existente
                            bool conversacionNueva = controlerCliente.VerificarSiHayConversacionExistente();

                            //Le pido al servidor los usuarios conectados
                            controlerCliente.VerUsuariosConectados();

                            //Adaptar vista
                            if (controlerCliente.IsConversacionActiva())
                            {
                                controlerCliente.RecibirMensajes();
                            }
                        }
                        catch (ExceptionServer ex)
                        {
                            MostrarError(ex.Message, false);
                            hayError = true;
                        }
                        RefrescarAccionesYTitulos();
                        RefrescarUsuariosConectados();
                        CompletarGrillaChat();
                    }));
                }
            });
        }