Correzione controller
Aggiunta gestione del passaggio da prod a proj con scelta di questultimo
This commit is contained in:
@@ -54,7 +54,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
|
||||
protected List<int> ProjIdByProd(int ProdId)
|
||||
{
|
||||
return DbManager.obj.ProjCtr.GetByProdAsc(ProdId).Select(y => y.ProjId).ToList();
|
||||
return DbManager.obj.ProjCtr.GetByProdAsc(ProdId).Select(y => y.nProjId).ToList();
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
@@ -84,7 +84,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
.FirstOrDefault();
|
||||
|
||||
// lo aggiorno
|
||||
currProj.ProjDbId = currProd.ProdDbId;
|
||||
currProj.ProdDbId = currProd.ProdDbId;
|
||||
currProj.Locked = true;
|
||||
|
||||
// salvo
|
||||
|
||||
@@ -145,12 +145,12 @@ Public Class OpenProjectFileDialogVM
|
||||
Private m_cmdProjectDoubleClick As ICommand
|
||||
Private m_cmdDelete As ICommand
|
||||
|
||||
Public Function Init(ProjectType As ProjectType, Optional ProjectList As List(Of ProjectFileVM) = Nothing) As Boolean?
|
||||
Public Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing) As Boolean?
|
||||
m_ProjectType = ProjectType
|
||||
' carico colonne
|
||||
LoadColumns(ProjectType)
|
||||
' carico lista progetti
|
||||
If IsNothing(ProjectList) OrElse ProjectList.Count = 0 Then
|
||||
If IsNothing(CurrProjectList) OrElse CurrProjectList.Count = 0 Then
|
||||
' leggo da db
|
||||
If ProjectType = ProjectType.PROJ Then
|
||||
Dim DbProjectList As New List(Of ProjFileM)
|
||||
@@ -166,7 +166,8 @@ Public Class OpenProjectFileDialogVM
|
||||
Next
|
||||
End If
|
||||
Else
|
||||
m_ProjectList = New ObservableCollection(Of ProjectFileVM)(ProjectList)
|
||||
m_ProjectList = New ObservableCollection(Of ProjectFileVM)(CurrProjectList)
|
||||
NotifyPropertyChanged(NameOf(ProjectList))
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
@@ -136,11 +136,11 @@ Public Class ProdManagerVM
|
||||
Dim OpenProjectFileDialogVM As OpenProjectFileDialogVM = Nothing
|
||||
' apro dialogo di scelta file
|
||||
OpenProjectFileDialogVM = New OpenProjectFileDialogVM
|
||||
Dim OpenFile As New OpenProjectFileDialogV(Application.Current.MainWindow, OpenProjectFileDialogVM)
|
||||
Dim DialogResult As Boolean? = OpenFile.EgtShowDialog(ProjectType.PROD)
|
||||
If IsNothing(DialogResult) OrElse Not DialogResult Then Return
|
||||
sFilePath = OpenProjectFileDialogVM.SelProject.sProdPath
|
||||
TempCurrProd = OpenProjectFileDialogVM.SelProject
|
||||
Dim OpenFile As New OpenProjectFileDialogV(Application.Current.MainWindow, OpenProjectFileDialogVM)
|
||||
Dim DialogResult As Boolean? = OpenFile.EgtShowDialog(ProjectType.PROD)
|
||||
If IsNothing(DialogResult) OrElse Not DialogResult Then Return
|
||||
sFilePath = OpenProjectFileDialogVM.SelProject.sProdPath
|
||||
TempCurrProd = OpenProjectFileDialogVM.SelProject
|
||||
If File.Exists(sFilePath) Then
|
||||
If Map.refSceneHostVM.MainController.OpenProject(sFilePath, False) Then
|
||||
m_CurrProd = TempCurrProd
|
||||
@@ -181,7 +181,7 @@ Public Class ProdManagerVM
|
||||
Map.refSceneHostVM.SaveProject()
|
||||
Map.refMainWindowVM.UpdateTitle()
|
||||
Dim MyMachGroupList As New List(Of MyMachGroupM)
|
||||
If Not IsNothing( Map.refProjectVM.MachGroupPanelVM) Then
|
||||
If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
|
||||
For Each MachGroup In Map.refProjectVM.MachGroupPanelVM.m_MyMachGroupPanelM.MachGroupMList
|
||||
MyMachGroupList.Add(MachGroup)
|
||||
Next
|
||||
@@ -216,14 +216,32 @@ Public Class ProdManagerVM
|
||||
''' Execute the Open. This method is invoked by the OpenCommand.
|
||||
''' </summary>
|
||||
Friend Sub GoToProj()
|
||||
' recupero Proj associato da Db
|
||||
Dim DbProjList As List(Of DataLayer.DatabaseModels.ProjModel) = DbControllers.m_ProjController.GetByProdAsc(m_CurrProd.nProdId)
|
||||
' recupero Proj associati da Db
|
||||
Dim ProjFileMList As List(Of ProjFileM) = DbControllers.m_ProjController.GetByProdAsc(m_CurrProd.nProdId)
|
||||
Dim nProjId As Integer = 0
|
||||
If Not IsNothing(DbProjList) AndAlso DbProjList.Count > 0 AndAlso DbProjList(0).ProjId > 0 Then
|
||||
nProjId = DbProjList(0).ProjId
|
||||
End If
|
||||
' verifico se salvare progetto corrente
|
||||
If Not ProdFileVM.VerifyProjectModification(Map.refProdManagerVM.CurrProd) Then Return
|
||||
' se piu' di uno
|
||||
If IsNothing(ProjFileMList) Then
|
||||
Return
|
||||
ElseIf ProjFileMList.Count = 1 AndAlso ProjFileMList(0).nProjId > 0 Then
|
||||
nProjId = ProjFileMList(0).nProjId
|
||||
ElseIf ProjFileMList.Count > 1 Then
|
||||
Dim ProjFileVMList As New List(Of ProjectFileVM)
|
||||
For Each Project In ProjFileMList
|
||||
ProjFileVMList.Add(New ProjFileVM(Project))
|
||||
Next
|
||||
' apro finestra di scelta
|
||||
Dim OpenProjectFileDialogVM As New OpenProjectFileDialogVM
|
||||
Dim ChooseProjFileDialog As New OpenProjectFileDialogV(Application.Current.MainWindow, OpenProjectFileDialogVM)
|
||||
Dim DialogResult As Boolean? = ChooseProjFileDialog.EgtShowDialog(ProjectType.PROJ, ProjFileVMList)
|
||||
If IsNothing(DialogResult) OrElse Not DialogResult Then Return
|
||||
' se proj selezionato
|
||||
If Not IsNothing(OpenProjectFileDialogVM.SelProject.nProdId) AndAlso OpenProjectFileDialogVM.SelProject.nProdId > 0 Then
|
||||
nProjId = OpenProjectFileDialogVM.SelProject.nProjId
|
||||
End If
|
||||
Else Return
|
||||
End If
|
||||
' apro progetto proj
|
||||
Map.refProjManagerVM.SetCurrProj(nProjId)
|
||||
' vado in pagina proj
|
||||
|
||||
@@ -458,45 +458,49 @@ Public Class ProjManagerVM
|
||||
If nProdId > 0 Then
|
||||
Map.refProdManagerVM.SetCurrProd(nProdId)
|
||||
Else
|
||||
' chiedo se aggiungere ad ottimizzazione già presente o creare nuova
|
||||
Select Case MessageBox.Show("Aggiungere ad ottimizzazione già esistente?", "", MessageBoxButton.YesNoCancel, MessageBoxImage.Information)
|
||||
Case MessageBoxResult.No
|
||||
'creo nuova ottimizzazione da progetto corrente
|
||||
NewProdFromProj()
|
||||
Case MessageBoxResult.Yes
|
||||
' chiedo in quale ottimizzazione aggiungere il progetto corrente
|
||||
Dim OpenProjectFileDialogVM As New OpenProjectFileDialogVM
|
||||
Dim ChooseProdFileDialog As New OpenProjectFileDialogV(Application.Current.MainWindow, OpenProjectFileDialogVM)
|
||||
Dim DialogResult As Boolean? = ChooseProdFileDialog.EgtShowDialog(ProjectType.PROD)
|
||||
If IsNothing(DialogResult) OrElse Not DialogResult Then Return
|
||||
' se prod selezionato
|
||||
If Not IsNothing(OpenProjectFileDialogVM.SelProject.nProdId) AndAlso OpenProjectFileDialogVM.SelProject.nProdId > 0 Then
|
||||
Dim nCurrCtx As Integer = EgtGetCurrentContext()
|
||||
Dim nTempCtx As Integer = EgtInitContext()
|
||||
Dim bOk As Boolean = nTempCtx <> 0
|
||||
If bOk Then
|
||||
' inizializzo gestore lavorazioni
|
||||
bOk = EgtInitMachMgr(Map.refMainWindowVM.MainWindowM.sMachinesRoot, Map.refMainWindowVM.MainWindowM.sToolMakersDir)
|
||||
' apro il prod
|
||||
bOk = bOk AndAlso EgtOpenFile(OpenProjectFileDialogVM.SelProject.sProdPath)
|
||||
' inserisco proj nel prod selezionato
|
||||
bOk = bOk AndAlso EgtInsertFile(Map.refProjManagerVM.CurrProj.sProjPath)
|
||||
' sposto i pezzi per non averli sovrapposti
|
||||
'creo nuova ottimizzazione da progetto corrente
|
||||
NewProdFromProj()
|
||||
'' chiedo se aggiungere ad ottimizzazione già presente o creare nuova
|
||||
'Select Case MessageBox.Show("Aggiungere ad ottimizzazione già esistente?", "", MessageBoxButton.YesNoCancel, MessageBoxImage.Information)
|
||||
' Case MessageBoxResult.No
|
||||
' 'creo nuova ottimizzazione da progetto corrente
|
||||
' NewProdFromProj()
|
||||
' Case MessageBoxResult.Yes
|
||||
' ' chiedo in quale ottimizzazione aggiungere il progetto corrente
|
||||
' Dim OpenProjectFileDialogVM As New OpenProjectFileDialogVM
|
||||
' Dim ChooseProdFileDialog As New OpenProjectFileDialogV(Application.Current.MainWindow, OpenProjectFileDialogVM)
|
||||
' Dim DialogResult As Boolean? = ChooseProdFileDialog.EgtShowDialog(ProjectType.PROD)
|
||||
' If IsNothing(DialogResult) OrElse Not DialogResult Then Return
|
||||
' ' se prod selezionato
|
||||
' If Not IsNothing(OpenProjectFileDialogVM.SelProject.nProdId) AndAlso OpenProjectFileDialogVM.SelProject.nProdId > 0 Then
|
||||
' Dim nCurrCtx As Integer = EgtGetCurrentContext()
|
||||
' Dim nTempCtx As Integer = EgtInitContext()
|
||||
' Dim bOk As Boolean = nTempCtx <> 0
|
||||
' If bOk Then
|
||||
' ' inizializzo gestore lavorazioni
|
||||
' bOk = EgtInitMachMgr(Map.refMainWindowVM.MainWindowM.sMachinesRoot, Map.refMainWindowVM.MainWindowM.sToolMakersDir)
|
||||
' ' apro il prod
|
||||
' bOk = bOk AndAlso EgtOpenFile(OpenProjectFileDialogVM.SelProject.sProdPath)
|
||||
' ' inserisco proj nel prod selezionato
|
||||
' bOk = bOk AndAlso EgtInsertFile(Map.refProjManagerVM.CurrProj.sProjPath)
|
||||
' ' sposto i pezzi per non averli sovrapposti
|
||||
|
||||
|
||||
bOk = bOk AndAlso EgtSaveFile(OpenProjectFileDialogVM.SelProject.sProdPath, NGE.CMPTEXT)
|
||||
' torno sul contesto corrente
|
||||
EgtSetCurrentContext(nCurrCtx)
|
||||
EgtDeleteContext(nTempCtx)
|
||||
End If
|
||||
If bOk Then
|
||||
' imposto currprod
|
||||
Map.refProdManagerVM.SetCurrProd(OpenProjectFileDialogVM.SelProject.nProdId)
|
||||
End If
|
||||
End If
|
||||
Case MessageBoxResult.Cancel
|
||||
Return
|
||||
End Select
|
||||
' bOk = bOk AndAlso EgtSaveFile(OpenProjectFileDialogVM.SelProject.sProdPath, NGE.CMPTEXT)
|
||||
' ' torno sul contesto corrente
|
||||
' EgtSetCurrentContext(nCurrCtx)
|
||||
' EgtDeleteContext(nTempCtx)
|
||||
' End If
|
||||
' If bOk Then
|
||||
' ' riporto aggiunta proj a prod su Db
|
||||
' DbControllers.m_ProdController.AddProj(OpenProjectFileDialogVM.SelProject.nProdId, Map.refProjManagerVM.CurrProj.nProjId)
|
||||
' ' imposto currprod
|
||||
' Map.refProdManagerVM.SetCurrProd(OpenProjectFileDialogVM.SelProject.nProdId)
|
||||
' End If
|
||||
' End If
|
||||
' Case MessageBoxResult.Cancel
|
||||
' Return
|
||||
'End Select
|
||||
End If
|
||||
' vado in pagina prod
|
||||
Map.refMainMenuVM.SetSelPage(Pages.MACHINING, False)
|
||||
|
||||
Reference in New Issue
Block a user