2
0
mirror of https://github.com/esiur/esiur-dotnet.git synced 2025-06-27 13:33:13 +00:00

ResourceTemplate 2.0

This commit is contained in:
2021-05-25 17:06:19 +03:00
parent c8683e17e9
commit 82cbe3b01c
26 changed files with 1105 additions and 272 deletions

View File

@ -52,10 +52,10 @@ namespace Esiur.Stores.MongoDB
[Public]
public event ResourceEventHanlder ResourceAdded;
public event ResourceEventHanlder<IResource> ResourceAdded;
[Public]
public event ResourceEventHanlder ResourceRemoved;
public event ResourceEventHanlder<IResource> ResourceRemoved;
int count = 0;
@ -225,7 +225,7 @@ namespace Esiur.Stores.MongoDB
var doc = value.AsBsonDocument;
if (doc["type"] == 0)
{
return Warehouse.Get(doc["link"].AsString);
return Warehouse.Get<IResource>(doc["link"].AsString);
} // structure
else if (doc["type"] == 1)
{
@ -383,7 +383,7 @@ namespace Esiur.Stores.MongoDB
foreach (var pt in template.Properties)
{
var rt = pt.Info.GetValue(resource, null);
var rt = pt.PropertyInfo.GetValue(resource, null);
values.Add(pt.Name,
new BsonDocument { { "age", BsonValue.Create(resource.Instance.GetAge(pt.Index)) },
@ -612,7 +612,7 @@ namespace Esiur.Stores.MongoDB
var pi = resource.GetType().GetProperty(pt.Name);
#endif
*/
var rt = pt.Info.GetValue(resource, null);
var rt = pt.PropertyInfo.GetValue(resource, null);
values.Add(pt.Name,
new BsonDocument { { "age", BsonValue.Create(resource.Instance.GetAge(pt.Index)) },
@ -841,7 +841,7 @@ namespace Esiur.Stores.MongoDB
foreach (var child in children)
{
var r = Warehouse.Get(child);
var r = Warehouse.Get<T>(child);
if (r is AsyncReply<T>)
rt.Add(r);// (AsyncReply<T>)r);
}
@ -873,7 +873,7 @@ namespace Esiur.Stores.MongoDB
foreach (var parent in parents)
{
var r = Warehouse.Get(parent);
var r = Warehouse.Get<T>(parent);
if (r is AsyncReply<T>)
rt.Add(r);// (AsyncReply<T>)r);
}