aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.BL/ObservableEntity.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-01-07 16:06:38 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-01-07 16:06:38 +0200
commite111c33bc87acf40202f9e5423e21b087a366f07 (patch)
treefac6d85ec3589620b1daea9a9f740a2120b0ca10 /Software/Visual_Studio/Tango.BL/ObservableEntity.cs
parent6da42fd28ffbb680d85bb9e695520713ff51022a (diff)
downloadTango-e111c33bc87acf40202f9e5423e21b087a366f07.tar.gz
Tango-e111c33bc87acf40202f9e5423e21b087a366f07.zip
Added new events !!!
Diffstat (limited to 'Software/Visual_Studio/Tango.BL/ObservableEntity.cs')
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservableEntity.cs43
1 files changed, 19 insertions, 24 deletions
diff --git a/Software/Visual_Studio/Tango.BL/ObservableEntity.cs b/Software/Visual_Studio/Tango.BL/ObservableEntity.cs
index bee94552e..b59ba8925 100644
--- a/Software/Visual_Studio/Tango.BL/ObservableEntity.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservableEntity.cs
@@ -381,6 +381,10 @@ Maybe you have deleted an entity that was no yet inserted into database?", LogCa
return GetDbContextFromEntity(this);
}
+ #endregion
+
+ #region Serialization
+
public virtual EntitySerializationStrategy GetDefaultSerializationStrategy(EntitySerializationFlags flags)
{
EntitySerializationStrategy st = new EntitySerializationStrategy();
@@ -474,35 +478,26 @@ Maybe you have deleted an entity that was no yet inserted into database?", LogCa
return ToJson(new EntitySerializationStrategy(), EntitySerializationFlags.IgnoreReferenceTypes | EntitySerializationFlags.Indented);
}
- public void PopulateFromJson(string json)
+ public void PopulateFromJson(string json, EntitySerializationStrategy serializationStrategy, EntitySerializationFlags flags)
{
- //JsonCobnve
-
- //JObject from = JObject.Parse(json);
- //JObject entity = new JObject(this);
- //from.Merge()
-
- //Person p = new Person()
- //{
- // Age = 30,
- // Name = "Roy",
- //};
+ var settings = new JsonSerializerSettings()
+ {
+ ContractResolver = new SerializableEntityContractResolver(serializationStrategy, flags),
+ };
- //Person p2 = new Person();
- //p2.Adderess = new Address()
- //{
- // City = "Gan Yavne",
- // Street = "Yohanan"
- //};
+ if (flags.HasFlag(EntitySerializationFlags.PreserveReferencesHandling))
+ {
+ settings.PreserveReferencesHandling = PreserveReferencesHandling.All;
+ }
- //String j1 = JsonConvert.SerializeObject(p);
- //String j2 = JsonConvert.SerializeObject(p2);
+ settings.Converters.Add(new StringEnumConverter { CamelCaseText = false });
- //JsonConvert.PopulateObject(j2, p, new JsonSerializerSettings()
- //{
- // NullValueHandling = NullValueHandling.Ignore,
+ JsonConvert.PopulateObject(json, this, settings);
+ }
- //});
+ public void PopulateFromJson(string json)
+ {
+ PopulateFromJson(json, new EntitySerializationStrategy(), EntitySerializationFlags.PreserveReferencesHandling);
}
#endregion