diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-08-23 11:17:23 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-08-23 11:17:23 +0300 |
| commit | ea97f593f82a1176125901c257c8e81c45c23b67 (patch) | |
| tree | 338a2fee2470779e6094d21b586d6b2a653f4c94 /Software/Visual_Studio/Tango.BL/ObservableEntity.cs | |
| parent | a8718859eea4329ec9ecd3f7155e0001aa610c3d (diff) | |
| download | Tango-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.cs | 21 |
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> |
