2
0
mirror of https://github.com/esiur/esiur-dotnet.git synced 2025-09-13 12:43:17 +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);
}