aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-03-14 17:48:33 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-03-14 17:48:33 +0200
commit748d18fe3bfa60a586de151c3bb0d1fd608b1e13 (patch)
tree27748a339a8e4e5572a6503cc08324f49aa120b7 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
parent1ebb6a67c93969f3d3822893d4e191d14f8fd3e3 (diff)
downloadTango-748d18fe3bfa60a586de151c3bb0d1fd608b1e13.tar.gz
Tango-748d18fe3bfa60a586de151c3bb0d1fd608b1e13.zip
Working on machine events !!!
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs27
1 files changed, 25 insertions, 2 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
index 71e9fad18..de6772bf8 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
@@ -180,7 +180,6 @@ namespace Tango.MachineStudio.DB.ViewModels
ValidationErrors.Clear();
DialogOpenMode = DialogOpenMode.Editing;
EditEntity = GetEditableEntity(DialogOpenMode);
- //_notification.ShowDialog(DialogOpenMode, this);
Messenger.Default.Send(new OpenEntityEditViewMessage(DialogOpenMode, this, typeof(T)));
IsDialogOpen = true;
}
@@ -193,7 +192,18 @@ namespace Tango.MachineStudio.DB.ViewModels
ValidationErrors.Clear();
DialogOpenMode = DialogOpenMode.Adding;
EditEntity = GetEditableEntity(DialogOpenMode);
- //_notification.ShowDialog(DialogOpenMode, this);
+
+ var codeProp = EditEntity.GetType().GetProperty("Code");
+
+ if (codeProp != null)
+ {
+ if (EditEntity.GetDbSet<T>(Adapter.Context).Count() > 0)
+ {
+ int lastCode = EditEntity.GetDbSet<T>(Adapter.Context).ToList().Max(x => (int)codeProp.GetValue(x));
+ codeProp.SetValue(EditEntity, lastCode + 1);
+ }
+ }
+
Messenger.Default.Send(new OpenEntityEditViewMessage(DialogOpenMode, this, typeof(T)));
IsDialogOpen = true;
}
@@ -208,6 +218,19 @@ namespace Tango.MachineStudio.DB.ViewModels
if (ValidationErrors.Count > 0) return;
+ var codeProp = entity.GetType().GetProperty("Code");
+
+ if (codeProp != null)
+ {
+ int code = (int)codeProp.GetValue(entity);
+
+ if (entity.GetDbSet<T>(Adapter.Context).ToList().Where(x => x.Guid != entity.Guid).Select(x => (int)codeProp.GetValue(x)).Contains(code))
+ {
+ _notification.ShowError("The entity code specified already exists.");
+ return;
+ }
+ }
+
Messenger.Default.Send(new CloseEntityEditViewMessage());
if (mode == DialogOpenMode.Editing)