using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; namespace Sarand.BusinessMgr.Net.Standard.Base.WebService { //======================================================================= public class SbmWebServiceItemData { //------------------------------------------------------------------- // Data members. private readonly Dictionary values = new Dictionary(); //------------------------------------------------------------------- // Construction. public SbmWebServiceItemData(String itemType) { ItemType = itemType; } // Copy construction. public SbmWebServiceItemData(SbmWebServiceItemData itemData) { values.AddRange(itemData.values); } //------------------------------------------------------------------- // Properties. public String ItemType { get; } /// /// Child items. /// Dictionary key identifies type of item. /// public Dictionary> ChildItems { get; } = new Dictionary>(); //------------------------------------------------------------------- // Population. public void AddValue(String name, String value) { values[name] = value; } //------------------------------------------------------------------- // Value exists. public bool HasValue(T name) { return HasValue(name.ToString()); } public bool HasValue(string name) { return values.ContainsKey(name); } //------------------------------------------------------------------- // String value. public String GetValue(T name) { return GetValue(name.ToString()); } public String GetValue(string name) { return values.GetValue(name, ""); } //------------------------------------------------------------------- // SysId value. public SysId GetIdValue(T name) { return GetIdValue(name.ToString()); } public SysId GetIdValue(string name) { return new SysId(StringUtil.ToInt(GetValue(name))); } //------------------------------------------------------------------- // Bool value. public bool GetBoolValue(T name) { return GetBoolValue(name.ToString()); } public bool GetBoolValue(string name) { return StringUtil.ToBool(GetValue(name)); } // Int value. public int GetIntValue(T name) { return GetIntValue(name.ToString()); } public int GetIntValue(string name) { return StringUtil.ToInt(GetValue(name)); } // Decimal value. public decimal GetDecimalValue(T name) { return GetDecimalValue(name.ToString()); } public decimal GetDecimalValue(string name) { return StringUtil.ToDecimal(GetValue(name)); } //------------------------------------------------------------------- // DateTime value. public DateTime GetDateValue(T name) { return GetDateValue(name.ToString()); } public DateTime GetDateValue(string name) { return DateUtil.ParseXmlDate(GetValue(name)); } // DateTime value. public DateTime GetDateTimeValue(T name) { return GetDateTimeValue(name.ToString()); } public DateTime GetDateTimeValue(string name) { return DateUtil.ParseXmlDateTime(GetValue(name)); } //------------------------------------------------------------------- } //======================================================================= }