using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace IStation.Unit
{
///
/// 转速单位辅助类
///
public class UnitNHelper:IUnitHelper
{
#region 静态方法
///
/// 转换
///
///
///
///
///
public static double Convert(eUnitN fromUnit, eUnitN toUnit, double fromValue)
{
double toValue = fromValue;
switch (fromUnit)
{
case eUnitN.r_min:
{
switch (toUnit)
{
case eUnitN.r_min: break;
case eUnitN.r_s: toValue = fromValue / 60; break;
default: break;
}
}
break;
case eUnitN.r_s:
{
switch (toUnit)
{
case eUnitN.r_min: toValue = fromValue * 60; break;
case eUnitN.r_s: break;
default: break;
}
}
break;
default: break;
}
return toValue;
}
///
/// 获取英文单位名称
///
///
///
public static string GetEnUnitName(eUnitN unit)
{
switch (unit)
{
case eUnitN.r_min: return "r/min";
case eUnitN.r_s: return "r/s";
default: return string.Empty;
}
}
///
/// 获取中文单位名称
///
///
///
public static string GetCnUnitName(eUnitN unit)
{
switch (unit)
{
case eUnitN.r_min: return "转每分";
case eUnitN.r_s: return "转每秒";
default: return string.Empty;
}
}
///
/// 获取英文单位名称列表
///
///
public static List GetEnUnitNameList()
{
var list = new List();
foreach (eUnitN item in Enum.GetValues(typeof(eUnitN)))
{
list.Add(GetEnUnitName(item));
}
return list;
}
///
/// 获取中文单位名称列表
///
///
public static List GetCnUnitNameList()
{
var list = new List();
foreach (eUnitN item in Enum.GetValues(typeof(eUnitN)))
{
list.Add(GetCnUnitName(item));
}
return list;
}
///
/// 获取英文单位字典
///
///
public static Dictionary GetEnUnitDict()
{
var dic = new Dictionary();
foreach (eUnitN item in Enum.GetValues(typeof(eUnitN)))
{
dic.Add(item, GetEnUnitName(item));
}
return dic;
}
///
/// 获取中文单位字典
///
///
public static Dictionary GetCnUnitDict()
{
var dic = new Dictionary();
foreach (eUnitN item in Enum.GetValues(typeof(eUnitN)))
{
dic.Add(item, GetCnUnitName(item));
}
return dic;
}
#endregion
#region 显示接口
double IUnitHelper.Convert(int fromUnit, int toUnit, double fromValue)
{
return Convert((eUnitN)fromUnit, (eUnitN)toUnit, fromValue);
}
string IUnitHelper.GetCnUnitName(int unit)
{
return GetCnUnitName((eUnitN)unit);
}
List IUnitHelper.GetCnUnitNameList()
{
return GetCnUnitNameList();
}
Dictionary IUnitHelper.GetCnUnitDict()
{
var dic = new Dictionary();
foreach (var item in GetCnUnitDict())
{
dic.Add((int)item.Key, item.Value);
}
return dic;
}
string IUnitHelper.GetEnUnitName(int unit)
{
return GetEnUnitName((eUnitN)unit);
}
List IUnitHelper.GetEnUnitNameList()
{
return GetEnUnitNameList();
}
Dictionary IUnitHelper.GetEnUnitDict()
{
var dic = new Dictionary();
foreach (var item in GetEnUnitDict())
{
dic.Add((int)item.Key, item.Value);
}
return dic;
}
#endregion
}
}