Files
BusinessMgr-2019/SaBusMgrStandardBase/Base/WebService/SbmWebServiceItemData.cs
T

130 lines
3.4 KiB
C#

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<String, String> values = new Dictionary<String, String>();
//-------------------------------------------------------------------
// Construction.
public SbmWebServiceItemData(String itemType)
{
ItemType = itemType;
}
// Copy construction.
public SbmWebServiceItemData(SbmWebServiceItemData itemData)
{
values.AddRange(itemData.values);
}
//-------------------------------------------------------------------
// Properties.
public String ItemType { get; }
/// <summary>
/// Child items.
/// <para>Dictionary key identifies type of item.</para>
/// </summary>
public Dictionary<String, List<SbmWebServiceItemData>> ChildItems { get; } = new Dictionary<string, List<SbmWebServiceItemData>>();
//-------------------------------------------------------------------
// Population.
public void AddValue(String name, String value)
{
values[name] = value;
}
//-------------------------------------------------------------------
// Value exists.
public bool HasValue<T>(T name)
{
return HasValue(name.ToString());
}
public bool HasValue(string name)
{
return values.ContainsKey(name);
}
//-------------------------------------------------------------------
// String value.
public String GetValue<T>(T name)
{
return GetValue(name.ToString());
}
public String GetValue(string name)
{
return values.GetValue(name, "");
}
//-------------------------------------------------------------------
// SysId value.
public SysId GetIdValue<T>(T name)
{
return GetIdValue(name.ToString());
}
public SysId GetIdValue(string name)
{
return new SysId(StringUtil.ToInt(GetValue(name)));
}
//-------------------------------------------------------------------
// Bool value.
public bool GetBoolValue<T>(T name)
{
return GetBoolValue(name.ToString());
}
public bool GetBoolValue(string name)
{
return StringUtil.ToBool(GetValue(name));
}
// Int value.
public int GetIntValue<T>(T name)
{
return GetIntValue(name.ToString());
}
public int GetIntValue(string name)
{
return StringUtil.ToInt(GetValue(name));
}
// Decimal value.
public decimal GetDecimalValue<T>(T name)
{
return GetDecimalValue(name.ToString());
}
public decimal GetDecimalValue(string name)
{
return StringUtil.ToDecimal(GetValue(name));
}
//-------------------------------------------------------------------
// DateTime value.
public DateTime GetDateValue<T>(T name)
{
return GetDateValue(name.ToString());
}
public DateTime GetDateValue(string name)
{
return DateUtil.ParseXmlDate(GetValue(name));
}
// DateTime value.
public DateTime GetDateTimeValue<T>(T name)
{
return GetDateTimeValue(name.ToString());
}
public DateTime GetDateTimeValue(string name)
{
return DateUtil.ParseXmlDateTime(GetValue(name));
}
//-------------------------------------------------------------------
}
//=======================================================================
}