aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs170
1 files changed, 95 insertions, 75 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs
index 0665c146a..b33ead70a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs
@@ -55,16 +55,22 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
public List<RmlExtensionModel> RmlExtensions
{
get { return _rmlExtensions; }
- set { _rmlExtensions = value;
- RaisePropertyChangedAuto(); }
+ set
+ {
+ _rmlExtensions = value;
+ RaisePropertyChangedAuto();
+ }
}
private RmlsExtension _ActiveRMLExtension;
public RmlsExtension ActiveRMLExtension
{
get { return _ActiveRMLExtension; }
- set { _ActiveRMLExtension = value;
- RaisePropertyChangedAuto(); }
+ set
+ {
+ _ActiveRMLExtension = value;
+ RaisePropertyChangedAuto();
+ }
}
private Rml _activeRML;
@@ -82,9 +88,12 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
public RmlExtensionModel SelectedRMLExtension
{
get { return _selectedRMLExtension; }
- set { _selectedRMLExtension = value;
+ set
+ {
+ _selectedRMLExtension = value;
RaisePropertyChangedAuto();
- InvalidateRelayCommands(); }
+ InvalidateRelayCommands();
+ }
}
//private ICollectionView _rmlExtCollectionView;
@@ -162,13 +171,15 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
get { return _group; }
set { _group = value; RaisePropertyChangedAuto(); }
}
-
+
private List<String> _manufacturers;
public List<String> Manufacturers
{
get { return _manufacturers; }
- set { _manufacturers = value;
+ set
+ {
+ _manufacturers = value;
RaisePropertyChangedAuto();
}
}
@@ -291,7 +302,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await LoadRmlExtentions();
}
- public RelayCommand AddManufacturerItemCommand { get; set;}
+ public RelayCommand AddManufacturerItemCommand { get; set; }
public RelayCommand EditManufacturerItemCommand { get; set; }
public RelayCommand DeleteManufacturerItemCommand { get; set; }
@@ -346,7 +357,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
public RelayCommand AddGlossLevelItemCommand { get; set; }
public RelayCommand EditGlossLevelItemCommand { get; set; }
public RelayCommand DeleteGlossLevelItemCommand { get; set; }
-
+
#endregion
#region Command Functions
@@ -366,14 +377,14 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
_active_context.YarnManufacturers.Add(new YarnManufacturer() { Name = vm.Name });
}, () => { });
- if(vm.DialogResult)
+ if (vm.DialogResult)
{
await _active_context.SaveChangesAsync();
Manufacturers = _active_context.YarnManufacturers.Select(z => z.Name).ToList();
- ActiveRML.Manufacturer = Manufacturers.Where(z=> z == vm.Name).FirstOrDefault();
+ ActiveRML.Manufacturer = Manufacturers.Where(z => z == vm.Name).FirstOrDefault();
}
}
-
+
private async void EditManufacturerItem(object obj)
{
AddItemDialogVM vm = ViewModelLocator.AddItemDialogVM;
@@ -397,15 +408,15 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
bChanged = true;
}
}, () => { });
- if(bChanged)
+ if (bChanged)
{
await _active_context.SaveChangesAsync();
Manufacturers = _active_context.YarnManufacturers.Select(x => x.Name).ToList();
}
-
+
}
- private bool AddItemToCollection<T>( ObservableCollection<T> collection, DbSet<T> dbColection, ref string name) where T : class
+ private bool AddItemToCollection<T>(ObservableCollection<T> collection, DbSet<T> dbColection, ref string name) where T : class
{
AddItemDialogVM vm = ViewModelLocator.AddItemDialogVM;
vm.Name = "";
@@ -449,7 +460,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
returnValue = false;
return;
}
-
+
if (collection.Any(y => pi.GetValue(y).ToString() == x.Name))
{
returnValue = false;
@@ -462,18 +473,18 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
return returnValue;
}
-
+
private async void AddBrandItem(object obj)
{
string newName = "";
- if( AddItemToCollection( Brands, _active_context.YarnBrands, ref newName))
+ if (AddItemToCollection(Brands, _active_context.YarnBrands, ref newName))
{
await _active_context.SaveChangesAsync();
Brands = _active_context.YarnBrands.ToObservableCollection();
ActiveRMLExtension.YarnBrand = Brands.FirstOrDefault(b => b.Name == newName);
}
}
-
+
private async void EditBrandItem(object obj)
{
string newName = ActiveRMLExtension.YarnBrand.Name;
@@ -505,7 +516,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddApplicationItem(object ob)
{
string newName = "";
@@ -526,7 +537,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddIndustrySectorItem(object ob)
{
string newName = "";
@@ -547,7 +558,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddMaterialItem(object ob)
{
string newName = "";
@@ -568,7 +579,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddYarnTypeItem(object ob)
{
string newName = "";
@@ -589,7 +600,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddSubFamilyItem(object ob)
{
string newName = "";
@@ -610,7 +621,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddFamilyItem(object ob)
{
string newName = "";
@@ -631,7 +642,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddGroupItem(object ob)
{
string newName = "";
@@ -652,7 +663,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddTexturingItem(object ob)
{
string newName = "";
@@ -673,7 +684,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddGeometryItem(object ob)
{
string newName = "";
@@ -694,7 +705,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddYarnWhiteShadeItem(object ob)
{
string newName = "";
@@ -715,7 +726,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
private async void AddGlossLevelItem(object ob)
{
string newName = "";
@@ -736,9 +747,16 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
await _active_context.SaveChangesAsync();
}
}
-
+
#endregion
+ private bool _canEdit;
+ public bool CanEdit
+ {
+ get { return _canEdit; }
+ set { _canEdit = value; RaisePropertyChangedAuto(); }
+ }
+
public MainViewVM(INotificationProvider notificationProvider, IAuthenticationProvider authentication, IActionLogManager actionLogManager)
{
@@ -750,56 +768,58 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
SaveCommand = new RelayCommand(Save, () => IsFree);
ManageRmlExtensionCommand = new RelayCommand(() => LoadActiveRMLExtension(SelectedRMLExtension.Guid), () => SelectedRMLExtension != null);
-
+
AddManufacturerItemCommand = new RelayCommand(AddManufacturerItem);
EditManufacturerItemCommand = new RelayCommand(EditManufacturerItem, () => ActiveRML.Manufacturer != "");
AddBrandItemCommand = new RelayCommand(AddBrandItem);
EditBrandItemCommand = new RelayCommand(EditBrandItem, () => ActiveRMLExtension.YarnBrand != null);
-
+
AddEndUseItemCommand = new RelayCommand(AddEndUseItem);
EditEndUseItemCommand = new RelayCommand(EditEndUseItem);
-
+
AddApplicationItemCommand = new RelayCommand(AddApplicationItem);
EditApplicationItemCommand = new RelayCommand(EditApplicationItem);
-
+
AddIndustrySectorItemCommand = new RelayCommand(AddIndustrySectorItem);
EditIndustrySectorItemCommand = new RelayCommand(EditIndustrySectorItem);
-
+
AddMaterialItemCommand = new RelayCommand(AddMaterialItem);
EditMaterialItemCommand = new RelayCommand(EditMaterialItem);
-
+
AddYarnTypeItemCommand = new RelayCommand(AddYarnTypeItem);
EditYarnTypeItemCommand = new RelayCommand(EditYarnTypeItem);
-
+
AddSubFamilyItemCommand = new RelayCommand(AddSubFamilyItem);
EditSubFamilyItemCommand = new RelayCommand(EditSubFamilyItem);
-
+
AddFamilyItemCommand = new RelayCommand(AddFamilyItem);
EditFamilyItemCommand = new RelayCommand(EditFamilyItem);
-
+
AddGroupItemCommand = new RelayCommand(AddGroupItem);
EditGroupItemCommand = new RelayCommand(EditGroupItem);
-
+
AddTexturingItemCommand = new RelayCommand(AddTexturingItem);
EditTexturingItemCommand = new RelayCommand(EditTexturingItem);
-
+
AddGeometryItemCommand = new RelayCommand(AddGeometryItem);
EditGeometryItemCommand = new RelayCommand(EditGeometryItem);
-
+
AddYarnWhiteShadeItemCommand = new RelayCommand(AddYarnWhiteShadeItem);
EditYarnWhiteShadeItemCommand = new RelayCommand(EditYarnWhiteShadeItem);
-
+
AddGlossLevelItemCommand = new RelayCommand(AddGlossLevelItem);
EditGlossLevelItemCommand = new RelayCommand(EditGlossLevelItem);
-
+
}
-
- public override void OnApplicationReady()
+
+ public override void OnApplicationReady()
{
+ var env = SettingsManager.Default.GetOrCreate<MachineStudioSettings>().DeploymentSlot;
+ CanEdit = env == Web.DeploymentSlot.DEV || env == Web.DeploymentSlot.TEST || env == Web.DeploymentSlot.PROCESS;
}
-
+
#region Loading
@@ -822,15 +842,15 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
var q = (from c in _rmlExtentions_context.Rmls.Where(x => x.Name.ToLower().Contains(filter))
join p in _rmlExtentions_context.RmlsExtensions on c.Guid equals p.RmlsGuid into ps
from p in ps.DefaultIfEmpty()
- select new { RML = c, RMLExtesion = p }).Distinct().ToList().DistinctBy(x => x.RML.Guid)
+ select new { RML = c, RMLExtesion = p }).Distinct().ToList().DistinctBy(x => x.RML.Guid)
.Select(x => new RmlExtensionModel()
{
RMLGuid = x.RML.Guid,
- Guid = x.RMLExtesion == null? null : x.RMLExtesion.Guid,
+ Guid = x.RMLExtesion == null ? null : x.RMLExtesion.Guid,
Name = x.RML.Name,
Manufacturer = x.RML.Manufacturer,
- Brand = x.RMLExtesion == null ? "" : (Brands.Where( y => y.Guid == x.RMLExtesion.YarnBrandGuid).Select( z => z.Name).FirstOrDefault()),
- LinearDensity = (int) x.RML.FiberSize,
+ Brand = x.RMLExtesion == null ? "" : (Brands.Where(y => y.Guid == x.RMLExtesion.YarnBrandGuid).Select(z => z.Name).FirstOrDefault()),
+ LinearDensity = (int)x.RML.FiberSize,
CreatedBy = x.RMLExtesion == null ? "" : _allUsers.SingleOrDefault(y => y.Guid == x.RMLExtesion.UsersGuid).Contact.FullName,
Created = x.RMLExtesion == null ? DateTime.Now : x.RMLExtesion.Created,
LastUpdated = x.RMLExtesion == null ? DateTime.Now : x.RMLExtesion.LastUpdated,
@@ -839,7 +859,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
}).ToList();
RmlExtensions = q;
-
+
}
}
catch (Exception ex)
@@ -878,8 +898,8 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
}).ToObservableCollection();
}
-
- private RmlsExtension GetNewRMLsExtension( string RML_Guid)
+
+ private RmlsExtension GetNewRMLsExtension(string RML_Guid)
{
RmlsExtension rml_extention = new RmlsExtension();
rml_extention.Created = DateTime.UtcNow;
@@ -916,7 +936,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
return rml_extention;
}
-
+
private async void LoadActiveRMLExtension(String guid)
{
using (_notification.PushTaskItem("Loading RML Extension..."))
@@ -946,7 +966,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
.WithUser()
.BuildAsync();
- ActiveRML = new RmlBuilder(_active_context)
+ ActiveRML = new RmlBuilder(_active_context)
.Set(SelectedRMLExtension.RMLGuid)
.Build();
@@ -958,11 +978,11 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
}
var machineIdsHasTest = (from c in _active_context.ColorProcessParameters.Where(x => x.RmlsExtensionsGuid == guid)
- select new { MichineGUID = c.MachineGuid }).
- Union (from p in _active_context.RmlExtensionTestResults.Where(x => x.RmlsExtensionsGuid == guid)
- select new { MichineGUID = p.MachineGuid }).DistinctBy(x => x).ToList();
+ select new { MichineGUID = c.MachineGuid }).
+ Union(from p in _active_context.RmlExtensionTestResults.Where(x => x.RmlsExtensionsGuid == guid)
+ select new { MichineGUID = p.MachineGuid }).DistinctBy(x => x).ToList();
- if(machineIdsHasTest.Count > 0)
+ if (machineIdsHasTest.Count > 0)
{
var MachineGuid = machineIdsHasTest.First().MichineGUID;
Machines.Where(x => machineIdsHasTest.Any(y => y.MichineGUID == x.Guid)).ToList().ForEach(x => x.HasRMLTest = true);
@@ -971,7 +991,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
else
{
var settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>();
- if(settings.LastVirtualMachineSerialNumber != null)
+ if (settings.LastVirtualMachineSerialNumber != null)
{
SelectedMachine = Machines.SingleOrDefault(x => x.SerialNumber == settings.LastVirtualMachineSerialNumber);
}
@@ -980,10 +1000,10 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
SelectedMachine = Machines.First();
}
}
-
+
ColorParametersVewVM = new ColorParametersVewVM(_notification, _actionLogManager);
ColorParametersVewVM.RMLExtemtionGUID = guid;
- ColorParametersVewVM.SelectedMachineGUID = SelectedMachine != null ? SelectedMachine.Guid : null ;
+ ColorParametersVewVM.SelectedMachineGUID = SelectedMachine != null ? SelectedMachine.Guid : null;
ColorParametersVewVM.RMLGUID = ActiveRML.Guid;
TestResultsViewVM = new TestResultsViewVM(_notification, _actionLogManager);
@@ -991,7 +1011,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
TestResultsViewVM.RMLGUID = ActiveRML.Guid;
TestResultsViewVM.SelectedMachineGUID = SelectedMachine != null ? SelectedMachine.Guid : null;
TestResultsViewVM.ThreadName = ActiveRML.Manufacturer;
-
+
if (ActiveRMLExtension.RMLStatus == RMLExtensionStatus.New)
{
ColorParametersVewVM.SaveColorParameters -= UpdateStatus;
@@ -1017,13 +1037,13 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
}
}
}
-
+
private async void RefreshView(String guid, String rmlGuid)
{
try
{
IsFree = false;
-
+
LoadRmlProperties();
ActiveRML = ActiveRML = await new RmlBuilder(_active_context)
.Set(rmlGuid)
@@ -1032,7 +1052,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
.Set(guid)
.WithUser()
.BuildAsync();
-
+
InvalidateRelayCommands();
IsFree = true;
@@ -1078,10 +1098,10 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
private void SelectedMachineChanged()
{
- if(ColorParametersVewVM != null)
- {
+ if (ColorParametersVewVM != null)
+ {
ColorParametersVewVM.SelectedMachineGUID = SelectedMachine.Guid;
- }
+ }
}
#endregion
@@ -1099,7 +1119,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
{
using (_notification.PushTaskItem("Saving RML Extension..."))
{
- if(ActiveRMLExtension.RMLStatus == RMLExtensionStatus.New)
+ if (ActiveRMLExtension.RMLStatus == RMLExtensionStatus.New)
{
ActiveRMLExtension.RMLStatus = RMLExtensionStatus.InProgress;
ColorParametersVewVM.SaveColorParameters -= UpdateStatus;
@@ -1108,11 +1128,11 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels
ActiveRMLExtension.LastUpdated = DateTime.UtcNow;
ActiveRML.LastUpdated = DateTime.UtcNow;
-
+
await _active_context.SaveChangesAsync();
// _actionLogManager.InsertLog(BL.Enumerations.ActionLogType.RmlSaved, _authentication.CurrentUser, _rmlBeforeSave.Name, _rmlBeforeSave, rmlAfter, "RML saved using Machine Studio.");
-
+
RefreshView(ActiveRMLExtension.Guid, ActiveRML.Guid);
}
}