130 lines
3.4 KiB
C#
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));
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Date 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));
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|