aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.BL/ObservableEntity.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-08-23 11:17:23 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-08-23 11:17:23 +0300
commitea97f593f82a1176125901c257c8e81c45c23b67 (patch)
tree338a2fee2470779e6094d21b586d6b2a653f4c94 /Software/Visual_Studio/Tango.BL/ObservableEntity.cs
parenta8718859eea4329ec9ecd3f7155e0001aa610c3d (diff)
downloadTango-ea97f593f82a1176125901c257c8e81c45c23b67.tar.gz
Tango-ea97f593f82a1176125901c257c8e81c45c23b67.zip
ObservablesContext is now LazyLoading = 'false' by default.
Diffstat (limited to 'Software/Visual_Studio/Tango.BL/ObservableEntity.cs')
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservableEntity.cs21
1 files changed, 20 insertions, 1 deletions
diff --git a/Software/Visual_Studio/Tango.BL/ObservableEntity.cs b/Software/Visual_Studio/Tango.BL/ObservableEntity.cs
index d6cdcfb16..1b69a8bdb 100644
--- a/Software/Visual_Studio/Tango.BL/ObservableEntity.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservableEntity.cs
@@ -157,7 +157,26 @@ namespace Tango.BL
/// </summary>
public virtual void Save(ObservablesContext context)
{
- context.SaveChanges();
+ if (context == ObservablesEntitiesAdapter.Instance.Context)
+ {
+ var tableName = this.GetType().GetCustomAttribute<TableAttribute>().Name;
+
+ String propName = tableName.FromDalNameToTitleCase();
+
+ DbSet<T> set = ObservablesEntitiesAdapter.Instance.Context.GetType().GetProperty(propName, BindingFlags.Instance | BindingFlags.Public).GetValue(context) as DbSet<T>;
+ ObservableCollection<T> obs = ObservablesEntitiesAdapter.Instance.GetType().GetProperty(propName, BindingFlags.Instance | BindingFlags.Public).GetValue(ObservablesEntitiesAdapter.Instance) as ObservableCollection<T>;
+
+ if (!obs.Contains(this as T))
+ {
+ set.Add(this as T);
+ }
+
+ ObservablesEntitiesAdapter.Instance.SaveChanges();
+ }
+ else
+ {
+ context.SaveChanges();
+ }
}
/// <summary>