diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2018-03-19 12:09:48 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2018-03-19 12:09:48 +0200 |
| commit | 47d8c850e03797475c3bcd99bdd3d1a0e115413b (patch) | |
| tree | 3e8ed360623c3745aeb6488ab3c6146a977d9dd2 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs | |
| parent | cc4129c557405accb3ced68f7b6cb19dbdb87a24 (diff) | |
| parent | 96352ac46ccb871783c63fd98efe034091214b7e (diff) | |
| download | Tango-47d8c850e03797475c3bcd99bdd3d1a0e115413b.tar.gz Tango-47d8c850e03797475c3bcd99bdd3d1a0e115413b.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
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.cs | 27 |
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) |
