예제 #1
0
파일: Global.cs 프로젝트: marin-8/PFG
        public static async void ReasignarEIntentarEnviarTarea(Roles[] PrioridadRoles, Tarea Tarea)
        {
            await Task.Run(() =>
            {
                Usuario usuarioAsignar;

                bool tareaEnviadaONull = false;

                do
                {
                    usuarioAsignar =
                        Get_UsuarioConectadoConMenosTareas_PorPrioridadRoles(PrioridadRoles);

                    if (usuarioAsignar != null)
                    {
                        Tarea.Reasignar(usuarioAsignar.NombreUsuario);

                        tareaEnviadaONull = null !=
                                            new Comando_EnviarTarea(Tarea).Enviar(usuarioAsignar.IP, true);

                        if (!tareaEnviadaONull)
                        {
                            usuarioAsignar.Conectado = false;
                        }
                    }
                    else
                    {
                        Tarea.Reasignar(null);

                        tareaEnviadaONull = true;
                    }
                }while(!tareaEnviadaONull);
            });
        }