public BxSubSetUnit(IBxUnit baseUnit, IBxUnitCategory cate, string name, int nIndex) { _baseUnit = baseUnit; _cate = cate; _name = name; _nIndex = nIndex; }
public double GetValue(IBxUnit unit) { if (unit.BaseUnitCate != Unit.BaseUnitCate) { throw new Exception("Unit Category is not Matching!"); } return(Unit.EMConverTo(Value, unit)); }
public IBxUnit Parse(string unitID) { IBxUnit unit = _subsetUnits.Find(x => x.ID == unitID); if (unit == null) { unit = _baseCategory.Parse(unitID); } return(unit); }
public void InitDefaultUnit(string fullID) { IBxDefaultUnit du = BxSystemInfo.Instance.DefaultUnitCenter.GetDefaultUnit(fullID); if (du != null) { _unit = du.DefaultUnit; OnModified(); } }
public IBxUnit ParseByName(string name) { IBxUnit unit = _subsetUnits.Find(x => x.Name == name); if (unit == null) { unit = _baseCategory.ParseByName(name); } return(unit); }
public IBxUnit Find(string unitCode) { IBxUnit unit = _subsetUnits.Find(x => x.Code == unitCode); if (unit == null) { unit = _baseCategory.Find(unitCode); } return(unit); }
public IBxFormula GetFormula(IBxUnit src, IBxUnit trg) { if ((src.BaseUnitCate != this.BaseUnitCate) || (trg.BaseUnitCate != this.BaseUnitCate)) { throw new Exception(); } //IBxUnit baseSrcUnit = src.BaseUnit; // IBxUnit baseTrgUnit = trg.BaseUnit; return(_baseCategory.GetFormula(src.BaseUnit, trg.BaseUnit)); }
public bool SetUIValue(string val, IBxUnit unit) { double d; if (double.TryParse(val, out d)) { SetUV(d, unit); return(true); } return(false); }
public override bool LoadFromString(string s) { string[] parts = s.Split(new char[] { ',' }); if (parts.Length != 3) { Valid = false; return(false); } IBxUnit unit = BxSystemInfo.Instance.UnitsCenter.Parse(parts[1]).Parse(parts[2]); return(SetUIValue(parts[0], unit)); }
public bool SetUIValue(string val, IBxUnit unit) { double d; if (double.TryParse(val, NumberStyles.Any, CultureInfo.InvariantCulture, out d)) { SetValue(d, unit); return(true); } Valid = false; return(false); }
public override void LoadStorageNode(IBxStorageNode node) { string val = node.GetElementValue(BxStorageLable.elementValue); string uc = node.GetElementValue(BxStorageLable.elementUnitCate); string u = node.GetElementValue(BxStorageLable.elementUnit); if (!string.IsNullOrEmpty(uc)) { IBxUnit unit = BxSystemInfo.Instance.UnitsCenter.Parse(uc).Parse(u); SetUIValue(val, unit); } }
void InitUnit() { if (_InitedUnit) { return; } if (_config != null) { _unit = _config.Unit; } _InitedUnit = true; }
public void ChangeUnit(IBxUnit unit) { if (Unit != null) { if (Unit.Category != unit.Category) { throw new Exception("can not switch unit between diffrent unit category!"); } _value = Unit.EMConverTo(_value, unit); Unit = unit; } }
public IBxFormula GetFormula(IBxUnit src, IBxUnit trg) { if ((src.BaseUnitCate != this) || (trg.BaseUnitCate != this)) { throw new Exception(); } Int32 index1 = (src.BaseUnit as IBxIndexedUnit).Index; Int32 index2 = (trg.BaseUnit as IBxIndexedUnit).Index; return(GetFormula(index1, index2)); //return GetFormula((src as IBxIndexedUnit).Index, (trg as IBxIndexedUnit).Index); }
public void LoadXmlNode(XmlElement node) { string s = node.GetAttribute("id"); if (!string.IsNullOrEmpty(s)) { _id = s; } string cate = node.GetAttribute("unitCate"); string unit = node.GetAttribute("unit"); _unit = BxSystemInfo.Instance.UnitsCenter.EMParse(cate, unit); }
public string GetUIValue(IBxUnit unit) { if (!Valid) { return(null); } if (unit.BaseUnitCate != Unit.BaseUnitCate) { return(null); } double val = Unit.EMConverTo(Value, unit); return(val.ToString(CultureInfo.InvariantCulture)); }
public string GetUIValue(IBxUnit trgUnit, IBxUnit decimalDigitsUnit, int decimalDigits) { if (!Valid) { return(null); } if (trgUnit.BaseUnitCate != Unit.BaseUnitCate) { return(null); } string val = BxUnitConvert.ConverToEx(Value, Unit, trgUnit, decimalDigitsUnit, decimalDigits); return(val); }
static public string Conver(double srcValue, int srcDecimalDigits, IBxUnit srcUnit, IBxUnit trgUnit) { IBxUnitCategory cate = srcUnit.Category; int ddAdopt = trgUnit.DecimalDigits - srcUnit.DecimalDigits; int trgDD = srcDecimalDigits + ddAdopt; if (trgDD < 0) { trgDD = 0; } double trgValue = cate.GetFormula(srcUnit, trgUnit).Calc(srcValue); string sFromat = "{0:F" + trgDD.ToString() + "}"; string s = string.Format(sFromat, trgValue); return(s); }
public void SetFormula(string srcUnit, string trgUnit, IBxFormula fml) { if (srcUnit == trgUnit) { return; } IBxUnit src = Parse(srcUnit); IBxUnit trg = Parse(trgUnit); if ((src == null) || (trg == null)) { return; } _SrcUnitFormulas formulas = m_formulas[src.Index]; formulas.SetFormula(trg.Index, fml); }
public IBxFormula GetFormula(IBxUnit src, IBxUnit trg) { return(GetFormula(src.Index, trg.Index)); }
public BxUnitS(IBxUnit val) : base() { Value.InitValue(val); }
public string GetUIValue(IBxUnit unit) { double val = Unit.EMConverTo(_value, unit); return(val.ToString()); }
public BxUnitDouble() { _value = default(double); _unit = null; }
public void SetUV(double val, IBxUnit unit) { _value = val; Unit = unit; }
static public double EMConverTo(this IBxUnit srcUnit, double srcValue, string trgUnit) { IBxUnitCategory cate = srcUnit.Category; return(cate.GetFormula(srcUnit, cate.Parse(trgUnit)).Calc(srcValue)); }
static public double EMConverFrom(this IBxUnit trgUnit, double srcValue, string srcUnit) { IBxUnitCategory cate = trgUnit.Category; return(cate.GetFormula(cate.Parse(srcUnit), trgUnit).Calc(srcValue)); }
public void ChangeUnit(IBxUnit unit) { _value.ChangeUnit(unit); }
public void SetUV(double val, IBxUnit unit) { _value.SetUV(val, unit); }
public BxUnitValue(double val, IBxUnit unit) { _value = val; Unit = unit; }
public BxUnitValue() { _value = default(double); _unit = null; _InitedUnit = false; }