using FLY.Thick.Blowing.IService.IBulkDBServicePack; using FLY.Thick.Blowing.Server.Model; using FObjBase; using Misc; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FLY.Thick.Blowing.IService { /// <summary> /// 基于DB 的 bulkdata /// </summary> public interface IBulkDbService : INotifyPropertyChanged { /// <summary> /// 数据库中总数量,当它变化了,肯定有新数据 /// </summary> int Count { get; } /// <summary> /// 开始产生数据时间 /// </summary> DateTime StartTime { get; } /// <summary> /// 最后产生数据时间 /// </summary> DateTime EndTime { get; } /// <summary> /// 当前生产,已经结束,已经下辊了 /// </summary> bool IsFinished { get; } /// <summary> /// 临时数据改变 /// </summary> event BulkDBTempFrameChangedEventHander TempFrameChanged; /// <summary> /// 获取N幅数据 /// </summary> /// <param name="request"></param> /// <param name="AsyncDelegate"></param> /// <param name="AsyncContext"></param> void GetFrame( Pack_GetFrameRequest request, AsyncCBHandler AsyncDelegate, object AsyncContext); /// <summary> /// 获取纵向趋势图 /// </summary> /// <param name="request"></param> /// <param name="AsyncDelegate"></param> /// <param name="AsyncContext"></param> void GetTrend( Pack_GetTrendRequest request, AsyncCBHandler AsyncDelegate, object AsyncContext); /// <summary> /// 完成 /// </summary> void Finish(); } } namespace FLY.Thick.Blowing.IService.IBulkDBServicePack { public class Pack_GetFrameRequest { /// <summary> /// 第1个数据 序号 /// </summary> public Int64 Index; /// <summary> /// 从后向前获取N幅数据 /// </summary> public int Count; } public class Pack_GetFrameReponse { public Pack_GetFrameRequest Request; public List<Lc_ScanData> Values; } public class Pack_GetTrendRequest { /// <summary> /// 第1个数据 序号 /// </summary> public Int64 Index; /// <summary> /// 长度 /// </summary> public int Count; } public class Pack_GetTrendReponse { public Pack_GetTrendRequest Request; public List<TrendValue> Values; } public class TrendValue { public DateTime Time { get; set; } public double Value { get; set; } public double Sigma { get; set; } } public class BulkDBTempFrameChangedEventArgs : EventArgs { /// <summary> /// 开始位置 /// </summary> public int StartIndex { get; set; } /// <summary> /// 数据 /// </summary> public double[] D { get; set; } } public delegate void BulkDBTempFrameChangedEventHander(object sender, BulkDBTempFrameChangedEventArgs e); }