using Sarand.Core.Base; using Sarand.Core.Bus; using System; using System.Collections.Generic; using System.Text; namespace Sarand.PatientMgr.Core.WebService { //======================================================================= public class SpmWebServiceItemData { //------------------------------------------------------------------- // Data members. private readonly Dictionary values = new Dictionary(); //------------------------------------------------------------------- // Construction. public SpmWebServiceItemData (String itemType) { ItemType = itemType; } // Copy construction. public SpmWebServiceItemData (SpmWebServiceItemData 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)); } //------------------------------------------------------------------- // Date 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)); } //------------------------------------------------------------------- } //======================================================================= }