using NEIntelligentControl2.Models.Alarm;
using NEIntelligentControl2.Models.Messages;
using NEIntelligentControl2.Models.Windturbine;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace NEIntelligentControl2.Views.Alarm
{
///
/// 风机实时报警
///
public partial class WindturbineRealTimeAlarm : UserControl
{
private string _Url;
private WEBHelper _WEBHelper;
public WindturbineInfo WindturbineInfo { get; set; }
public WindturbineRealTimeAlarm()
{
InitializeComponent();
_WEBHelper = App.ServiceProvider.GetService(typeof(WEBHelper)) as WEBHelper;
try
{
#if (DEBUG)
_Url = ConfigurationManager.AppSettings["AlarmPathDebug"];
#else
_Url = ConfigurationManager.AppSettings["AlarmPath"];
#endif
}
catch (Exception ex)
{
Console.WriteLine("读取配置文件[ServicePath]出错!", ex);
}
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
if (_DGMain.ItemsSource != null) return;
Task.Run(() =>
{
try
{
_IBMain.Inof("查询数据...");
var vs = _WEBHelper.HttpGetJSON>($"{_Url}/alarm/snap?stationid={WindturbineInfo.StationId}&category1=windturbine&windturbineid={WindturbineInfo.WindturbineId}&isopened=1");
DateTime dt = DateTime.Now;
var ls = vs.Where(x => (dt - x.LastUpdateTime.Value).TotalDays <= 3).ToList();
Dispatcher.Invoke(() =>
{
_DGMain.ItemsSource = ls;
});
_IBMain.Success();
}
catch (Exception ex)
{
_IBMain.Warning($"查询数据出现错误:{ex.Message}");
return;
}
});
}
}
}