diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-01-03 19:20:56 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-01-03 19:20:56 +0200 |
| commit | 0681c34b56580e3c5c37d95bf1c3f948d95c2302 (patch) | |
| tree | 8a6042ada060b9f46e2484c0f43c4147d0c3dd06 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs | |
| parent | 0fc95107f2da4f93f7c135e7c29802bd7d785431 (diff) | |
| download | Tango-0681c34b56580e3c5c37d95bf1c3f948d95c2302.tar.gz Tango-0681c34b56580e3c5c37d95bf1c3f948d95c2302.zip | |
Progress on Machine Designer.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs | 71 |
1 files changed, 68 insertions, 3 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs index 120ae7972..dbba1962e 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs @@ -3,13 +3,18 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Tango.Core.Commands; using Tango.DAL.Observables; +using Tango.MachineStudio.Common.Notifications; using Tango.SharedUI; namespace Tango.MachineStudio.MachineDesigner.ViewModels { public class MainViewVM : ViewModel { + private bool _isSaving; + private INotificationProvider _notification; + private ObservablesEntitiesAdapter _adapter; /// <summary> /// Gets or sets the db adapter. @@ -40,14 +45,74 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels set { _configuration = value; RaisePropertyChangedAuto(); } } + public RelayCommand SaveCommand { get; set; } + /// <summary> /// Initializes a new instance of the <see cref="MainViewVM"/> class. /// </summary> - public MainViewVM() + public MainViewVM(INotificationProvider notification) { + _notification = notification; + Adapter = ObservablesEntitiesAdapter.Instance; - Machine = Adapter.Machines.First(); - Configuration = Machine.Configuration; + Configuration = new Configuration(); + Configuration.Name = "Config 2"; + + + for (int i = 0; i < 8; i++) + { + Configuration.IdsPacks.Add(new IdsPack() { Name = "IDS PACK " + i }); + } + + SaveCommand = new RelayCommand(Save, (x) => !_isSaving); + } + + public void DropCartridgeType(CartridgeType cartridgeType, IdsPack idsPack) + { + idsPack.CartridgeTypes = cartridgeType; + idsPack.CartridgeTypeGuid = cartridgeType.Guid; + } + + public void DropDispenser(Dispenser dispenser, IdsPack idsPack) + { + idsPack.Dispenser = dispenser; + idsPack.DispenserGuid = dispenser.Guid; + } + + public void DropMidTankType(MidTankType midTankType, IdsPack idsPack) + { + idsPack.MidTankTypes = midTankType; + idsPack.MidTankTypeGuid = midTankType.Guid; + } + + public void DropLiquidType(LiquidType liquidType, IdsPack idsPack) + { + idsPack.LiquidTypes = liquidType; + idsPack.LiquidTypeGuid = liquidType.Guid; + } + + private async void Save() + { + _isSaving = true; + InvalidateRelayCommands(); + + try + { + using (_notification.PushTaskItem("Saving Configuration...")) + { + await Configuration.SaveAsync(); + Configuration = Adapter.Configurations.SingleOrDefault(x => x.Guid == Configuration.Guid); + } + } + catch (Exception ex) + { + _notification.ShowError("An error occurred while trying to save the configuration" + Environment.NewLine + ex.Message); + } + finally + { + _isSaving = false; + InvalidateRelayCommands(); + } } } } |
