This commit is contained in:
grzegorz.russek
2014-04-04 19:41:51 +00:00
parent f9684f484e
commit 397a8da830
14 changed files with 337 additions and 90 deletions

View File

@@ -0,0 +1,108 @@
using System;
using System.Collections;
namespace DynamORM.Tests
{
public class DynamicProduct : IDictionary
{
private IDictionary _dict = null;
public DynamicProduct(IDictionary dict)
{
_dict = dict;
}
// Properties from dict
public int ID
{
get { return (int)(_dict["ID"] ?? 0); }
set
{
if (!IsReadOnly)
_dict["ID"] = value;
}
}
public string Name
{
get { return (string)(_dict["Name"] ?? 0); }
set
{
if (!IsReadOnly)
_dict["Name"] = value;
}
}
public DateTime Delivery
{
get { return (DateTime)(_dict["Delivery"] ?? 0); }
set
{
if (!IsReadOnly)
_dict["Delivery"] = value;
}
}
public object Data
{
get { return (object)(_dict["Data"] ?? 0); }
set
{
if (!IsReadOnly)
_dict["Data"] = value;
}
}
// IDictionary implementation
public void Add(object key, object value)
{
_dict.Add(key, value);
}
public void Clear()
{
_dict.Clear();
}
public bool Contains(object key)
{
return _dict.Contains(key);
}
public IDictionaryEnumerator GetEnumerator()
{
return GetEnumerator();
}
public void Remove(object key)
{
_dict.Remove(key);
}
public void CopyTo(System.Array array, int index)
{
_dict.CopyTo(array, index);
}
IEnumerator IEnumerable.GetEnumerator()
{
return _dict.GetEnumerator();
}
public bool IsFixedSize { get { return _dict.IsFixedSize; } }
public bool IsReadOnly { get { return _dict.IsReadOnly; } }
public ICollection Keys { get { return _dict.Keys; } }
public ICollection Values { get { return _dict.Values; } }
public object this[object key] { get { return _dict[key]; } set { _dict[key] = value; } }
public int Count { get { return _dict.Count; } }
public bool IsSynchronized { get { return _dict.IsSynchronized; } }
public object SyncRoot { get { return _dict.SyncRoot; } }
}
}