using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Model.Monitor
{
///
/// 数值累积计算公式参数
///
public class NumberAccumulateCalculationFormulaParas : JsonModel
{
///
/// 累积类型
///
public enum eAccumulateType
{
///
/// 秒
///
Second = 0,
///
/// 分
///
Minute = 1,
///
/// 时
///
Hour = 2,
///
/// 日
///
Day = 3
}
///
/// 测点标识
///
public long ObjectID { get; set; }
///
/// 累积类型
///
public eAccumulateType AccumulateType { get; set; }
///
/// 计算
///
public double Calculate(double instantValue, double second)
{
double result = instantValue;
switch (this.AccumulateType)
{
case eAccumulateType.Second: result = instantValue * second; break;
case eAccumulateType.Minute: result = instantValue * second / 60; break;
case eAccumulateType.Hour: result = instantValue * second / 3600; break;
case eAccumulateType.Day: result = instantValue * second / 3600 / 24; break;
default: break;
}
return result;
}
}
}