aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2017-12-28 15:16:27 +0200
committerAvi Levkovich <avi@twine-s.com>2017-12-28 15:16:27 +0200
commitc056f991c0168f6449fac16c3b0cb165518c5e01 (patch)
treee5c69bb1f3e03029991efe15e930af80ff6712db /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels
parent15799210aab388996f86808e000940093306ca41 (diff)
parent2d3f4bfd4b265888933ad8a7e21e4dd80aa1eda2 (diff)
downloadTango-c056f991c0168f6449fac16c3b0cb165518c5e01.tar.gz
Tango-c056f991c0168f6449fac16c3b0cb165518c5e01.zip
MERGE.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ActionTypesViewVM.cs18
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/CatsViewVM.cs41
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/CctsViewVM.cs75
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ConfigurationsViewVM.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ContactsViewVM.cs28
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs54
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EventTypesViewVM.cs76
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/FiberShapesViewVM.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/FiberSynthsViewVM.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LinearMassDensityUnitsViewVM.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidTypesViewVM.cs76
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MachinesViewVM.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaColorsViewVM.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaConditionsViewVM.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaMaterialsViewVM.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaPurposesViewVM.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/RmlsViewVM.cs (renamed from Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidsViewVM.cs)4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/UsersViewVM.cs7
18 files changed, 482 insertions, 20 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ActionTypesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ActionTypesViewVM.cs
new file mode 100644
index 000000000..fe9ebda26
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ActionTypesViewVM.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class ActionTypesViewVM : DbTableViewModel<ActionType>
+ {
+ public ActionTypesViewVM(INotificationProvider notification) : base(notification)
+ {
+
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/CatsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/CatsViewVM.cs
new file mode 100644
index 000000000..74a7e29eb
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/CatsViewVM.cs
@@ -0,0 +1,41 @@
+using Microsoft.Win32;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core.Commands;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class CatsViewVM : DbTableViewModel<Cat>
+ {
+ public CatsViewVM(INotificationProvider notification) : base(notification)
+ {
+ SelectDataFileCommand = new RelayCommand(SelectDataFile);
+ }
+
+ public RelayCommand SelectDataFileCommand { get; set; }
+
+ private void SelectDataFile()
+ {
+ OpenFileDialog dlg = new OpenFileDialog();
+ dlg.Filter = "Color Adjustment Files|*.CAT";
+ dlg.Title = "Select Color Adjustment File";
+ if (dlg.ShowDialog().Value)
+ {
+ try
+ {
+ EditEntity.Data = File.ReadAllBytes(dlg.FileName);
+ }
+ catch (Exception ex)
+ {
+ _notification.ShowError(ex.Message);
+ }
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/CctsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/CctsViewVM.cs
new file mode 100644
index 000000000..02d7c351d
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/CctsViewVM.cs
@@ -0,0 +1,75 @@
+using Microsoft.Win32;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core.Commands;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class CctsViewVM : DbTableViewModel<Cct>
+ {
+ public CctsViewVM(INotificationProvider notification) : base(notification)
+ {
+ SelectForwardFileCommand = new RelayCommand(SelectForwardFile);
+ SelectInverseFileCommand = new RelayCommand(SelectInverseFile);
+ }
+
+ public RelayCommand SelectForwardFileCommand { get; set; }
+
+ public RelayCommand SelectInverseFileCommand { get; set; }
+
+ private void SelectInverseFile()
+ {
+ String file = SelectFile();
+ if (file != null)
+ {
+ try
+ {
+ EditEntity.InverseData = File.ReadAllBytes(file);
+ EditEntity.InverseFileName = Path.GetFileName(file);
+ }
+ catch (Exception ex)
+ {
+ _notification.ShowError(ex.Message);
+ }
+ }
+ }
+
+ private void SelectForwardFile()
+ {
+ String file = SelectFile();
+ if (file != null)
+ {
+ try
+ {
+ EditEntity.ForwardData = File.ReadAllBytes(file);
+ EditEntity.ForwardFileName = Path.GetFileName(file);
+ }
+ catch (Exception ex)
+ {
+ _notification.ShowError(ex.Message);
+ }
+ }
+ }
+
+ private String SelectFile()
+ {
+ OpenFileDialog dlg = new OpenFileDialog();
+ dlg.Filter = "Color Conversion Files|*.CCT";
+ dlg.Title = "Select Color Conversion File";
+ if (dlg.ShowDialog().Value)
+ {
+ return dlg.FileName;
+ }
+ else
+ {
+ return null;
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ConfigurationsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ConfigurationsViewVM.cs
index 617faab31..bdec4f91b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ConfigurationsViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ConfigurationsViewVM.cs
@@ -18,7 +18,7 @@ namespace Tango.MachineStudio.DB.ViewModels
protected override void InitializeEntity(Configuration entity)
{
base.InitializeEntity(entity);
- entity.CreationDate = DateTime.Now;
+ entity.CreationDate = DateTime.UtcNow;
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ContactsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ContactsViewVM.cs
new file mode 100644
index 000000000..6f44d51f0
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ContactsViewVM.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+using SimpleValidator.Extensions;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class ContactsViewVM : DbTableViewModel<Contact>
+ {
+ public ContactsViewVM(INotificationProvider notification) : base(notification)
+ {
+ }
+
+ protected override void OnValidating()
+ {
+ base.OnValidating();
+
+ if (!EditEntity.Email.IsEmail())
+ {
+ ValidationErrors.Add("Email address is invalid");
+ }
+ }
+ }
+}
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 b6d77748e..bc8d54ce9 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
@@ -8,7 +8,6 @@ using Tango.DAL.Observables;
using Tango.MachineStudio.Common.Notifications;
using Tango.MachineStudio.DB.Managers;
using Tango.SharedUI;
-using Tango.MachineStudio.DB.ExtensionMethods;
using System.Data.Entity.Infrastructure;
using GalaSoft.MvvmLight.Messaging;
using Tango.MachineStudio.DB.Messages;
@@ -21,7 +20,7 @@ namespace Tango.MachineStudio.DB.ViewModels
{
public abstract class DbTableViewModel<T> : ViewModel, IShutdownRequestBlocker where T : class, IObservableEntity
{
- private INotificationProvider _notification;
+ protected INotificationProvider _notification;
/// <summary>
/// Initializes a new instance of the <see cref="DbTableViewModel"/> class.
@@ -157,18 +156,17 @@ namespace Tango.MachineStudio.DB.ViewModels
{
using (_notification.PushTaskItem("Saving changes to database..."))
{
- var dependenctEntities = SelectedEntity.GetDependentEntitiesNameAndGuid();
+ var dependenctEntities = SelectedEntity.GetDependentEntitiesNameAndGuid();
if (dependenctEntities.Count > 0)
{
- _notification.ShowError("The selected entity is being used by " + dependenctEntities.Count + " other entities." + Environment.NewLine + "Please delete any dependencies and try again." + Environment.NewLine + Environment.NewLine + String.Join(Environment.NewLine,dependenctEntities.Select(x => x.Key + ", ID: " + x.Value)));
+ _notification.ShowError("The selected entity is being used by " + dependenctEntities.Count + " other entities." + Environment.NewLine + "Please delete any dependencies and try again." + Environment.NewLine + Environment.NewLine + String.Join(Environment.NewLine, dependenctEntities.Select(x => x.Key + ", ID: " + x.Value)));
return;
}
try
{
- SelectedEntity.Deleted = true;
- await SelectedEntity.SaveAsync();
+ await SelectedEntity.SoftDeleteAsync();
}
catch (Exception ex)
{
@@ -295,18 +293,44 @@ namespace Tango.MachineStudio.DB.ViewModels
collectionView.Filter = (entity) =>
{
- return
- entity.
- GetType().
- GetProperties(BindingFlags.Public | BindingFlags.Instance).
- Where(x => x.Name != "Deleted" && x.Name != "ID" && x.Name != "LastUpdated").
- Where(x => !x.PropertyType.IsGenericType && (x.PropertyType.IsClass || x.PropertyType == typeof(String))).
- Select(prop => prop.GetValue(entity).ToString()).
- ToList().
- Any(x => x.ToLower().Contains(filter.ToLower()));
+ return FilterEntity((T)entity, filter);
};
}
+ private bool FilterEntity(T entity, String filter)
+ {
+ foreach (var prop in entity.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(x => x.PropertyType.IsClass && x.PropertyType != typeof(String) && x.PropertyType != typeof(byte[]) && !x.PropertyType.IsGenericType))
+ {
+ object obj = prop.GetValue(entity);
+
+ if (obj != null)
+ {
+ foreach (var innerProp in obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(x => x.Name != "Deleted" && x.Name != "ID" && x.Name != "LastUpdated").Where(x => !x.PropertyType.IsGenericType && (x.PropertyType.IsClass || x.PropertyType == typeof(String))))
+ {
+ object value = innerProp.GetValue(obj);
+
+ if (value != null)
+ {
+ if (value.ToString().ToLower().Contains(filter.ToLower()))
+ {
+ return true;
+ }
+ }
+ }
+ }
+ }
+
+ return
+ entity.
+ GetType().
+ GetProperties(BindingFlags.Public | BindingFlags.Instance).
+ Where(x => x.Name != "Deleted" && x.Name != "ID" && x.Name != "LastUpdated").
+ Where(x => !x.PropertyType.IsGenericType && (x.PropertyType.IsClass || x.PropertyType == typeof(String))).
+ Select(prop => prop.GetValue(entity).ToString()).
+ ToList().
+ Any(x => x.ToLower().Contains(filter.ToLower()));
+ }
+
protected virtual void InitializeEntity(T entity)
{
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EventTypesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EventTypesViewVM.cs
new file mode 100644
index 000000000..69e3c9ff6
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EventTypesViewVM.cs
@@ -0,0 +1,76 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class EventTypesViewVM : DbTableViewModel<EventType>
+ {
+ public EventTypesViewVM(INotificationProvider notification) : base(notification)
+ {
+ SelectedActions = new ObservableCollection<MultiComboVM<ActionType>>();
+ }
+
+ private ObservableCollection<MultiComboVM<ActionType>> _selectedActions;
+ public ObservableCollection<MultiComboVM<ActionType>> SelectedActions
+ {
+ get { return _selectedActions; }
+ set { _selectedActions = value; RaisePropertyChangedAuto(); }
+ }
+
+ protected override void OnEdit()
+ {
+ SelectedActions = Adapter.ActionTypes.Select(x => new MultiComboVM<ActionType>(x, () => RaisePropertyChanged(nameof(SelectedActions)))).ToObservableCollection();
+
+ foreach (var actionType in SelectedActions)
+ {
+ if (SelectedEntity.EventTypesActions.ToList().Exists(x => x.ActionTypes == actionType.Entity && !x.Deleted))
+ {
+ actionType.IsSelected = true;
+ }
+ }
+
+ base.OnEdit();
+ }
+
+ protected override void OnAdd()
+ {
+ SelectedActions = Adapter.ActionTypes.Select(x => new MultiComboVM<ActionType>(x, () => RaisePropertyChanged(nameof(SelectedActions)))).ToObservableCollection();
+
+ base.OnAdd();
+ }
+
+ protected override void OnBeforeEntitySave(DialogOpenMode mode, EventType eventType)
+ {
+ base.OnBeforeEntitySave(mode, eventType);
+
+ foreach (var actionType in SelectedActions)
+ {
+ var userRole = eventType.EventTypesActions.SingleOrDefault(x => x.ActionTypes == actionType.Entity);
+
+ if (userRole != null)
+ {
+ userRole.Deleted = !actionType.IsSelected;
+ }
+ else
+ {
+ if (actionType.IsSelected)
+ {
+ eventType.EventTypesActions.Add(new EventTypesAction()
+ {
+ ActionTypes = actionType.Entity,
+ EventTypes = eventType,
+ ActionTypeGuid = actionType.Entity.Guid,
+ EventTypeGuid = eventType.Guid
+ });
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/FiberShapesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/FiberShapesViewVM.cs
new file mode 100644
index 000000000..c4954f9b3
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/FiberShapesViewVM.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class FiberShapesViewVM : DbTableViewModel<FiberShape>
+ {
+ public FiberShapesViewVM(INotificationProvider notification) : base(notification)
+ {
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/FiberSynthsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/FiberSynthsViewVM.cs
new file mode 100644
index 000000000..6b157fc0d
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/FiberSynthsViewVM.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class FiberSynthsViewVM : DbTableViewModel<FiberSynth>
+ {
+ public FiberSynthsViewVM(INotificationProvider notification) : base(notification)
+ {
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LinearMassDensityUnitsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LinearMassDensityUnitsViewVM.cs
new file mode 100644
index 000000000..9ac38a7c4
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LinearMassDensityUnitsViewVM.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class LinearMassDensityUnitsViewVM : DbTableViewModel<LinearMassDensityUnit>
+ {
+ public LinearMassDensityUnitsViewVM(INotificationProvider notification) : base(notification)
+ {
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidTypesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidTypesViewVM.cs
new file mode 100644
index 000000000..eaa482a41
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidTypesViewVM.cs
@@ -0,0 +1,76 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class LiquidTypesViewVM : DbTableViewModel<LiquidType>
+ {
+ public LiquidTypesViewVM(INotificationProvider notification) : base(notification)
+ {
+ SelectedRmls = new ObservableCollection<MultiComboVM<Rml>>();
+ }
+
+ private ObservableCollection<MultiComboVM<Rml>> _selectedRmls;
+ public ObservableCollection<MultiComboVM<Rml>> SelectedRmls
+ {
+ get { return _selectedRmls; }
+ set { _selectedRmls = value; RaisePropertyChangedAuto(); }
+ }
+
+ protected override void OnEdit()
+ {
+ SelectedRmls = Adapter.Rmls.Select(x => new MultiComboVM<Rml>(x, () => RaisePropertyChanged(nameof(SelectedRmls)))).ToObservableCollection();
+
+ foreach (var rml in SelectedRmls)
+ {
+ if (SelectedEntity.LiquidTypesRmls.ToList().Exists(x => x.Rml == rml.Entity && !x.Deleted))
+ {
+ rml.IsSelected = true;
+ }
+ }
+
+ base.OnEdit();
+ }
+
+ protected override void OnAdd()
+ {
+ SelectedRmls = Adapter.Rmls.Select(x => new MultiComboVM<Rml>(x, () => RaisePropertyChanged(nameof(SelectedRmls)))).ToObservableCollection();
+
+ base.OnAdd();
+ }
+
+ protected override void OnBeforeEntitySave(DialogOpenMode mode, LiquidType liquid)
+ {
+ base.OnBeforeEntitySave(mode, liquid);
+
+ foreach (var rml in SelectedRmls)
+ {
+ var liquidRml = liquid.LiquidTypesRmls.SingleOrDefault(x => x.Rml == rml.Entity);
+
+ if (liquidRml != null)
+ {
+ liquidRml.Deleted = !rml.IsSelected;
+ }
+ else
+ {
+ if (rml.IsSelected)
+ {
+ liquid.LiquidTypesRmls.Add(new LiquidTypesRml()
+ {
+ Rml = rml.Entity,
+ LiquidTypes = liquid,
+ RmlGuid = rml.Entity.Guid,
+ LiquidTypeGuid = liquid.Guid
+ });
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MachinesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MachinesViewVM.cs
index fbec464bd..2349941fe 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MachinesViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MachinesViewVM.cs
@@ -20,7 +20,7 @@ namespace Tango.MachineStudio.DB.ViewModels
protected override void InitializeEntity(Machine entity)
{
base.InitializeEntity(entity);
- entity.ProductionDate = DateTime.Now;
+ entity.ProductionDate = DateTime.UtcNow;
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaColorsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaColorsViewVM.cs
new file mode 100644
index 000000000..4227cc27a
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaColorsViewVM.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class MediaColorsViewVM : DbTableViewModel<MediaColor>
+ {
+ public MediaColorsViewVM(INotificationProvider notification) : base(notification)
+ {
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaConditionsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaConditionsViewVM.cs
new file mode 100644
index 000000000..451e20ff0
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaConditionsViewVM.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class MediaConditionsViewVM : DbTableViewModel<MediaCondition>
+ {
+ public MediaConditionsViewVM(INotificationProvider notification) : base(notification)
+ {
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaMaterialsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaMaterialsViewVM.cs
new file mode 100644
index 000000000..534ebc0d8
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaMaterialsViewVM.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class MediaMaterialsViewVM : DbTableViewModel<MediaMaterial>
+ {
+ public MediaMaterialsViewVM(INotificationProvider notification) : base(notification)
+ {
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaPurposesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaPurposesViewVM.cs
new file mode 100644
index 000000000..4850f6316
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MediaPurposesViewVM.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.Notifications;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class MediaPurposesViewVM : DbTableViewModel<MediaPurpos>
+ {
+ public MediaPurposesViewVM(INotificationProvider notification) : base(notification)
+ {
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/RmlsViewVM.cs
index e57f6606e..740a4969b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidsViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/RmlsViewVM.cs
@@ -8,9 +8,9 @@ using Tango.MachineStudio.Common.Notifications;
namespace Tango.MachineStudio.DB.ViewModels
{
- public class LiquidsViewVM : DbTableViewModel<Liquid>
+ public class RmlsViewVM : DbTableViewModel<Rml>
{
- public LiquidsViewVM(INotificationProvider notification) : base(notification)
+ public RmlsViewVM(INotificationProvider notification) : base(notification)
{
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/UsersViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/UsersViewVM.cs
index 6af1184aa..044b8a88a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/UsersViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/UsersViewVM.cs
@@ -80,12 +80,17 @@ namespace Tango.MachineStudio.DB.ViewModels
if (EditEntity.Email != null)
{
- if (Adapter.Users.ToList().Exists(x => x.Email.ToLower() == EditEntity.Email.ToLower()))
+ if (Adapter.Users.ToList().Exists(x => x != EditEntity && x.Email.ToLower() == EditEntity.Email.ToLower()))
{
ValidationErrors.Add("Email already exist");
}
}
+ if (!EditEntity.Email.IsEmail())
+ {
+ ValidationErrors.Add("Email address is invalid");
+ }
+
if (!EditEntity.Password.IsMinLength(4))
{
ValidationErrors.Add("Password must have at least 4 characters");