Correzioni e migliorie comunicazione tra ottimizzatore e supervisore

This commit is contained in:
Emmanuele Sassi
2021-08-31 09:22:21 +02:00
parent eba6d775f5
commit d6b3ebf0ae
30 changed files with 506 additions and 189 deletions
@@ -24,25 +24,28 @@ Public Class ViewerOptimizerComm
Dim MachGroupList As List(Of StatusMapModel) = DbControllers.m_StatusMapController.GetFrom(Map.refSupervisorManagerVM.CurrProd.nModificationIndex + 1)
Dim bReloadFile As Boolean = False
For Each MachGroupModification In MachGroupList
Select Case MachGroupModification.Operation
Case Core.StatusMapOpType.MachGroupAdd
Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupFullList.Add(MachGroupModification.ItemId, {MachGroupModification.Index, MachGroupModification.Index})
Case Core.StatusMapOpType.MachGroupMod
Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupFullList(MachGroupModification.ItemId)(0) = MachGroupModification.Index
Case Core.StatusMapOpType.MachGroupRem
Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupFullList.Remove(MachGroupModification.ItemId)
Case Core.StatusMapOpType.MachGroupAssignedToSupervisor
Dim MachgroupIndexes As Integer() = Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupFullList(MachGroupModification.ItemId)
' se indice di aggiornamento file diverso da indice ultima modifica
If MachgroupIndexes(0) <> MachgroupIndexes(1) Then
' devo ricaricare il file
bReloadFile = True
' ricarico il progetto
Map.refProjectVM.SupervisorMachGroupPanelVM.ReloadProjectFile()
End If
' lo aggiungo alla lista di MachGroup
' Map.refProjectVM.SupervisorMachGroupPanelVM.AddMachGroupToSupervisor(Map.refProjectVM.ProdMachGroupPanelVM.MachGroupVMList.FirstOrDefault(Function(x) x.Id = MachGroupModification.ItemId))
End Select
If MachGroupModification.ItemType = Core.StatusMapItemType.MachGroup Then
Select Case MachGroupModification.Operation
Case Core.StatusMapOpType.MachGroupAdd
Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupFullList.Add(MachGroupModification.ItemId, {MachGroupModification.Index, MachGroupModification.Index})
Case Core.StatusMapOpType.MachGroupMod
Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupFullList(MachGroupModification.ItemId)(0) = MachGroupModification.Index
Case Core.StatusMapOpType.MachGroupRem
Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupFullList.Remove(MachGroupModification.ItemId)
Case Core.StatusMapOpType.MachGroupAssignedToSupervisor
Dim MachgroupIndexes As Integer() = Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupFullList(MachGroupModification.ItemId)
' se indice di aggiornamento file diverso da indice ultima modifica
If MachgroupIndexes(0) <> MachgroupIndexes(1) Then
' devo ricaricare il file
bReloadFile = True
' ricarico il progetto
Map.refProjectVM.SupervisorMachGroupPanelVM.ReloadProjectFile()
Else
' lo aggiungo alla lista di MachGroup
Map.refProjectVM.SupervisorMachGroupPanelVM.AddMachGroupToSupervisor(Map.refProjectVM.ProdMachGroupPanelVM.MachGroupVMList.FirstOrDefault(Function(x) x.Id = MachGroupModification.ItemId))
End If
End Select
End If
Next
' se devo ricaricare il file
If bReloadFile Then