using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DW5S.DTO
{
///
/// 采集结果
///
public class AdResDto
{
///
/// http文件名称
///
public string HttpFile { get; set; }
///
/// 信号时刻
///
public DateTime SigTime { get; set; }
///
/// 采样率
///
public int FsHz { get; set; }
///
/// 卫星编号(4位数表示超短站方向编号)
///
public int SatCode { get; set; }
///
/// 上行频点Hz
///
public long FrequpHz { get; set; }
///
/// 主星下行频点Hz
///
public long FreqdownHz { get; set; }
///
/// 通道号(从1开始)
///
public int Ch { get; set; }
///
/// 变频器中心频点
///
public long FreqCenter { get; set; }
///
/// 文件理论开始时刻
///
public DateTime FileTime { get; set; }
///
/// 文件理论采集时长
///
public double FileSeconds { get; set; }
///
/// 文件理论字节大小(B)
///
public long FileSize { get; set; }
///
/// 实际文件创建时刻
///
public DateTime RealFileCreateTime { get; set; }
///
/// 实际文件修改时刻
///
public DateTime RealFileUpdateTime { get; set; }
///
/// 实际文件字节大小(B)
///
public long RealFileSize { get; set; }
///
/// 接收站编号
///
public int RecTxInfoID { get; set; }
///
/// 接收站名称
///
public string RecStationName { get; set; }
///
/// 文件错误信息(文件大小、落盘时间等)
///
public string FileErrorMsg
{
get
{
if (RealFileSize != FileSize)
{
return "文件字节大小异常";
}
else if ((RealFileCreateTime - FileTime).TotalSeconds > 0)
{
return $"文件开始时刻延迟{(RealFileCreateTime - FileTime).TotalSeconds:f0}秒";
}
else if ((RealFileUpdateTime - FileTime.AddSeconds(FileSeconds)).TotalSeconds > 18)
{
return $"文件完成时刻延迟{(RealFileUpdateTime - FileTime.AddSeconds(FileSeconds)).TotalSeconds:f0}秒";
}
return null;
}
}
}
}