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