using NEIntelligentControl2.Models; using NEIntelligentControl2.Models.Windturbine; using NEIntelligentControl2.Service.WebSocket; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NEIntelligentControl2.Service.Windturbine { public class SuggestionManager : IMessage { public List MessageTypes { get; set; } private MessageBridge _MessageBridge; /// /// 推荐数量更改 /// public Action OnCountChanged { get; set; } /// /// 获得推荐风机 /// public Action> OnSuggestion { get; set; } public List WindturbineSuggestions { get; set; } public SuggestionManager(MessageBridge mb) { _MessageBridge = mb; MessageTypes = new List() { "SubscribeSuggestion".GetConfiguration() }; _MessageBridge.Register(this); } public async Task OnMessage(object message) { List vals = message as List; await Task.Run(() => { if (vals == null) return; WindturbineSuggestions = vals; OnCountChanged?.Invoke(vals.Count); OnSuggestion?.Invoke(vals); }); } } }