Compare commits

..

17 Commits

Author SHA1 Message Date
Demetrio Cassarino a6cd836e0d -aggiornato grafica visualizzazione colonne rotazione, inversione 2024-02-23 14:44:44 +01:00
Demetrio Cassarino fbb0e948b3 -aggiunto controllo su visualizzazione rotazione e inversione su nuova pagina 2024-02-23 11:10:41 +01:00
Demetrio Cassarino 9bb1b49883 -aggiornato nomi macro list 2024-02-23 09:38:34 +01:00
Demetrio Cassarino 5d4bd85f85 -aggiornato nomi variabili macro 2024-02-22 17:46:42 +01:00
Demetrio Cassarino 8169b5298a -pulizia codice
-aggornato lista maco custom
2024-02-22 16:58:17 +01:00
Demetrio Cassarino cfda9196be -aggiunto all'aggiunta di una nova macro, la macro custom
-aggiunta nuove finestre NewMacroFeatureWnd e NewAddFeatureWnd
-ripristinato SpecialPanel per OnlyProdPage
2024-02-20 17:16:51 +01:00
Demetrio Cassarino d5a2a25ade -aggiunto processo Variant 2024-02-13 09:58:35 +01:00
Demetrio Cassarino f6641c858e -cambio nome pagina nuova feature 2024-02-12 16:45:46 +01:00
Demetrio Cassarino 6fe32752e1 -Ottimizzato codice aggiunta nuova macro 2024-02-12 16:44:33 +01:00
Demetrio Cassarino 4fead794f3 - creato nuova pagina aggiungi nuova feature,
-creato macro con relativi template
2024-02-09 17:12:30 +01:00
Demetrio Cassarino 827c955d1d -modifica finestra feature con templete macro 2024-02-01 17:08:34 +01:00
Demetrio Cassarino 8b96a07386 - pulizia codice
- aggoirnato controllo su errore script aggiunta nuovo pezzo
2024-01-31 12:03:54 +01:00
Demetrio Cassarino 3d957138ee -aggiunto controllo su errore esecuzione execbeam
-aggiunto messaggio per rotazione e inversione
2024-01-24 17:22:54 +01:00
Demetrio Cassarino c38f9305c6 -aggiornata funzione addpart 2024-01-24 12:24:58 +01:00
Demetrio Cassarino f34b58a636 -aggiornato controllo newrawpart 2024-01-24 12:10:44 +01:00
Demetrio Cassarino 138499fdf4 -gestito controllo sul proj 2024-01-24 11:40:25 +01:00
Demetrio Cassarino edfe32daed -sistemato controlli funzioni 2024-01-24 10:47:36 +01:00
82 changed files with 1448 additions and 4574 deletions
+7 -6
View File
@@ -316,12 +316,13 @@ Public Class BTLFeatureM
End Function
Public Shared Function CreateBTLFeature(nPRC As Integer, nGRP As Integer, nSIDE As Integer) As BTLFeatureM
Dim NewBTLFeature As New BTLFeatureM
NewBTLFeature.m_nPRC = nPRC
NewBTLFeature.m_nSelGRP = nGRP
NewBTLFeature.m_nSelSIDE = nSIDE
NewBTLFeature.m_nPriority = 0
NewBTLFeature.m_bDO = True
Dim NewBTLFeature As New BTLFeatureM With {
.m_nPRC = nPRC,
.m_nSelGRP = nGRP,
.m_nSelSIDE = nSIDE,
.m_nPriority = 0,
.m_bDO = True
}
' crea parametri per questa feature da file ini
NewBTLFeature.CreateFeatureParams(NewBTLFeature)
Return NewBTLFeature
-2
View File
@@ -144,8 +144,6 @@
Public Const BTL_PRT_INVERTED As String = "INVERTED"
Public Const BTL_PRT_MATERIAL As String = "MATERIAL"
Public Const BTL_PRT_VOLUME As String = "VOLUME"
Public Const BTL_PRT_ROT As String = "ROT"
Public Const BTL_PRT_FLIP As String = "FLIP"
' parametri pezzo
Public Const BTL_PRT_SINGLEMEMBERNUM = "SINGLEMEMBERNUMBER"
Public Const BTL_PRT_ASSEMBLYNUM = "ASSEMBLYNUMBER"
+5 -18
View File
@@ -1,27 +1,11 @@
Public Module ConstColumns
Public Const COL_ID As String = "colID"
Public Const COL_DO As String = "colDO"
Public Const COL_VALUE As String = "colVALUE"
Public Const COL_CUSTOM As String = "colCUSTOM"
Public Const COL_NAME As String = "colNAME"
Public Const COL_CALC As String = "colCALC"
Public Const COL_PDN As String = "colPDN"
Public Const COL_STARTCUT As String = "colSTARTCUT"
Public Const COL_W As String = "colW"
Public Const COL_H As String = "colH"
Public Const COL_L As String = "colL"
Public Const COL_CNT As String = "colCNT"
Public Const COL_ADDED As String = "colADDED"
Public Const COL_INPROD As String = "colINPROD"
Public Const COL_DONE As String = "colDONE"
Public Const COL_MATERIAL As String = "colMATERIAL"
Public Const COL_UNITVOLUME As String = "colUNITVOLUME"
Public Const COL_TOTVOLUME As String = "colTOTVOLUME"
Public Const COL_UNITTIME As String = "colUNITTIME"
Public Const COL_TOTTIME As String = "colTOTTIME"
Public Const COL_USAGE As String = "colUSAGE"
Public Const COL_WASTE As String = "colWASTE"
Public Const COL_POSZ As String = "colPOSZ"
Public Const COL_ROT As String = "colROT"
Public Const COL_FLIP As String = "colFLIP"
@@ -31,10 +15,13 @@
Public Const COL_REDO As String = "colREDO"
Public Const COL_TYPE As String = "colTYPE"
Public Const COL_DESCRIPTION As String = "colDESCRIPTION"
Public Const COL_DESC As String = "colDESC"
Public Const COL_SUPERVISORID As String = "colSUPERVISORID"
Public Const COL_PRIORITY As String = "colPRIORITY"
Public Const COL_QTY As String = "colQTY"
Public Const COL_NAME As String = "colNAME"
Public Const COL_H As String = "colH"
Public Const COL_MATERIAL As String = "colMATERIAL"
Public Const COL_USAGE As String = "colUSAGE"
Public Const COL_WASTE As String = "colWASTE"
Public Const COL_ARCHIVED As String = "colARCHIVED"
End Module
@@ -19,7 +19,6 @@
Public Const S_PARTLIST As String = "DG_PartList"
Public Const S_FEATUREINPARTINRAWPARTLIST As String = "DG_FeatureInPartInRawPartList"
Public Const S_STATISTICS As String = "DG_Statistics"
Public Const S_STATISTICS_PART As String = "DG_Statistics_PART"
Public Const S_OPTIMIZERSTATISTICS As String = "DG_OptimizerStatistics"
Public Const S_RAWPARTSTATISTICS As String = "DG_RawPartStatistics"
Public Const S_BEAMMACHININGS As String = "DG_BeamMachinings"
+3 -1
View File
@@ -68,7 +68,9 @@ Public Module ConstGen
' Sottodirettorio per Csv automatico
Public Const PRODS_DIR As String = "Prods"
' Sottodirettorio per Macro
Public Const MACRO_DIR As String = "Macro"
Public Const MACRODEFAULT_DIR As String = "MacroDefault"
' Sottodirettorio per MacroCustom
Public Const MACROCUSTOM_DIR As String = "MacroCustom"
' Sottodirettorio per Magazzino
Public Const WAREHOUSE_DIR As String = "Warehouse"
' Sottodirettorio per lavorazioni travi
-6
View File
@@ -97,7 +97,6 @@ Public Module ConstIni
Public Const S_IMPORT As String = "Import"
Public Const K_BTLFLAG As String = "BtlFlag"
Public Const K_WALLBTLFLAG As String = "WallBtlFlag"
Public Const K_BTLAUXDIR As String = "BtlAuxDir"
Public Const K_WALLOPPOSITESIDENESTING As String = "WallOppositeSideNesting"
'Public Const S_MACH As String = "Mach"
@@ -164,11 +163,6 @@ Public Module ConstIni
Public Const K_TYPE As String = "Type"
Public Const K_DEFAULTQUANTITY As String = "DefaultQuantity"
Public Const S_SECTION As String = "Section_Checked"
Public Const S_IMAGE As String = "Image_Checked"
Public Const S_PDFEDITOR As String = "PDFEditor"
Public Const S_BACKUPANDRESTORE As String = "Backup&Restore"
Public Const K_EXTERNALBACKUPACTIVE As String = "ExternalBackupActive"
Public Const K_EXTERNALFILEPATH As String = "ExternalFilePath"
-1
View File
@@ -136,7 +136,6 @@
</Compile>
<Compile Include="NewOpenProjectFileDialog\NewOpenProjectFileDialogVM.vb" />
<Compile Include="Utility\Configuration.vb" />
<Compile Include="ProjectFileVM\ProdItem.vb" />
<Compile Include="Utility\DimensionsIniFile.vb" />
<Compile Include="Utility\Enum.vb" />
<Compile Include="MachGroupPanel\MyMachGroupPanelVM.vb" />
@@ -4,6 +4,9 @@ Imports System.ComponentModel
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Controls.Primitives
Imports System.Windows.Input
Imports System.Windows.Media
Imports EgtUILib
Imports EgtWPFLib5
@@ -367,23 +370,9 @@ Public Class EgtDataGrid
End Class
Public Class EgtDataGridColumn
Inherits VMBase
Private m_dgColumn As DataGridColumn
'Check Box per le singole colonne
Private m_bIsCheched As Boolean
Public Property bIsChecked As Boolean
Get
Return m_bIsCheched
End Get
Set(value As Boolean)
m_bIsCheched = value
NotifyPropertyChanged(NameOf(bIsChecked))
WriteMainPrivateProfileString(S_PDFEDITOR, m_Name, If(m_bIsCheched, 1, 0))
End Set
End Property
Private Property m_ParentDataGridName As String
Public Property ParentDataGridName As String
Get
@@ -585,7 +574,6 @@ Public Class EgtDataGridColumn
m_Visible = bVisible
m_CanUserEditVisible = bCanUserEditVisible
m_SortDirection = nSortDirection
m_bIsCheched = GetMainPrivateProfileInt(S_PDFEDITOR, m_Name, 0) <> 0
End Sub
Friend Sub InitColumn(dgColumn As DataGridColumn)
+2 -4
View File
@@ -482,8 +482,8 @@ Public Class PartM
EgtGetInfo(nPartId, BTL_PRT_GROUP, NewPartM.m_sGROUP)
EgtGetInfo(nPartId, BTL_PRT_STOREY, NewPartM.m_sSTOREY)
EgtGetInfo(nPartId, BTL_PRT_MATERIAL, NewPartM.m_sMATERIAL)
EgtGetInfo(nPartId, BTL_PRT_ROT, NewPartM.m_dROT)
EgtGetInfo(nPartId, BTL_PRT_FLIP, NewPartM.m_nFLIP)
EgtGetInfo(nPartId, MGR_PRT_ROT, NewPartM.m_dROT)
EgtGetInfo(nPartId, MGR_PRT_FLIP, NewPartM.m_nFLIP)
Dim nTemp As Integer = 0
If Not EgtGetInfo(nPartId, BTL_PRT_ROTATED, nTemp) Then
nTemp = 0
@@ -516,8 +516,6 @@ Public Class PartM
' leggo PosX, PosY, Rot e Flip
EgtGetInfo(nPartId, MGR_PRT_POSX, NewPartM.m_dPOSX)
EgtGetInfo(nPartId, MGR_PRT_POSY, NewPartM.m_dPOSY)
EgtGetInfo(nPartId, MGR_PRT_ROT, NewPartM.m_dROT)
EgtGetInfo(nPartId, MGR_PRT_FLIP, NewPartM.m_nFLIP)
End If
' leggo volume
If Not EgtGetInfo(nPartId, BTL_PRT_VOLUME, NewPartM.dVolume) Then
@@ -1,11 +1,9 @@
Imports System.Collections.ObjectModel
Imports System.Collections.Specialized
Imports System.ComponentModel
Imports System.IO
Imports System.Windows
Imports System.Windows.Input
Imports System.Windows.Media
Imports EgtBEAMWALL.Core
Imports EgtUILib
Imports EgtWPFLib5
@@ -779,3 +779,94 @@ Public MustInherit Class NewOpenProjectFileDialogVM
End Class
Public Class ProdItem
Inherits VMBase
Public Shared m_delIsModifiedSetUp As Action(Of Boolean)
Protected m_ProdFileVM As ProdFileVM
Public ReadOnly Property ProdFileVM As ProdFileVM
Get
Return m_ProdFileVM
End Get
End Property
Private m_ProjFileList As New List(Of ProjectFileVM)
Public ReadOnly Property ProjFileList As List(Of ProjectFileVM)
Get
Return m_ProjFileList
End Get
End Property
Public ReadOnly Property sProdId As String
Get
Return If(Not IsNothing(m_ProdFileVM), m_ProdFileVM.sProdId, "")
End Get
End Property
Public Overridable Property sName As String
Get
Return If(Not IsNothing(m_ProdFileVM), m_ProdFileVM.sName, "")
End Get
Set(value As String)
If Not IsNothing(m_ProdFileVM) Then
m_ProdFileVM.sName = value
End If
End Set
End Property
Public ReadOnly Property dtCreateDate As Date
Get
Return If(Not IsNothing(m_ProdFileVM), {m_ProdFileVM.dtCreateDate, m_ProjFileList.Min(Function(x) x.dtCreateDate)}.Min(), m_ProjFileList.Min(Function(x) x.dtCreateDate))
End Get
End Property
Public ReadOnly Property sCreateDate As String
Get
Return dtCreateDate.ToString()
End Get
End Property
Public ReadOnly Property sMachine As String
Get
If Not IsNothing(m_ProdFileVM) Then
Return m_ProdFileVM.sMachine
ElseIf Not IsNothing(m_ProjFileList(0)) Then
Return m_ProjFileList(0).sMachine
Else Return ""
End If
End Get
End Property
Public ReadOnly Property bIsArchived As Boolean
Get
If Not IsNothing(m_ProdFileVM) Then
Return m_ProdFileVM.bIsArchived
ElseIf Not IsNothing(m_ProjFileList(0)) Then
Return m_ProjFileList(0).bIsArchived
Else
Return True
End If
End Get
End Property
Public ReadOnly Property Archived_Visibility As Visibility
Get
Return If(bIsArchived, Visibility.Visible, Visibility.Collapsed)
End Get
End Property
Sub New(ProdFileVM As ProdFileVM, ProjFileVM As ProjFileVM)
m_ProdFileVM = ProdFileVM
m_ProjFileList.Add(ProjFileVM)
End Sub
Sub New(ProjFileVM As ProjFileVM)
m_ProjFileList = New List(Of ProjectFileVM)({ProjFileVM})
End Sub
Sub New(ProdFileVM As ProjectFileVM, ProjFileVMList As List(Of ProjectFileVM))
m_ProdFileVM = ProdFileVM
m_ProjFileList = ProjFileVMList
End Sub
End Class
@@ -42,8 +42,6 @@ Public MustInherit Class OpenProjectFileDialogVM
Friend Event m_CloseWindow(bDialogResult As Boolean)
Protected m_GoToProd As Boolean = False
Protected m_ProjectColumns As New ObservableCollection(Of EgtDataGridColumn)
Public Property ProjectColumns As ObservableCollection(Of EgtDataGridColumn)
Get
@@ -440,7 +438,7 @@ Public MustInherit Class OpenProjectFileDialogVM
#Region "METHODS"
Public MustOverride Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing, Optional GoToProd As Boolean = False) As Boolean?
Public Overridable Sub RefreshProjectList()
Public Overridable Sub RefreshProjectList(Optional GoToProd As Boolean = False)
End Sub
Protected Sub LoadColumns(ProjectType As ProjectType)
@@ -14,13 +14,6 @@ Public Class ProdFileM
m_nProjIdList = value
End Sub
Protected m_ProjMList As List(Of ProjFileM)
Public ReadOnly Property ProjMList As List(Of ProjFileM)
Get
Return m_ProjMList
End Get
End Property
Protected m_sName As String
Public Property sName As String
Get
@@ -67,24 +60,6 @@ Public Class ProdFileM
Return NewProjectFileM
End Function
Public Shared Function CreateProdFileM(nProdId As Integer, nProjIdList As List(Of Integer), dtCreateProjDate As DateTime, sName As String, nType As BWType,
sMachine As String, sLockedBy As String, dtLock As DateTime, bIsActive As Boolean, bIsProduced As Boolean, bIsArchived As Boolean, ProjMList As List(Of ProjFileM)) As ProdFileM
Dim NewProjectFileM As New ProdFileM
NewProjectFileM.m_nProdId = nProdId
NewProjectFileM.m_nProjIdList = nProjIdList
NewProjectFileM.m_dtCreateDate = dtCreateProjDate
NewProjectFileM.m_sName = sName
NewProjectFileM.m_nType = nType
NewProjectFileM.m_sMachine = sMachine
NewProjectFileM.m_sLockedBy = sLockedBy
NewProjectFileM.m_dtLock = dtLock
NewProjectFileM.m_bIsActive = bIsActive
NewProjectFileM.m_bIsProduced = bIsProduced
NewProjectFileM.m_bIsArchived = bIsArchived
NewProjectFileM.m_ProjMList = ProjMList
Return NewProjectFileM
End Function
#End Region ' CONSTRUCTORS
End Class
-119
View File
@@ -1,119 +0,0 @@
Imports EgtWPFLib5
Imports System.Windows
Public Class ProdItem
Inherits VMBase
Public Shared m_delUpdateNameInDb As Action(Of Integer, String)
Public Shared m_delIsModifiedSetUp As Action(Of Boolean)
Protected m_ProdFileVM As ProdFileVM
Public ReadOnly Property ProdFileVM As ProdFileVM
Get
Return m_ProdFileVM
End Get
End Property
Private m_ProjFileList As New List(Of ProjectFileVM)
Public ReadOnly Property ProjFileList As List(Of ProjectFileVM)
Get
Return m_ProjFileList
End Get
End Property
Public ReadOnly Property sProdId As String
Get
Return If(Not IsNothing(m_ProdFileVM), m_ProdFileVM.sProdId, "")
End Get
End Property
Public Overridable Property sName As String
Get
Return If(Not IsNothing(m_ProdFileVM), m_ProdFileVM.sName, "")
End Get
Set(value As String)
If Not IsNothing(m_ProdFileVM) Then
m_delUpdateNameInDb(m_ProdFileVM.nProdId, value)
m_ProdFileVM.sName = value
m_delIsModifiedSetUp(False)
End If
End Set
End Property
Public ReadOnly Property dtCreateDate As Date
Get
Return If(Not IsNothing(m_ProdFileVM), {m_ProdFileVM.dtCreateDate, m_ProjFileList.Min(Function(x) x.dtCreateDate)}.Min(), m_ProjFileList.Min(Function(x) x.dtCreateDate))
End Get
End Property
Public ReadOnly Property sCreateDate As String
Get
Return dtCreateDate.ToString()
End Get
End Property
Public ReadOnly Property sMachine As String
Get
If Not IsNothing(m_ProdFileVM) Then
Return m_ProdFileVM.sMachine
ElseIf Not IsNothing(m_ProjFileList(0)) Then
Return m_ProjFileList(0).sMachine
Else Return ""
End If
End Get
End Property
Public ReadOnly Property bIsArchived As Boolean
Get
If Not IsNothing(m_ProdFileVM) Then
Return m_ProdFileVM.bIsArchived
ElseIf Not IsNothing(m_ProjFileList(0)) Then
Return m_ProjFileList(0).bIsArchived
Else
Return True
End If
End Get
End Property
Public ReadOnly Property Archived_Visibility As Visibility
Get
Return If(bIsArchived, Visibility.Visible, Visibility.Collapsed)
End Get
End Property
Sub New(ProdFileVM As ProdFileVM, ProjFileVM As ProjFileVM)
m_ProdFileVM = ProdFileVM
m_ProjFileList.Add(ProjFileVM)
End Sub
Sub New(ProjFileVM As ProjFileVM)
m_ProjFileList = New List(Of ProjectFileVM)({ProjFileVM})
End Sub
Sub New(ProdFileVM As ProjectFileVM, ProjFileVMList As List(Of ProjectFileVM))
m_ProdFileVM = ProdFileVM
m_ProjFileList = ProjFileVMList
End Sub
Public Shared Function CreateProdItem(nProdId As Integer, nProjIdList As List(Of Integer), dtCreateProjDate As DateTime, sName As String, nType As BWType,
sMachine As String, sLockedBy As String, dtLock As DateTime, bIsActive As Boolean, bIsProduced As Boolean, bIsArchived As Boolean, ProjMList As List(Of ProjFileM)) As ProdItem
Dim NewProdFileM = ProdFileM.CreateProdFileM(nProdId, nProjIdList, dtCreateProjDate, sName, nType, sMachine, sLockedBy, dtLock, bIsActive, bIsProduced, bIsArchived)
Dim NewProdFileVM = New ProdFileVM(NewProdFileM)
Dim NewProjFileVM As IEnumerable(Of ProjectFileVM)
NewProjFileVM = ProjMList.Select(Of ProjFileVM)(Function(j) New ProjFileVM(j)).ToList
Dim NewProdItem = New ProdItem(NewProdFileVM, NewProjFileVM.ToList)
Return NewProdItem
End Function
Public Shared Function CreateProdItem(ProjFileM As ProjFileM) As ProdItem
Dim NewProdItem = New ProdItem(New ProjFileVM(ProjFileM))
Return NewProdItem
End Function
End Class
@@ -2,7 +2,6 @@
using NLog;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using static EgtBEAMWALL.Core.ConstBeam;
@@ -209,11 +208,11 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Elenco prod
/// </summary>
/// <param name="NumRecord">Num max record da recuperare</param>
/// <param name="numRecord">Num max record da recuperare</param>
/// <param name="OnlyActive">Solo con ALMENO 1 PROJ attivo (senza cancellazione logica)</param>
/// <param name="ShowArchived">Se true: mostra anche archiviati (default li nasconde)</param>
/// <returns></returns>
public List<Core.ProdFileM> GetLastDesc(int NumRecord, bool OnlyActive, bool ShowArchived = false)
public List<Core.ProdFileM> GetLastDesc(int numRecord, bool OnlyActive, bool ShowArchived = false)
{
List<Core.ProdFileM> result = new List<Core.ProdFileM>();
//List<ProdModel> dbResult = GetLastDbModelDesc(numRecord);
@@ -221,9 +220,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
{
// se numRecord = 0 --> passo tutti
if (NumRecord == 0)
if (numRecord == 0)
{
NumRecord = localDbCtx.ProdList.Count();
numRecord = localDbCtx.ProdList.Count();
}
// retrieve
dbResult = localDbCtx
@@ -236,7 +235,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
(p, e) => p)
.Distinct()
.OrderByDescending(x => x.ProdId)
.Take(NumRecord)
.Take(numRecord)
.ToList();
}
@@ -248,13 +247,13 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Elenco prod
/// </summary>
/// <param name="DtStart">Inizio periodo estrazione</param>
/// <param name="DtEnd">Fine periodo estrazione</param>
/// <param name="NumRecord">Num max record da recuperare</param>
/// <param name="dtStart">Inizio periodo estrazione</param>
/// <param name="dtEnd">Fine periodo estrazione</param>
/// <param name="numRecord">Num max record da recuperare</param>
/// <param name="OnlyActive">Solo con ALMENO 1 PROJ attivo (senza cancellazione logica)</param>
/// <param name="ShowArchived">Se true: mostra anche archiviati (default li nasconde)</param>
/// <returns></returns>
public List<Core.ProdFileM> GetLastDesc(DateTime DtStart, DateTime DtEnd, int NumRecord, bool OnlyActive, bool ShowArchived = false)
public List<Core.ProdFileM> GetLastDesc(DateTime dtStart, DateTime dtEnd, int numRecord, bool OnlyActive, bool ShowArchived = false)
{
List<Core.ProdFileM> result = new List<Core.ProdFileM>();
//List<ProdModel> dbResult = GetLastDbModelDesc(numRecord);
@@ -262,14 +261,14 @@ namespace EgtBEAMWALL.DataLayer.Controllers
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
{
// se numRecord = 0 --> passo tutti
if (NumRecord == 0)
if (numRecord == 0)
{
NumRecord = localDbCtx.ProdList.Count();
numRecord = localDbCtx.ProdList.Count();
}
// retrieve
dbResult = localDbCtx
.ProdList
.Where(x => x.DtCreated >= DtStart && x.DtCreated <= DtEnd && (!x.IsArchived || ShowArchived))
.Where(x => x.DtCreated >= dtStart && x.DtCreated <= dtEnd && (!x.IsArchived || ShowArchived))
// condizione join sui PROJ
.Join(localDbCtx.ProjList.Where(x => x.IsActive || !OnlyActive),
p => p.ProdDbId,
@@ -277,7 +276,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
(p, e) => p)
.Distinct()
.OrderByDescending(x => x.ProdId)
.Take(NumRecord)
.Take(numRecord)
.ToList();
}
@@ -286,183 +285,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
return result;
}
/// <summary>
/// Elenco prod
/// </summary>
/// <param name="NumRecord">Num max record da recuperare</param>
/// <param name="OnlyActive">Solo con ALMENO 1 PROJ attivo (senza cancellazione logica)</param>
/// <param name="ShowArchived">Se true: mostra anche archiviati (default li nasconde)</param>
/// <returns></returns>
public List<Core.ProdItem> GetLastDescFull(int NumRecord, bool OnlyActive, bool ShowArchived = false)
{
List<Core.ProdItem> result = new List<Core.ProdItem>();
// elenco prod completi
List<ProdModel> dbResultProd = new List<ProdModel>();
// elenco proj "orfani"
List<ProjModel> dbResultProj = new List<ProjModel>();
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
{
// se numRecord = 0 --> passo tutti
if (NumRecord == 0)
{
NumRecord = localDbCtx.ProdList.Count();
}
// recupero PROD + proj relativi
dbResultProd = localDbCtx
.ProdList
.Where(x => (!x.IsArchived || ShowArchived))
//.Include(j => j.)
// condizione join sui PROJ
.Join(localDbCtx.ProjList.Where(x => x.IsActive || !OnlyActive),
p => p.ProdDbId,
e => e.ProdDbId,
(p, e) => p)
.Distinct()
.Include(j => j.ProjListNav)
.OrderByDescending(x => x.ProdId)
.Take(NumRecord)
.ToList();
// recupero i proj "orfani"
dbResultProj = localDbCtx
.ProjList
.Where(x => (x.IsActive || !OnlyActive) && x.Prod == null)
.OrderByDescending(x => x.ProjId)
.Take(NumRecord)
.ToList();
}
// conversione
result = dbResultProd.Select(x => coreItemConv(x)).ToList();
var resProj = dbResultProj.Select(x => coreItemConv(x)).ToList();
// sommo i risultati
result.AddRange(resProj);
return result;
}
/// <summary>
/// Elenco prod
/// </summary>
/// <param name="DtStart">Inizio periodo estrazione</param>
/// <param name="DtEnd">Fine periodo estrazione</param>
/// <param name="NumRecord">Num max record da recuperare</param>
/// <param name="OnlyActive">Solo con ALMENO 1 PROJ attivo (senza cancellazione logica)</param>
/// <param name="ShowArchived">Se true: mostra anche archiviati (default li nasconde)</param>
/// <returns></returns>
public List<Core.ProdItem> GetLastDescFull(DateTime DtStart, DateTime DtEnd, int NumRecord, bool OnlyActive, bool ShowArchived = false)
{
List<Core.ProdItem> result = new List<Core.ProdItem>();
// elenco prod completi
List<ProdModel> dbResultProd = new List<ProdModel>();
// elenco proj "orfani"
List<ProjModel> dbResultProj = new List<ProjModel>();
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
{
// se numRecord = 0 --> passo tutti
if (NumRecord == 0)
{
NumRecord = localDbCtx.ProdList.Count();
}
// retrieve
dbResultProd = localDbCtx
.ProdList
.Where(x => x.DtCreated >= DtStart && x.DtCreated <= DtEnd && (!x.IsArchived || ShowArchived))
// condizione join sui PROJ
.Join(localDbCtx.ProjList.Where(x => x.IsActive || !OnlyActive),
p => p.ProdDbId,
e => e.ProdDbId,
(p, e) => p)
.Distinct()
.Include(j => j.ProjListNav)
.OrderByDescending(x => x.ProdId)
.Take(NumRecord)
.ToList();
// recupero i proj "orfani"
dbResultProj = localDbCtx
.ProjList
.Where(x => (x.IsActive || !OnlyActive) && x.Prod == null && (x.DtCreated >= DtStart && x.DtCreated <= DtEnd))
.OrderByDescending(x => x.ProjId)
.Take(NumRecord)
.ToList();
}
// conversione
result = dbResultProd.Select(x => coreItemConv(x)).ToList();
var resProj = dbResultProj.Select(x => coreItemConv(x)).ToList();
// sommo i risultati
result.AddRange(resProj);
return result;
}
/// <summary>
/// Elenco prod
/// </summary>
/// <param name="DtStart">Inizio periodo estrazione</param>
/// <param name="DtEnd">Fine periodo estrazione</param>
/// <param name="DtIsCreation">Ture: usa data creazione / False: usa data export</param>
/// <param name="NumRecord">Num max record da recuperare</param>
/// <param name="OnlyActive">Solo con ALMENO 1 PROJ attivo (senza cancellazione logica)</param>
/// <param name="Machine">Nome Macchina (default vuoto = non usato)</param>
/// <param name="BtlFileName">Nome file BTL (default vuoto = non usato)</param>
/// <param name="ListName">Nome List (default vuoto = non usato)</param>
/// <param name="ShowArchived">Se true: mostra anche archiviati (default li nasconde)</param>
/// <returns></returns>
public List<Core.ProdItem> GetLastDescFull(DateTime DtStart, DateTime DtEnd, bool DtIsCreation, int NumRecord, bool OnlyActive, string Machine = "", string BtlFileName = "", string ListName = "", bool ShowArchived = false)
{
List<Core.ProdItem> result = new List<Core.ProdItem>();
List<ProdModel> dbResultProd = new List<ProdModel>();
// elenco proj "orfani"
List<ProjModel> dbResultProj = new List<ProjModel>();
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
{
// se numRecord = 0 --> passo tutti
if (NumRecord == 0)
{
NumRecord = localDbCtx.ProdList.Count();
}
// retrieve
dbResultProd = localDbCtx
.ProdList
.Where(x => (!x.IsArchived || ShowArchived))
// condizione join sui PROJ
.Join(localDbCtx.ProjList.Where(x =>
(x.IsActive || !OnlyActive)
&& (string.IsNullOrEmpty(Machine) || x.Machine.ToLower().Contains(Machine.ToLower()))
&& (string.IsNullOrEmpty(BtlFileName) || x.BTLFileName.ToLower().Contains( BtlFileName.ToLower()))
&& (string.IsNullOrEmpty(ListName) || x.ListName.ToLower().Contains(ListName.ToLower()))
&& ((DtIsCreation && (x.DtCreated >= DtStart && x.DtCreated <= DtEnd)) || (!DtIsCreation && (x.DtExported >= DtStart && x.DtExported <= DtEnd)))
),
p => p.ProdDbId,
e => e.ProdDbId,
(p, e) => p)
.Distinct()
.Include(j => j.ProjListNav)
.OrderByDescending(x => x.ProdId)
.Take(NumRecord)
.ToList();
// recupero i proj "orfani"
dbResultProj = localDbCtx
.ProjList
.Where(x =>
(x.IsActive || !OnlyActive)
&& x.Prod == null
&& (string.IsNullOrEmpty(Machine) || x.Machine.ToLower().Contains(Machine.ToLower()))
&& (string.IsNullOrEmpty(BtlFileName) || x.BTLFileName.ToLower().Contains(BtlFileName.ToLower()))
&& (string.IsNullOrEmpty(ListName) || x.ListName.ToLower().Contains(ListName.ToLower()))
&& ((DtIsCreation && (x.DtCreated >= DtStart && x.DtCreated <= DtEnd)) || (!DtIsCreation && (x.DtExported >= DtStart && x.DtExported <= DtEnd))))
.OrderByDescending(x => x.ProjId)
.Take(NumRecord)
.ToList();
}
// conversione
result = dbResultProd.Select(x => coreItemConv(x)).ToList();
var resProj = dbResultProj.Select(x => coreItemConv(x)).ToList();
// sommo i risultati
result.AddRange(resProj);
return result;
}
/// <summary>
/// Fornisce nuovo indice VUOTO da usare (allocando sul DB)
/// </summary>
@@ -1088,29 +910,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
protected Core.ProdFileM coreConv(ProdModel currProd)
{
Core.ProdFileM answ = Core.ProdFileM.CreateProdFileM(currProd.ProdId, ProjIdByProd(currProd.ProdId), currProd.DtCreated, currProd.Description, currProd.PType, currProd.Machine, currProd.LockedBy, currProd.LockDate, currProd.IsActive, currProd.IsProduced, currProd.IsArchived);
//Core.ProdFileM answ = Core.ProdFileM.CreateProdFileM(currProd.ProdId, ProjIdByProd(currProd.ProdId), currProd.DtCreated, currProd.Description, currProd.PType, currProd.Machine, currProd.LockedBy, currProd.LockDate, currProd.IsActive, currProd.IsProduced, currProd.IsArchived, currProd.ProjListNav.Select(j => Core.ProjFileM.CreateProjFileM(j.ProjId, currProd.ProdId, j.DtCreated, j.DtExported, j.ListName, j.BTLFileName, j.ProjDescription, j.IsNew, j.Locked, j.PType, j.Machine, j.IsActive, j.IsActive)).ToList());
return answ;
}
/// <summary>
/// Helper conversione modelli verso prodItem
/// </summary>
/// <param name="currProd"></param>
/// <returns></returns>
protected Core.ProdItem coreItemConv(ProdModel currProd)
{
Core.ProdItem answ = Core.ProdItem.CreateProdItem(currProd.ProdId, ProjIdByProd(currProd.ProdId), currProd.DtCreated, currProd.Description, currProd.PType, currProd.Machine, currProd.LockedBy, currProd.LockDate, currProd.IsActive, currProd.IsProduced, currProd.IsArchived, currProd.ProjListNav.Select(j => Core.ProjFileM.CreateProjFileM(j.ProjId, currProd.ProdId, j.DtCreated, j.DtExported, j.ListName, j.BTLFileName, j.ProjDescription, j.IsNew, j.Locked, j.PType, j.Machine, j.IsActive, j.IsActive)).ToList());
return answ;
}
/// <summary>
/// Helper conversione modelli verso prodItem da singolo proj
/// </summary>
/// <param name="currProd"></param>
/// <returns></returns>
protected Core.ProdItem coreItemConv(ProjModel currProj)
{
Core.ProdItem answ = Core.ProdItem.CreateProdItem(Core.ProjFileM.CreateProjFileM(currProj.ProjId, 0, currProj.DtCreated, currProj.DtExported, currProj.ListName, currProj.BTLFileName, currProj.ProjDescription, currProj.IsNew, currProj.Locked, currProj.PType, currProj.Machine, currProj.IsActive, currProj.IsActive));
return answ;
}
@@ -33,8 +33,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
var dbResult = localDbCtx
.ProjList
.Where(x => x.BTLFileName == BTLFileName)
//valutare se usare solo attivi...
//.Where(x => x.BTLFileName == BTLFileName && x.IsActive == true)
.FirstOrDefault();
//se avesse trovato-- > riporto id...
@@ -583,7 +581,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// Update record su DB x elenco BTLParts
/// </summary>
/// <param name="ProjId"></param>
/// <param name="BtlPartList"></param>
/// <param name="newBTLFileName"></param>
/// <returns></returns>
public ProjModel UpdateBtlParts(int ProjId, List<Core.BTLPartM> BtlPartList)
{
@@ -19,11 +19,6 @@ namespace EgtBEAMWALL.DataLayer.DatabaseModels
{
#region Public Properties
public ProdModel()
{
ProjListNav = new HashSet<ProjModel>();
}
/// <summary>
/// Chiave univoca DB
/// </summary>
@@ -103,11 +98,6 @@ namespace EgtBEAMWALL.DataLayer.DatabaseModels
[Column("IsArchived")]
public bool IsArchived { get; set; } = false;
/// <summary>
/// Collezione oggetti Proj associati (almeno 1 by design)
/// </summary>
public virtual ICollection<ProjModel> ProjListNav { get; set; }
#endregion Public Properties
}
}
@@ -11,14 +11,13 @@ Public Class OpenProjectFileDialogVM
Public Overrides Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing, Optional GoToProd As Boolean = False) As Boolean?
m_ProjectType = ProjectType
m_GoToProd = GoToProd
' carico colonne
LoadColumns(m_ProjectType)
NotifyPropertyChanged(NameOf(FilterTypeList))
m_SelFilterType = m_FilterTypeList(0)
' carico lista progetti
If IsNothing(CurrProjectList) OrElse CurrProjectList.Count = 0 Then
RefreshProjectList()
RefreshProjectList(GoToProd)
Else
m_ProjectList = New ObservableCollection(Of ProjectFileVM)(CurrProjectList)
NotifyPropertyChanged(NameOf(ProjectList))
@@ -27,7 +26,7 @@ Public Class OpenProjectFileDialogVM
m_ProjectList_View.Filter = AddressOf ProjectFilter
End Function
Public Overrides Sub RefreshProjectList()
Public Overrides Sub RefreshProjectList(Optional GoToProd As Boolean = False)
m_ProjectList.Clear()
' calcolo periodo e righe
Dim dtStart As DateTime
@@ -27,7 +27,6 @@
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid HorizontalAlignment="Center"
Grid.Row="0"
Margin="0,0,0,5">
@@ -46,13 +45,14 @@
Grid.Column="1"
DisplayMemberPath="ghDesc"
Width="200"
HorizontalAlignment="Left"
Style="{StaticResource FeatureComboBox}"/>
<TextBlock Text="Macro"
Grid.Row="1"
Margin="0,5,0,0"
Style="{StaticResource OptionTextBlock}"/>
<ComboBox ItemsSource="{Binding MacroList}"
SelectedIndex="{Binding nSelMacro}"
<ComboBox ItemsSource="{Binding MacroCustomList}"
SelectedIndex="{Binding nSelMacroCustom}"
Grid.Row="1"
Grid.Column="1"
DisplayMemberPath="Name"
@@ -66,7 +66,6 @@
Height="300"
Width="300"
Margin="5,0,5,5"/>
<!--<StackPanel Orientation="Horizontal"
HorizontalAlignment="Center"
Grid.Row="2"
@@ -84,7 +83,6 @@
<TextBlock Text="{Binding sName}"
Style="{StaticResource OptionTextBlock}"/>
</StackPanel>-->
<Grid Grid.Row="2" Margin="0,0,0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
@@ -94,18 +92,16 @@
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button Content="Ok"
Command="{Binding Ok_Command}"
IsDefault="True"
Grid.Column="1"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
Command="{Binding Ok_Command}"
IsDefault="True"
Grid.Column="1"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
<Button Content="Cancel"
IsCancel="True"
Grid.Column="3"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
IsCancel="True"
Grid.Column="3"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
</Grid>
</Grid>
</Border>
</StackPanel>
</EgtWPFLib5:EgtCustomWindow>
@@ -11,6 +11,7 @@ Public Class AddFeatureWndVM
Friend Event m_CloseWindow(bDialogResult As Boolean)
Friend m_MacroFilePathList As List(Of String)
Friend m_MacroCustomFilePathList As List(Of String)
Private m_PrevSelPRCIndex_L As Integer = 0
Private m_PrevSelPRCIndex_T As Integer = 0
@@ -37,8 +38,8 @@ Public Class AddFeatureWndVM
ElseIf m_SelGRPType = GRPType.T Then
nSelPRC = PRCList(m_PrevSelPRCIndex_T)
End If
NotifyPropertyChanged("PRCList")
NotifyPropertyChanged("nSelPRC")
NotifyPropertyChanged(NameOf(PRCList))
NotifyPropertyChanged(NameOf(nSelPRC))
End Set
End Property
@@ -49,6 +50,36 @@ Public Class AddFeatureWndVM
End Get
End Property
Private m_PRCListView As New List(Of PRC)
Public ReadOnly Property PRCListView As List(Of PRC)
Get
Return m_PRCListView
End Get
End Property
#Region "New Macro OnlyProdPage"
Private m_MacroDefaultList As New ObservableCollection(Of Object)
Public ReadOnly Property MacroDefaultList As ObservableCollection(Of Object)
Get
Return m_MacroDefaultList
End Get
End Property
Private m_nSelMacroDefault As Integer = -1
Public Property nSelMacroDefault As Integer
Get
Return m_nSelMacroDefault
End Get
Set(value As Integer)
If value <> m_nSelMacroDefault Then
m_nSelMacroDefault = value
End If
End Set
End Property
#End Region ' New Macro OnlyProdPage
Private m_nSelPRC As PRC = Nothing
Public Property nSelPRC As PRC
Get
@@ -64,47 +95,31 @@ Public Class AddFeatureWndVM
m_PrevSelPRCIndex_T = PRCList.IndexOf(m_nSelPRC)
End If
End If
NotifyPropertyChanged("sDrawPath")
NotifyPropertyChanged(NameOf(sDrawPath))
' carico eventuali file Macro
MacroList.Clear()
MacroCustomList.Clear()
If Core.Configuration.bOnlyProd Then
MacroDefaultList.Clear()
End If
m_MacroFilePathList = New List(Of String)
m_MacroCustomFilePathList = New List(Of String)
If Not IsNothing(nSelPRC) Then
Dim nGRPFromFileName As Integer = 0
Dim nPRCFromFileName As Integer = 0
Dim sMacroNameFromFileName As String = String.Empty
Dim nIdMacroName As Integer = 0
' ricavo lista file Macro
Dim AllFilesInDir As IEnumerable(Of String) = IO.Directory.EnumerateFiles(Map.refMainWindowVM.MainWindowM.sMacroDir)
For Each File In AllFilesInDir
If Path.GetExtension(File).ToLower() = ".lua" Then
If File.Contains(FILENAMESEPARATOR) Then
Dim FileName As String = Path.GetFileNameWithoutExtension(File)
Dim DataFromFileName As String() = FileName.Split(FILENAMESEPARATOR)
If DataFromFileName.Count = 2 Then
If Not String.IsNullOrEmpty(DataFromFileName(0)) Then
Dim NumbersFromFileName As String() = DataFromFileName(0).Split(".")
Integer.TryParse(NumbersFromFileName(0), nGRPFromFileName)
Integer.TryParse(NumbersFromFileName(1), nPRCFromFileName)
End If
If Not String.IsNullOrEmpty(DataFromFileName(1)) Then
sMacroNameFromFileName = DataFromFileName(1)
End If
If nGRPFromFileName = CalcBeamPrivateProfileGRP(nSelPRC.nGRP) AndAlso nPRCFromFileName = nSelPRC.nPRC Then
MacroList.Add(New IdNameStruct(nIdMacroName, sMacroNameFromFileName))
m_MacroFilePathList.Add(File)
nIdMacroName = nIdMacroName + 1
End If
End If
End If
End If
Next
If MacroList.Count > 0 Then
' ricavo lista file Macro Default
GetMacroListDefault(nGRPFromFileName, nPRCFromFileName, sMacroNameFromFileName, nIdMacroName)
' ricavo lista file Macro Custom
If Core.Configuration.bOnlyProd Then GetMacroListCustom(nGRPFromFileName, nPRCFromFileName, sMacroNameFromFileName, nIdMacroName)
If MacroCustomList.Count > 0 Then
MacroList_IsEnabled = True
Else
MacroList_IsEnabled = False
End If
End If
End If
NotifyPropertyChanged(NameOf(nSelPRC))
End Set
End Property
@@ -116,26 +131,26 @@ Public Class AddFeatureWndVM
Set(value As Boolean)
If value <> m_MacroList_IsEnabled Then
m_MacroList_IsEnabled = value
NotifyPropertyChanged("MacroList_IsEnabled")
NotifyPropertyChanged(NameOf(MacroList_IsEnabled))
End If
End Set
End Property
Private m_MacroList As New ObservableCollection(Of Object)
Public ReadOnly Property MacroList As ObservableCollection(Of Object)
Private m_MacroCustomList As New ObservableCollection(Of Object)
Public ReadOnly Property MacroCustomList As ObservableCollection(Of Object)
Get
Return m_MacroList
Return m_MacroCustomList
End Get
End Property
Private m_nSelMacro As Integer = -1
Public Property nSelMacro As Integer
Private m_nSelMacroCustom As Integer = -1
Public Property nSelMacroCustom As Integer
Get
Return m_nSelMacro
Return m_nSelMacroCustom
End Get
Set(value As Integer)
If value <> m_nSelMacro Then
m_nSelMacro = value
If value <> m_nSelMacroCustom Then
m_nSelMacroCustom = value
End If
End Set
End Property
@@ -157,17 +172,133 @@ Public Class AddFeatureWndVM
' Definizione comandi
Private m_cmdOk As ICommand
#Region "Messages"
Public ReadOnly Property Process_Msg As String
Get
Return EgtMsg(61805).ToUpper()
End Get
End Property
Public ReadOnly Property Default_Msg As String
Get
Return EgtMsg(61899).ToUpper()
End Get
End Property
Public ReadOnly Property Custom_Msg As String
Get
Return EgtMsg(61801).ToUpper()
End Get
End Property
#End Region
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
Sub New()
SelGRPType = 0
nSelPRC = PRCList(0)
If Core.Configuration.bOnlyProd Then
' carico lista process
Dim TempPRCList As New ObservableCollection(Of Integer)
Dim TempPRCLList As New ObservableCollection(Of Integer)
Dim TempPRCLTist As New ObservableCollection(Of Integer)
GetBeamPrivateProfileProcessList(0, TempPRCLList)
GetBeamPrivateProfileProcessList(1, TempPRCLTist)
' riporto le liste process in un unica lista
For Each PRCL In TempPRCLList
TempPRCList.Add(PRCL)
Next
For Each PRCT In TempPRCLTist
TempPRCList.Add(PRCT)
Next
m_PRCList.Clear()
' ciclo sulla lista process eliminado i doppi
For Each PRC In TempPRCList.Distinct()
' leggo gruppi
Dim GRPLList As New ObservableCollection(Of Integer)
Dim GRPTList As New ObservableCollection(Of Integer)
GetBeamPrivateProfileGRPList(0, PRC, GRPLList)
GetBeamPrivateProfileGRPList(1, PRC, GRPTList)
If GRPLList.Count > 0 Then m_PRCList.Add(New PRC(GRPLList(0), PRC, GetBeamPrivateProfileName(0, PRC)))
If GRPTList.Count > 0 Then m_PRCList.Add(New PRC(GRPTList(0), PRC, GetBeamPrivateProfileName(1, PRC)))
Next
m_PRCListView = m_PRCList.OrderBy(Function(x) x.nPRC).ToList()
nSelPRC = m_PRCList(0)
NotifyPropertyChanged(NameOf(PRCListView))
NotifyPropertyChanged(NameOf(PRCList))
Else
SelGRPType = 0
nSelPRC = PRCList(0)
End If
End Sub
#End Region ' CONSTRUCTOR
#Region "METHODS"
Private Sub GetMacroListDefault(ByRef nGRPFromFileName As Integer, ByRef nPRCFromFileName As Integer, ByRef sMacroNameFromFileName As String, ByRef nIdMacroName As Integer)
Dim AllFilesInDir As IEnumerable(Of String) = IO.Directory.EnumerateFiles(Map.refMainWindowVM.MainWindowM.sMacroCustomDir)
For Each File In AllFilesInDir
If Path.GetExtension(File).ToLower() = ".lua" Then
If File.Contains(FILENAMESEPARATOR) Then
Dim FileName As String = Path.GetFileNameWithoutExtension(File)
Dim DataFromFileName As String() = FileName.Split(FILENAMESEPARATOR)
If DataFromFileName.Count = 2 Then
If Not String.IsNullOrEmpty(DataFromFileName(0)) Then
Dim NumbersFromFileName As String() = DataFromFileName(0).Split(".")
Integer.TryParse(NumbersFromFileName(0), nGRPFromFileName)
Integer.TryParse(NumbersFromFileName(1), nPRCFromFileName)
End If
If Not String.IsNullOrEmpty(DataFromFileName(1)) Then
sMacroNameFromFileName = DataFromFileName(1)
End If
If nGRPFromFileName = CalcBeamPrivateProfileGRP(nSelPRC.nGRP) AndAlso nPRCFromFileName = nSelPRC.nPRC Then
If Core.Configuration.bOnlyProd Then
MacroCustomList.Add(New NewMacro(nIdMacroName, sMacroNameFromFileName, Map.refMainWindowVM.MainWindowM.sMacroCustomDir & "\Template\" & sMacroNameFromFileName & ".png"))
Else
MacroCustomList.Add(New IdNameStruct(nIdMacroName, sMacroNameFromFileName))
End If
m_MacroFilePathList.Add(File)
nIdMacroName += 1
End If
End If
End If
End If
Next
End Sub
Private Sub GetMacroListCustom(ByRef nGRPFromFileName As Integer, ByRef nPRCFromFileName As Integer, ByRef sMacroNameFromFileName As String, ByRef nIdMacroName As Integer)
nIdMacroName = 0
Dim AllFilesInDirCustom As IEnumerable(Of String) = IO.Directory.EnumerateFiles(Map.refMainWindowVM.MainWindowM.sMacroDefaultDir)
For Each File In AllFilesInDirCustom
If Path.GetExtension(File).ToLower() = ".lua" Then
If File.Contains(FILENAMESEPARATOR) Then
Dim FileName As String = Path.GetFileNameWithoutExtension(File)
Dim DataFromFileName As String() = FileName.Split(FILENAMESEPARATOR)
If DataFromFileName.Count = 2 Then
If Not String.IsNullOrEmpty(DataFromFileName(0)) Then
Dim NumbersFromFileName As String() = DataFromFileName(0).Split(".")
Integer.TryParse(NumbersFromFileName(0), nGRPFromFileName)
Integer.TryParse(NumbersFromFileName(1), nPRCFromFileName)
End If
If Not String.IsNullOrEmpty(DataFromFileName(1)) Then
sMacroNameFromFileName = DataFromFileName(1)
End If
If nGRPFromFileName = CalcBeamPrivateProfileGRP(nSelPRC.nGRP) AndAlso nPRCFromFileName = nSelPRC.nPRC Then
MacroDefaultList.Add(New NewMacro(nIdMacroName, sMacroNameFromFileName))
m_MacroCustomFilePathList.Add(File)
nIdMacroName += 1
End If
End If
End If
End If
Next
End Sub
#End Region ' METHODS
#Region "COMMANDS"
#Region "Ok"
@@ -259,4 +390,43 @@ Public Class PRC
m_QBTLParamVMList = QBTLParamList
End Sub
End Class
Public Class NewMacro
' Indice Macro
Private m_nIndexMacro As Integer
Public ReadOnly Property nIndexMacro As Integer
Get
Return m_nIndexMacro
End Get
End Property
' Nome Macro
Private m_sMacroName As String
Public ReadOnly Property sMacroName As String
Get
Return m_sMacroName.ToUpper()
End Get
End Property
' Cartella dove sono contenuti i templete delle macro
Private m_sMacroDrawPath As String
Public ReadOnly Property sMacroDrawPath As String
Get
Return m_sMacroDrawPath
End Get
End Property
Sub New(IndexMacro As Integer, MacroName As String)
m_nIndexMacro = IndexMacro
m_sMacroName = MacroName
End Sub
Sub New(IndexMacro As Integer, MacroName As String, MacroDrawPath As String)
m_nIndexMacro = IndexMacro
m_sMacroName = MacroName
m_sMacroDrawPath = MacroDrawPath
End Sub
End Class
@@ -0,0 +1,159 @@
<EgtWPFLib5:EgtCustomWindow x:Class="NewAddFeatureWndV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize"
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterOwner"
IsClosable="False"
IsMinimizable="False"
IsResizable="False"
Title="AddProcess">
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Process_Msg}"
Style="{StaticResource ListTextBlock}"/>
<ListBox ItemsSource="{Binding PRCListView}"
SelectedItem="{Binding nSelPRC}"
Grid.Row="1"
BorderThickness="0"
Height="585"
Width="260"
HorizontalAlignment="Left"
Margin="5">
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border" Padding="2" SnapsToDevicePixels="True">
<ContentPresenter/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource {x:Static SystemColors.HotTrackBrushKey}}"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontSize" Value="15"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.Resources>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ghDesc}"
ToolTip="{Binding ghDesc}"
HorizontalAlignment="Left"
Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType={x:Type ListBox}}}"
Style="{StaticResource OptionTextBlock}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Text="{Binding Custom_Msg}"
Grid.Column="1"
Style="{StaticResource ListTextBlock}"/>
<ListBox ItemsSource="{Binding MacroCustomList}"
SelectedIndex="{Binding nSelMacroCustom}"
Grid.Row="1"
Grid.Column="1"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
BorderThickness="0"
Width="980"
Height="610"
Margin="5">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel IsItemsHost="True" Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding sMacroName}"
Margin="5"
FontSize="14"
Style="{StaticResource OptionTextBlock}"/>
<Image Source="{Binding sMacroDrawPath}"
Grid.Row="1"
Width="300"
Margin="5,0,5,5"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Text="{Binding Default_Msg}"
Grid.Column="2"
Style="{StaticResource ListTextBlock}"/>
<ListBox ItemsSource="{Binding MacroDefaultList}"
SelectedIndex="{Binding nSelMacroDefault}"
Grid.Row="1"
Grid.Column="2"
BorderThickness="0"
Height="585"
Width="250"
HorizontalAlignment="Left"
Margin="5">
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border" Padding="2" SnapsToDevicePixels="True">
<ContentPresenter/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource {x:Static SystemColors.HotTrackBrushKey}}"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.Resources>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding sMacroName}"
Margin="2.5"
HorizontalAlignment="Left"
Width="239"
Style="{StaticResource OptionTextBlock}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<UniformGrid Columns="2"
Grid.Row="2"
Grid.ColumnSpan="3"
Margin="5">
<Button Content="Ok"
Command="{Binding Ok_Command}"
IsDefault="True"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
<Button Content="Cancel"
IsCancel="True"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
</UniformGrid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
@@ -0,0 +1,17 @@
Public Class NewAddFeatureWndV
Private WithEvents m_AddFeatureWndVM As AddFeatureWndVM
Sub New(Owner As Window, AddFeatureWndVM As AddFeatureWndVM)
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
Me.DataContext = AddFeatureWndVM
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
m_AddFeatureWndVM = AddFeatureWndVM
End Sub
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_AddFeatureWndVM.m_CloseWindow
Me.DialogResult = bDialogResult
End Sub
End Class
+5 -6
View File
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<!--<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.EntityFramework" />-->
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.21.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider>
</providers>
</entityFramework>
<connectionStrings>
<add name="DefaultConnection" connectionString="server=localhost;port=3306;User Id=EgtUser;password=viacremasca;Persist Security Info=True;database=EgtBwDb;SslMode=none" providerName="MySql.Data.MySqlClient" />
@@ -46,10 +49,6 @@
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.data>
@@ -518,7 +518,7 @@ Public Class BTLPartManagerVM
Return CurrSParam
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
' creo sParam
If Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLParts(0)) Then CurrSParam = New SParam(Map.refProjectVM.BTLStructureVM.SelBTLParts(0).Section, dRawW, dRawL, nQuantity, False)
If Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) Then CurrSParam = New SParam(Map.refProjectVM.BTLStructureVM.SelBTLPart.Section, dRawW, dRawL, nQuantity, False)
Dim sW As String = String.Empty
Dim sL As String = String.Empty
sW = LenToString(CurrSParam.dW, 3)
@@ -715,6 +715,7 @@ Public Class BTLPartManagerVM
Dim dPosX As Double = BeamMachGroup.dStartCut
Dim nPartIndex As Integer = 0
Dim nIndex As Integer
Dim bDuploInfo As Boolean = False
' ciclo sui pezzi
For nIndex = 0 To BeamMachGroup.PartVMList.Count - 1
For PartsToAddIndex = nPartIndex To PartsToAdd.Count - 1
@@ -768,34 +769,26 @@ Public Class BTLPartManagerVM
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
EgtOutLog("Fallito inserimento grezzo nella barra in AddPartToBeam")
' elimino duplo
For Each nDuploId In nPartDuploIdList
EgtErase(nDuploId)
EgtRemoveRawPart(nDuploId)
Next
' rimuovo info duplo e aggiorno info grezzo
nPartIndex = 0
' aggiorno info grezzo
For nIndex = 0 To BeamMachGroup.PartVMList.Count - 1
If nPartIndex < nPartDuploIdList.Count() AndAlso BeamMachGroup.PartVMList(nIndex).dL > PartsToAdd(0).dL Then
EgtRemoveInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1)
nPartIndex += 1
ElseIf nPartIndex < nPartDuploIdList.Count() AndAlso BeamMachGroup.PartVMList(nIndex).dL < PartsToAdd(0).dL Then
EgtRemoveInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1)
nPartIndex += 1
End If
EgtRemoveInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + nPartIndex + 1)
EgtSetInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1, BeamMachGroup.PartVMList(nIndex).nPartId & "," & DoubleToString(BeamMachGroup.PartVMList(nIndex).dPOSX, 3))
Next
' rimuovo info duplo
While EgtGetInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1, nPartDuploIdList(0))
bDuploInfo = EgtGetInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1, nPartDuploIdList(0))
EgtRemoveInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1)
nIndex += 1
End While
' elimino vecchio grezzo ed eseguo script creazione nuovo
nRawId = EgtGetFirstRawPart()
While nRawId <> GDB_ID.NULL
EgtRemoveRawPart(nRawId)
nRawId = EgtGetFirstRawPart()
End While
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
EgtOutLog("Fallita esecuzione ExecBeam. ERRORE")
End If
@@ -809,8 +802,8 @@ Public Class BTLPartManagerVM
' seleziono pezzo aggiunto
If BeamMachGroup.PartVMList.Count > nInsertIndex Then
BeamMachGroup.SelPart = BeamMachGroup.PartVMList(nInsertIndex)
Else
BeamMachGroup.SelPart = BeamMachGroup.PartVMList(nInsertIndex - 1)
ElseIf bDuploInfo Then
BeamMachGroup.SelPart = BeamMachGroup.PartVMList(BeamMachGroup.PartVMList.Count - 1)
End If
Return True
End Function
@@ -1008,7 +1001,12 @@ Public Class BTLPartManagerVM
''' Execute the Exec. This method is invoked by the ExecCommand.
''' </summary>
Public Sub RemovePartCmd()
If IsNothing(ProjectManagerVM.CurrProj) Then Return
'If IsNothing(ProjectManagerVM.CurrProj) Then Return
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso IsNothing(Map.refProjManagerVM) Then
Return
ElseIf Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE AndAlso IsNothing(Map.refOnlyProdManagerVM) Then
Return
End If
If Map.refProjectVM.BTLStructureVM.SelBTLParts.Count > 0 Then
Dim CurrSelBTLParts As List(Of BTLPartVM) = Map.refProjectVM.BTLStructureVM.SelBTLParts.ToList()
For RemoveIndex = CurrSelBTLParts.Count - 1 To 0 Step -1
@@ -1081,14 +1079,14 @@ Public Class BTLPartManagerVM
''' Execute the Exec. This method is invoked by the ExecCommand.
''' </summary>
Public Sub Invert()
If IsNothing(ProjectManagerVM.CurrProj) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) Then Return
If (Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso IsNothing(ProjectManagerVM.CurrProj)) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) Then
Return
ElseIf (Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE AndAlso IsNothing(ProjectManagerVM.CurrProj)) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) Then
Return
End If
' se modalita' assemblato
Dim bShowBuilding As Boolean = Map.refShowBeamPanelVM.ShowBuilding_IsChecked
Configuration.AssembledMode(bShowBuilding)
'If bShowBuilding AndAlso Map.refShowBeamPanelVM.bShowAll Then
' ' devo smontarlo prima di ruotare le travi
' Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
'End If
' inverto i pezzi selezionati
For Each Part In Map.refProjectVM.BTLStructureVM.SelBTLParts
Part.Invert()
@@ -1123,10 +1121,6 @@ Public Class BTLPartManagerVM
' se modalita' assemblato
Dim bShowBuilding As Boolean = Map.refShowBeamPanelVM.ShowBuilding_IsChecked
Configuration.AssembledMode(bShowBuilding)
'If bShowBuilding AndAlso Map.refShowBeamPanelVM.bShowAll Then
' ' devo smontarlo prima di ruotare le travi
' Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
'End If
' ruoto i pezzi selezionati
For Each Part In Map.refProjectVM.BTLStructureVM.SelBTLParts
Part.BackRotation(False, False)
@@ -1168,10 +1162,6 @@ Public Class BTLPartManagerVM
' se modalita' assemblato
Dim bShowBuilding As Boolean = Map.refShowBeamPanelVM.ShowBuilding_IsChecked
Configuration.AssembledMode(bShowBuilding)
'If bShowBuilding AndAlso Map.refShowBeamPanelVM.bShowAll Then
' ' devo smontarlo prima di ruotare le travi
' Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
'End If
' ruoto i pezzi selezionati
For Each Part In Map.refProjectVM.BTLStructureVM.SelBTLParts
Part.ForwardRotation(False, False)
@@ -165,7 +165,7 @@ Public Class BTLFeatureVM
' se in View
If Map.refMainMenuVM.SelPage = Pages.VIEW OrElse (Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE AndAlso Not IsNothing(m_BTLPartM)) Then
' imposto modificato per copie
Dim cc = Map.refMachGroupPanelVM.MachGroupVMList
'Dim cc = Map.refMachGroupPanelVM.MachGroupVMList
MyMachGroupPanelM.SetDuploModified(m_BTLPartM.nPartId)
End If
NotifyPropertyChanged(NameOf(bDO))
@@ -135,6 +135,21 @@ Public Class BTLParamVM
NotifyPropertyChanged("sValue")
Return
End If
' recupero ParentPart
Dim ParentPart As BTLPartM = TryCast(m_BTLParamM.ParentFeature.ParentPart, BTLPartM)
' recupero PartId
Dim nPartId As Integer = ParentPart.nPartId
' numero di pezzi inseriti nelle barre
Dim INPROD As Integer = 0
EgtDuploInRawCount(nPartId, INPROD)
' recupero pezzi lavorati da Db
Dim nDoneCnt As Integer = DbControllers.m_ProjController.getCountItemState(ProjectManagerVM.CurrProj.nProjId, nPartId, ItemState.Assigned)
' controllo se i pezzi sono lavorati se si messaggio di warning altrimenti messaggio informativo
If nDoneCnt > 0 Then
MessageBox.Show("Pezzo " & nPartId & " non modificato in " & INPROD & " barra/e perche' settata/e come da produrre", EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Warning)
ElseIf INPROD > 0 Then
MessageBox.Show("Pezzo " & nPartId & " modificato in " & INPROD & " barra/e grezza/e", EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Information)
End If
UpdateParamValue(dNewValue, "")
Case Else
UpdateParamValue(0, value)
@@ -84,10 +84,10 @@ Public Class BTLStructureVM
Select Case m_SelectionType
Case SelectionTypes.SELECT_
' imposto modalita' proj su vista feature
'Map.refProjectVM.SelProdProj = ProdProj.PROJ
If Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE Then Map.refProdProjManagerVM.SelProdProj = ProdProj.PROJ
' rendo enable bottone parameters
Map.refLeftPanelVM.SetParametersIsEnabled(True)
Map.refLeftPanelVM.SetData_IsEnabled(False)
' verifico reset mark su tutti i pezzi
For Each BTLPart In m_BTLPartVMList
EgtResetMark(BTLPart.nPartId)
@@ -97,10 +97,10 @@ Public Class BTLStructureVM
Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProdProjManagerVM.PartManager_Visibility))
Case SelectionTypes.HIGHLIGHT
' imposto modalita' nulla su vista feature
'Map.refProjectVM.SelProdProj = ProdProj.NULL
If Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE Then Map.refProdProjManagerVM.SelProdProj = ProdProj.NULL
' rendo disable bottone parameters
Map.refLeftPanelVM.SetParametersIsEnabled(False)
Map.refLeftPanelVM.SetData_IsEnabled(True)
If m_PrevSelectionType = SelectionTypes.SELECT_ Then
EgtBeamShowFacesName(False)
EgtBeamShowLoadingSide(False, False)
@@ -120,8 +120,6 @@ Public Class BTLStructureVM
' aggiornamento grafica
'Map.refLeftPanelVM.PartShowAllChanged()
Configuration.UpdateGraphics()
'If Not IsNothing(Map.refFeatureListManagerVM) Then Map.refFeatureListManagerVM.PartShowAllChanged()
'If Not IsNothing(Map.refBTLPartManagerVM) Then Map.refBTLPartManagerVM.PartShowAllChanged()
'Map.refLeftPanelVM.FeatureSelectionChanged()
If Not IsNothing(Map.refFeatureListManagerVM) Then Map.refFeatureListManagerVM.FeatureSelectionChanged()
Map.refCALCPanelVM.SetIsEnabledForSelPart()
@@ -215,39 +213,19 @@ Public Class BTLStructureVM
SelBTLPart = Nothing
End Select
' aggiornamento grafica
'Map.refLeftPanelVM.PartShowAllChanged()
Configuration.UpdateGraphics()
'If Not IsNothing(Map.refFeatureListManagerVM) Then Map.refFeatureListManagerVM.PartShowAllChanged()
'If Not IsNothing(Map.refBTLPartManagerVM) Then Map.refBTLPartManagerVM.PartShowAllChanged()
End Sub
Private Sub SelectBTLPart(BtlPart As BTLPartVM)
m_SelBTLPart = BtlPart
If Map.refMainMenuVM.SelPage = Pages.VIEW Then
Configuration.SelectedPieces(BtlPart.nPartId, Me)
'EgtBeamShowFacesName(False)
'EgtBeamShowLoadingSide(False, False)
'Map.refProjectVM.MacroFeature_IsEnabled = True
'' se modalità building, la tolgo
'If Map.refShowBeamPanelVM.ShowBuilding_IsChecked Then
' ShowBuilding(False, False)
'End If
'' seleziono pezzo nella scena
'SceneSelPartSelection()
'' seleziono pezzo in Db geometrico
'EgtBeamSetPart(BtlPart.nPartId)
'EgtBeamShowFacesName(True)
'Dim bLoadingSideShow As Boolean = (nPROJTYPE = BWType.BEAM)
'Dim bLeftToRight As Boolean = Not (CurrentMachine.ViewDir = VT.ISO_NW OrElse CurrentMachine.ViewDir = VT.ISO_NE)
'EgtBeamShowLoadingSide(bLoadingSideShow, bLeftToRight)
' seleziono pagina BottomPanel
If Not IsNothing(Map.refBottomPanelVM) Then
Map.refBottomPanelVM.SetSelPartFeatureTab(BottomPanelVM.PartFeatureTab.PART)
End If
'' mostro barra di gestione pezzo
'Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProjectVM.PartManager_Visibility))
' deseleziono le feature
If Not IsNothing(BtlPart.SelBTLFeatureVM) Then SelBTLPart.SelBTLFeatureVM = Nothing
' mostro barra di gestione pezzo
If Not IsNothing(BtlPart.BTLFeatureVMList) AndAlso BtlPart.BTLFeatureVMList.Count > 0 Then SelBTLPart.SelBTLFeatureVM = BtlPart.BTLFeatureVMList(0)
' aggiorno stato selezionato tutto
Map.refShowBeamPanelVM.bShowAll = False
Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False)
@@ -259,25 +237,6 @@ Public Class BTLStructureVM
EgtBeamShowLoadingSide(False, False)
' trovo ed evidenzio MachGroup e Duplo di questo pezzo
Configuration.SetSearchPiece(BtlPart.nPartId)
'If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
' Dim MachGroupList As New List(Of MyMachGroupVM)
' For Each Machgroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
' Dim bFound As Boolean = False
' For Each Part As PartVM In Machgroup.PartVMList
' If EgtDuploGetOriginal(Part.nPartId) = BtlPart.nPartId Then
' Part.SetSearchFound()
' bFound = True
' Else
' Part.ResetSearchFound()
' End If
' Next
' If bFound Then
' Machgroup.SetSearchFound()
' Else
' Machgroup.ResetSearchFound()
' End If
' Next
'End If
' seleziono pezzo nella scena
SceneSelPartSelection()
Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False)
@@ -292,45 +251,10 @@ Public Class BTLStructureVM
EgtResetCurrMachGroup()
End If
Configuration.SelectedPieces(BtlPart.nPartId, Me)
'EgtBeamShowFacesName(False)
'EgtBeamShowLoadingSide(False, False)
'Map.refProjectVM.MacroFeature_IsEnabled = True
'' se modalità building, la tolgo
'If Map.refShowBeamPanelVM.ShowBuilding_IsChecked Then
' ShowBuilding(False, False)
'End If
'' seleziono pezzo nella scena
'SceneSelPartSelection()
'' seleziono pezzo in Db geometrico
'EgtBeamSetPart(BtlPart.nPartId)
'EgtBeamShowFacesName(True)
'Dim bLoadingSideShow As Boolean = (nPROJTYPE = BWType.BEAM)
'Dim bLeftToRight As Boolean = Not (CurrentMachine.ViewDir = VT.ISO_NW OrElse CurrentMachine.ViewDir = VT.ISO_NE)
'EgtBeamShowLoadingSide(bLoadingSideShow, bLeftToRight)
' seleziono la prima feature
If Not IsNothing(BtlPart.BTLFeatureVMList) AndAlso BtlPart.BTLFeatureVMList.Count > 0 Then SelBTLPart.SelBTLFeatureVM = BtlPart.BTLFeatureVMList(0)
' aggiorno stato selezionato tutto
Map.refShowBeamPanelVM.bShowAll = False
'' trovo ed evidenzio MachGroup e Duplo di questo pezzo
'If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
' Dim MachGroupList As New List(Of MyMachGroupVM)
' For Each Machgroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
' Dim bFound As Boolean = False
' For Each Part As PartVM In Machgroup.PartVMList
' If EgtDuploGetOriginal(Part.nPartId) = BtlPart.nPartId Then
' Part.SetSearchFound()
' bFound = True
' Else
' Part.ResetSearchFound()
' End If
' Next
' If bFound Then
' Machgroup.SetSearchFound()
' Else
' Machgroup.ResetSearchFound()
' End If
' Next
'End If
Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False)
EgtZoom(ZM.ALL)
End If
@@ -339,11 +263,6 @@ Public Class BTLStructureVM
Private Sub DeselectBTLPart(BtlPart As BTLPartVM)
' se necessario tolgo solido dal precedentemente selezionato
Configuration.DeselectSolid(BtlPart.nPartId, True)
'If Map.refShowBeamPanelVM.ShowSolid_IsChecked Then
' ' tolgo eventuale indicazione solido rimasta da pezzo precedente
' Map.refShowBeamPanelVM.SetShowSolid(False)
' Map.refProjectVM.BTLStructureVM.ShowSolid(BtlPart.nPartId, False, False)
'End If
If m_SelBTLPart Is BtlPart Then
EgtBeamShowFacesName(False)
EgtBeamShowLoadingSide(False, False)
@@ -351,25 +270,7 @@ Public Class BTLStructureVM
NotifyPropertyChanged(NameOf(SelBTLPart))
End If
' disabilito eventuale feature selezionata
If Not IsNothing(BtlPart.m_SelBTLFeatureVM) Then BtlPart.SelBTLFeatureVM = Nothing
'' deevidenzio MachGroup e Duplo di questo pezzo
'If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
' Dim MachGroupList As New List(Of MyMachGroupVM)
' For Each Machgroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
' Dim bFound As Boolean = False
' For Each Part As PartVM In Machgroup.PartVMList
' Dim i = EgtDuploGetOriginal(Part.nPartId)
' If EgtDuploGetOriginal(Part.nPartId) = BtlPart.nPartId Then
' Part.ResetSearchFound()
' bFound = True
' End If
' Next
' If bFound Then
' Machgroup.ResetSearchFound()
' End If
' Next
'End If
EgtResetCurrMachGroup()
If Not IsNothing(BtlPart.m_SelBTLFeatureVM) AndAlso (Map.refMainMenuVM.SelPage = Pages.VIEW OrElse Map.refMainMenuVM.SelPage = Pages.MACHINING) Then BtlPart.SelBTLFeatureVM = Nothing
EgtDraw()
End Sub
Private Sub HighlightBTLPart(BtlPart As BTLPartVM)
@@ -391,25 +292,6 @@ Public Class BTLStructureVM
If Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE Then
' trovo ed evidenzio MachGroup e Duplo di questo pezzo
Configuration.SetSearchPiece(BtlPart.nPartId)
'If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
' Dim MachGroupList As New List(Of MyMachGroupVM)
' For Each Machgroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
' Dim bFound As Boolean = False
' For Each Part As PartVM In Machgroup.PartVMList
' If EgtDuploGetOriginal(Part.nPartId) = BtlPart.nPartId Then
' Part.SetSearchFound()
' bFound = True
' Else
' Part.ResetSearchFound()
' End If
' Next
' If bFound Then
' Machgroup.SetSearchFound()
' Else
' Machgroup.ResetSearchFound()
' End If
' Next
'End If
End If
' seleziono pagina BottomPanel
If Not IsNothing(Map.refBottomPanelVM) Then Map.refBottomPanelVM.SetSelPartFeatureTab(BottomPanelVM.PartFeatureTab.NULL)
@@ -433,22 +315,6 @@ Public Class BTLStructureVM
End If
' deevidenzio MachGroup e Duplo di questo pezzo
Configuration.ResetSearchPiece(BtlPart.nPartId)
'If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
' Dim MachGroupList As New List(Of MyMachGroupVM)
' For Each Machgroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
' Dim bFound As Boolean = False
' For Each Part As PartVM In Machgroup.PartVMList
' Dim i = EgtDuploGetOriginal(Part.nPartId)
' If EgtDuploGetOriginal(Part.nPartId) = BtlPart.nPartId Then
' Part.ResetSearchFound()
' bFound = True
' End If
' Next
' If bFound Then
' Machgroup.ResetSearchFound()
' End If
' Next
'End If
' seleziono pagina BottomPanel
'Map.refBottomPanelVM.SetSelPartFeatureTab(BottomPanelVM.PartFeatureTab.NULL)
If bDraw Then EgtDraw()
@@ -474,16 +340,13 @@ Public Class BTLStructureVM
If Not IsNothing(m_SelBTLPart) Then
' se necessario tolgo solido dal precedentemente selezionato
Configuration.DeselectSolid()
'If Map.refShowBeamPanelVM.ShowSolid_IsChecked Then
' Map.refShowBeamPanelVM.SetShowSolid(False)
'End If
' disabilito eventuale feature selezionata
If Not IsNothing(m_SelBTLPart.m_SelBTLFeatureVM) Then m_SelBTLPart.SelBTLFeatureVM = Nothing
End If
m_SelBTLPart = value
' se seleziono un pezzo
If Not IsNothing(m_SelBTLPart) Then
If Map.refMainMenuVM.SelPage = Pages.VIEW Then
If Map.refMainMenuVM.SelPage = Pages.VIEW OrElse Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE Then
' se modalità building, la tolgo
If Map.refShowBeamPanelVM.ShowBuilding_IsChecked Then
ShowBuilding(False, False)
@@ -495,7 +358,6 @@ Public Class BTLStructureVM
' seleziono pagina BottomPanel
Map.refBottomPanelVM.SetSelPartFeatureTab(BottomPanelVM.PartFeatureTab.PART)
' mostro barra di gestione pezzo
'Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProjectVM.PartManager_Visibility))
Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProdProjManagerVM.PartManager_Visibility))
' deseleziono le feature
If Not IsNothing(m_SelBTLPart.SelBTLFeatureVM) Then SelBTLPart.SelBTLFeatureVM = Nothing
@@ -506,70 +368,10 @@ Public Class BTLStructureVM
ElseIf Map.refMainMenuVM.SelPage = Pages.MACHINING Then
' trovo ed evidenzio MachGroup e Duplo di questo pezzo
Configuration.SetSearchPiece(m_SelBTLPart.nPartId)
'If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
' Dim MachGroupList As New List(Of MyMachGroupVM)
' For Each Machgroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
' Dim bFound As Boolean = False
' For Each Part As PartVM In Machgroup.PartVMList
' If EgtDuploGetOriginal(Part.nPartId) = m_SelBTLPart.nPartId Then
' Part.SetSearchFound()
' bFound = True
' Else
' Part.ResetSearchFound()
' End If
' Next
' If bFound Then
' Machgroup.SetSearchFound()
' Else
' Machgroup.ResetSearchFound()
' End If
' Next
'End If
' seleziono pezzo nella scena
SceneSelPartSelection()
Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False)
EgtZoom(ZM.ALL)
ElseIf Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE Then
' se modalità building, la tolgo
If Map.refShowBeamPanelVM.ShowBuilding_IsChecked Then
ShowBuilding(False, False)
End If
' seleziono pezzo nella scena
SceneSelPartSelection()
' seleziono pezzo in Db geometrico
EgtBeamSetPart(m_SelBTLPart.nPartId)
' seleziono pagina BottomPanel
Map.refBottomPanelVM.SetSelPartFeatureTab(BottomPanelVM.PartFeatureTab.PART)
' mostro barra di gestione pezzo
'Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProjectVM.PartManager_Visibility))
Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProdProjManagerVM.PartManager_Visibility))
' deseleziono le feature
If Not IsNothing(m_SelBTLPart.SelBTLFeatureVM) Then SelBTLPart.SelBTLFeatureVM = Nothing
' aggiorno stato selezionato tutto
Map.refShowBeamPanelVM.bShowAll = False
' trovo ed evidenzio MachGroup e Duplo di questo pezzo
Configuration.ResetSearchPiece(m_SelBTLPart.nPartId)
'If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
' Dim MachGroupList As New List(Of MyMachGroupVM)
' For Each Machgroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
' Dim bFound As Boolean = False
' For Each Part As PartVM In Machgroup.PartVMList
' If EgtDuploGetOriginal(Part.nPartId) = m_SelBTLPart.nPartId Then
' Part.SetSearchFound()
' bFound = True
' Else
' Part.ResetSearchFound()
' End If
' Next
' If bFound Then
' Machgroup.SetSearchFound()
' Else
' Machgroup.ResetSearchFound()
' End If
' Next
'End If
Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False)
EgtZoom(ZM.ALL)
End If
End If
NotifyPropertyChanged(NameOf(SelBTLPart))
@@ -1,8 +1,7 @@
<DockPanel x:Class="ConfigurationPageV"
<DockPanel x:Class="ConfigurationPageV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.ViewerOptimizer">
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core">
<Grid>
<Grid.ColumnDefinitions>
@@ -49,7 +48,7 @@
<EgtBEAMWALLCORE:QParameter_ConfigurationPageV/>
</TabItem.Content>
</TabItem>
<TabItem>
<TabItem >
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Machine_Msg}"
@@ -66,25 +65,6 @@
<EgtBEAMWALLCORE:Machine_ConfigurationPageV/>
</TabItem.Content>
</TabItem>
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding PDFEditor_Msg}"
Style="{StaticResource OptionTextBlock}"/>
<Button Command="{Binding SaveCommand}"
ToolTip="{Binding SaveToolTip}"
Visibility="{Binding PDFEditor_Visibility}"
Style="{StaticResource OptionPanel_Button}">
<Image Source="/Resources/ProjectManager/Save.png" Stretch="Uniform"/>
</Button>
</StackPanel>
</TabItem.Header>
<TabItem.Content>
<EgtBEAMWALL:PDFEditorV/>
</TabItem.Content>
</TabItem>
</TabControl>
<!--<Button Command="{Binding SaveCommand}"
@@ -3,7 +3,6 @@ Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Imports EgtBEAMWALL.Core
Imports System.Linq.Expressions
Imports MS.Internal
Imports Ionic.Zip
@@ -14,7 +13,6 @@ Public Class ConfigurationPageVM
GENERAL = 0
QPARAMETERS = 1
MACHINE = 2
PDFEDITOR = 3
End Enum
Private m_QParametersModified As Boolean = False
@@ -38,27 +36,18 @@ Public Class ConfigurationPageVM
m_bGeneral_Visibility = Visibility.Visible
m_bParameterQ_Visibility = Visibility.Collapsed
m_bMachine_Visibility = Visibility.Collapsed
m_bPDFEditor_Visibility = Visibility.Collapsed
ElseIf m_SelConfigSubPage = ConfigSubPages.QPARAMETERS Then
m_bParameterQ_Visibility = Visibility.Visible
m_bGeneral_Visibility = Visibility.Collapsed
m_bMachine_Visibility = Visibility.Collapsed
m_bPDFEditor_Visibility = Visibility.Collapsed
ElseIf m_SelConfigSubPage = ConfigSubPages.MACHINE Then
m_bMachine_Visibility = Visibility.Visible
m_bGeneral_Visibility = Visibility.Collapsed
m_bParameterQ_Visibility = Visibility.Collapsed
m_bPDFEditor_Visibility = Visibility.Collapsed
ElseIf m_SelConfigSubPage = ConfigSubPages.PDFEDITOR Then
m_bPDFEditor_Visibility = Visibility.Visible
m_bMachine_Visibility = Visibility.Collapsed
m_bGeneral_Visibility = Visibility.Collapsed
m_bParameterQ_Visibility = Visibility.Collapsed
End If
NotifyPropertyChanged(NameOf(General_Visibility))
NotifyPropertyChanged(NameOf(ParameterQ_Visibility))
NotifyPropertyChanged(NameOf(Machine_Visibility))
NotifyPropertyChanged(NameOf(PDFEditor_Visibility))
End Set
End Property
@@ -273,17 +262,6 @@ Public Class ConfigurationPageVM
End Set
End Property
Private m_bPDFEditor_Visibility As Visibility = Visibility.Collapsed
Public Property PDFEditor_Visibility As Visibility
Get
Return m_bPDFEditor_Visibility
End Get
Set(value As Visibility)
m_bPDFEditor_Visibility = value
NotifyPropertyChanged(NameOf(PDFEditor_Visibility))
End Set
End Property
' Definizione comandi
Private m_cmdSave As ICommand
Private m_cmdChooseExternalBackupFolderPath As ICommand
@@ -291,6 +269,7 @@ Public Class ConfigurationPageVM
Private m_cmdRestore As ICommand
#Region "Messages"
Public ReadOnly Property L_Msg As String
Get
Return EgtMsg(61803)
@@ -309,12 +288,6 @@ Public Class ConfigurationPageVM
End Get
End Property
Public ReadOnly Property PND_Msg As String
Get
Return EgtMsg(6180)
End Get
End Property
Public ReadOnly Property Type_Msg As String
Get
Return EgtMsg(61850)
@@ -344,43 +317,36 @@ Public Class ConfigurationPageVM
Return EgtMsg(61616)
End Get
End Property
Public ReadOnly Property Max_Msg As String
Get
Return EgtMsg(61617)
End Get
End Property
Public ReadOnly Property CurrentLanguage_Msg As String
Get
Return EgtMsg(6501)
End Get
End Property
Public ReadOnly Property LanguageAdvert_Msg As String
Get
Return EgtMsg(6502)
End Get
End Property
Public ReadOnly Property MMUnits_Msg As String
Get
Return EgtMsg(6540)
End Get
End Property
Public ReadOnly Property Nesting_Msg As String
Get
Return EgtMsg(61829)
End Get
End Property
Public ReadOnly Property SectionTime_Msg As String
Get
Return EgtMsg(61806)
End Get
End Property
Public ReadOnly Property PartTime_Msg As String
Get
Return EgtMsg(61807)
@@ -453,12 +419,6 @@ Public Class ConfigurationPageVM
End Get
End Property
Public ReadOnly Property PDFEditor_Msg As String
Get
Return EgtMsg(62538)
End Get
End Property
#End Region ' Messages
#Region "Constructor"
@@ -1,4 +1,5 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -137,6 +138,12 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Crypto, Version=1.9.0.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
<HintPath>..\packages\Portable.BouncyCastle.1.9.0\lib\net40\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="DotNetZip, Version=1.16.0.0, Culture=neutral, PublicKeyToken=6583c7c814667745, processorArchitecture=MSIL">
<HintPath>..\packages\DotNetZip.1.16.0\lib\net40\DotNetZip.dll</HintPath>
</Reference>
<Reference Include="EgtUILib, Version=2.4.3.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\ExtLibs\EgtUILib.dll</HintPath>
@@ -145,7 +152,55 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\ExtLibs\EgtWPFLib5.dll</HintPath>
</Reference>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="Google.Protobuf, Version=3.21.9.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
<HintPath>..\packages\Google.Protobuf.3.21.9\lib\net45\Google.Protobuf.dll</HintPath>
</Reference>
<Reference Include="K4os.Compression.LZ4, Version=1.3.5.0, Culture=neutral, PublicKeyToken=2186fa9121ef231d, processorArchitecture=MSIL">
<HintPath>..\packages\K4os.Compression.LZ4.1.3.5\lib\net462\K4os.Compression.LZ4.dll</HintPath>
</Reference>
<Reference Include="K4os.Compression.LZ4.Streams, Version=1.3.5.0, Culture=neutral, PublicKeyToken=2186fa9121ef231d, processorArchitecture=MSIL">
<HintPath>..\packages\K4os.Compression.LZ4.Streams.1.3.5\lib\net462\K4os.Compression.LZ4.Streams.dll</HintPath>
</Reference>
<Reference Include="K4os.Hash.xxHash, Version=1.0.8.0, Culture=neutral, PublicKeyToken=32cd54395057cec3, processorArchitecture=MSIL">
<HintPath>..\packages\K4os.Hash.xxHash.1.0.8\lib\net462\K4os.Hash.xxHash.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="MigraDoc.DocumentObjectModel-wpf, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp-MigraDoc-wpf.1.50.5147\lib\net30\MigraDoc.DocumentObjectModel-wpf.dll</HintPath>
</Reference>
<Reference Include="MigraDoc.Rendering-wpf, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp-MigraDoc-wpf.1.50.5147\lib\net30\MigraDoc.Rendering-wpf.dll</HintPath>
</Reference>
<Reference Include="MigraDoc.RtfRendering-wpf, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp-MigraDoc-wpf.1.50.5147\lib\net30\MigraDoc.RtfRendering-wpf.dll</HintPath>
</Reference>
<Reference Include="MySql.Data, Version=8.0.21.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.8.0.21\lib\net452\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="MySql.Data.EntityFramework, Version=8.0.21.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.EntityFramework.8.0.21\lib\net452\MySql.Data.EntityFramework.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.1\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="PdfSharp-wpf, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp-MigraDoc-wpf.1.50.5147\lib\net30\PdfSharp-wpf.dll</HintPath>
</Reference>
<Reference Include="PdfSharp.Charting-wpf, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp-MigraDoc-wpf.1.50.5147\lib\net30\PdfSharp.Charting-wpf.dll</HintPath>
</Reference>
<Reference Include="Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=1cee9f8bde3db106, processorArchitecture=MSIL">
<HintPath>..\packages\SSH.NET.2016.1.0\lib\net40\Renci.SshNet.dll</HintPath>
</Reference>
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
@@ -154,9 +209,24 @@
<Reference Include="System.Drawing" />
<Reference Include="System.Drawing.Design" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Pipelines, Version=5.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.5.0.2\lib\net461\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Security" />
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
@@ -167,10 +237,16 @@
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="Ubiety.Dns.Core, Version=2.2.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.8.0.21\lib\net452\Ubiety.Dns.Core.dll</HintPath>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="WindowsFormsIntegration" />
<Reference Include="Zstandard.Net, Version=1.1.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.8.0.21\lib\net452\Zstandard.Net.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="Application.xaml">
@@ -180,6 +256,9 @@
<Compile Include="AboutBoxWindow\AboutBoxV.xaml.vb">
<DependentUpon>AboutBoxV.xaml</DependentUpon>
</Compile>
<Compile Include="AddFeatureWnd\NewAddFeatureWndV.xaml.vb">
<DependentUpon>NewAddFeatureWndV.xaml</DependentUpon>
</Compile>
<Compile Include="BTLPartManager\BTLPartManagerV.xaml.vb">
<DependentUpon>BTLPartManagerV.xaml</DependentUpon>
</Compile>
@@ -196,10 +275,12 @@
</Compile>
<Compile Include="FeatureListManager\FeatureListManagerVM.vb" />
<Compile Include="MachinePanel\MachinePanelVM.vb" />
<Compile Include="MacroFeatureWnd\NewMacroFeatureWnd.xaml.vb">
<DependentUpon>NewMacroFeatureWnd.xaml</DependentUpon>
</Compile>
<Compile Include="PartInRawPartManager\PartInRawPartManagerWndV.xaml.vb">
<DependentUpon>PartInRawPartManagerWndV.xaml</DependentUpon>
</Compile>
<Compile Include="PdfViewer\PDFViewerVM.vb" />
<Compile Include="RawPartManager\RawPartManagerWndV.xaml.vb">
<DependentUpon>RawPartManagerWndV.xaml</DependentUpon>
</Compile>
@@ -305,9 +386,6 @@
</Compile>
<Compile Include="ProdProjManager\ProdProjManagerVM.vb" />
<Compile Include="ProjectManager\ProjectManagerVM.vb" />
<Compile Include="PdfViewer\PdfViewer.xaml.vb">
<DependentUpon>PdfViewer.xaml</DependentUpon>
</Compile>
<Compile Include="ProjectTypeWnd\ProjectTypeWndV.xaml.vb">
<DependentUpon>ProjectTypeWndV.xaml</DependentUpon>
</Compile>
@@ -339,10 +417,6 @@
<Compile Include="Statistics\OptimizerStatisticsV.xaml.vb">
<DependentUpon>OptimizerStatisticsV.xaml</DependentUpon>
</Compile>
<Compile Include="Statistics\PDFEditorV.xaml.vb">
<DependentUpon>PDFEditorV.xaml</DependentUpon>
</Compile>
<Compile Include="Statistics\PDFEditorVM.vb" />
<Compile Include="Statistics\PDFHelper.vb" />
<Compile Include="Statistics\StatisticsV.xaml.vb">
<DependentUpon>StatisticsV.xaml</DependentUpon>
@@ -368,7 +442,6 @@
<Compile Include="Utility\LuaExec.vb" />
<Compile Include="Utility\PartsObservableCollection.vb" />
<Compile Include="Utility\SectionXMaterialToBeAdded.vb" />
<Compile Include="Utility\Statistic_Messages.vb" />
<Compile Include="Utility\TextBlockUtils.vb" />
<Compile Include="Utility\TreeViewItemBase.vb" />
<Compile Include="WarehouseWnd\WarehouseHelper.vb" />
@@ -465,6 +538,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="AddFeatureWnd\NewAddFeatureWndV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="BTLPartManager\BTLPartManagerV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -477,34 +554,14 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="OnlyProdProject\OnlyProdProjectV.xaml">
<Generator>MSBuild:Compile</Generator>
<Page Include="MacroFeatureWnd\NewMacroFeatureWnd.xaml">
<SubType>Designer</SubType>
</Page>
<Page Include="OptimizePanel\OnlyProdOptimizePanelV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="PartInRawPartManager\PartInRawPartManagerV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="PartInRawPartManager\PartInRawPartManagerWndV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="PartParametersWnd\PartParametersWndV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="PdfViewer\PdfViewer.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="ProdProjManager\ProdProjManagerV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="RawPartManager\RawPartManagerWndV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -597,6 +654,26 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="OnlyProdProject\OnlyProdProjectV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="OptimizePanel\OnlyProdOptimizePanelV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="PartInRawPartManager\PartInRawPartManagerV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="PartParametersWnd\PartParametersWndV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="ProdProjManager\ProdProjManagerV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="ProjectTypeWnd\ProjectTypeWndV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -629,10 +706,6 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Statistics\PDFEditorV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Statistics\StatisticsV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -855,6 +928,7 @@
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtBEAMWALL.ico" />
@@ -1073,55 +1147,14 @@
<ItemGroup>
<Resource Include="Resources\ProjectManager\AddProj.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\PDFEditor\MoveUp.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\PDFEditor\MoveDown.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\PDFEditor\PrintPDF.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\PDFEditor\Delete.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\OpenProjectFileDialog\Archived.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="BouncyCastle">
<Version>1.8.5</Version>
</PackageReference>
<PackageReference Include="DotNetZip">
<Version>1.16.0</Version>
</PackageReference>
<PackageReference Include="EntityFramework">
<Version>6.4.4</Version>
</PackageReference>
<PackageReference Include="Google.Protobuf">
<Version>3.21.9</Version>
</PackageReference>
<PackageReference Include="K4os.Compression.LZ4.Streams">
<Version>1.3.5</Version>
</PackageReference>
<PackageReference Include="Microsoft.Windows.SDK.Contracts">
<Version>10.0.22621.2428</Version>
</PackageReference>
<PackageReference Include="MySql.Data.EntityFramework">
<Version>8.0.21</Version>
</PackageReference>
<PackageReference Include="NLog">
<Version>5.0.1</Version>
</PackageReference>
<PackageReference Include="PDFsharp-MigraDoc-wpf">
<Version>1.50.5147</Version>
</PackageReference>
<PackageReference Include="Portable.BouncyCastle">
<Version>1.9.0</Version>
</PackageReference>
<PackageReference Include="System.IO.Pipelines">
<Version>6.0.0</Version>
</PackageReference>
<Resource Include="Resources\InstrumentPanel\Ott.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\InstrumentPanel\Vis.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
@@ -1130,4 +1163,12 @@ IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Debug" copy $(TargetPa
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.ViewerOptimizerR64.exe
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.ViewerOptimizerD64.exe</PostBuildEvent>
</PropertyGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
</Target>
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
</Project>
@@ -112,13 +112,88 @@ Public Class FeatureListManagerVM
NotifyPropertyChanged(NameOf(AddFeature_IsEnabled))
End Sub
Friend Sub FeatureSelectionChanged()
NotifyPropertyChanged(NameOf(CopyFeature_IsEnabled))
NotifyPropertyChanged(NameOf(MacroFeature_IsEnabled))
NotifyPropertyChanged(NameOf(RemoveFeature_IsEnabled))
End Sub
Private Sub CreateNewFeature(MacroListCount As Integer, nSelMacro As Integer, AddFeatureWndVM As AddFeatureWndVM, nNewFeatureId As Integer, bMacroFlag As Boolean, NewFeat As BTLFeatureM)
' verifico se una Macro è selezionata
If MacroListCount > 0 AndAlso nSelMacro >= 0 Then
' Creo nuova feature sulla base della Macro selezionata
' Creo table e setto variabili
CreateMacroTable()
Dim bOk As Boolean
If AddFeatureWndVM.nSelMacroDefault >= 0 Then
bOk = EgtLuaExecFile(AddFeatureWndVM.m_MacroCustomFilePathList(nSelMacro))
Else
bOk = EgtLuaExecFile(AddFeatureWndVM.m_MacroFilePathList(nSelMacro))
End If
' Leggo variabili
EgtLuaGetGlobIntVar("MACRO.FEATUREID", nNewFeatureId)
' Reset lua
EgtLuaResetGlobVar("MACRO")
If Not bOk Then
MessageBox.Show(EgtMsg(61869), EgtMsg(30007))
Return
End If
bMacroFlag = True
Else
' Creo nuova feature (Macro non selezionata)
NewFeat = BTLFeatureM.CreateBTLFeature(AddFeatureWndVM.nSelPRC.nPRC, AddFeatureWndVM.nSelPRC.nGRP, AddFeatureWndVM.nSelPRC.nSIDE)
NewFeat.SetDefaultValues()
Dim vPar() As Double = Nothing
Dim sPar As String = String.Empty
Dim vParQ() As String = Nothing
NewFeat.CalcParamArray(vPar, sPar, vParQ)
If NewFeat.nPRC = 900 Then NewFeat.sDES = "2"
' aggiorno la feature con nuovo valore
EgtBeamSetPart(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
nNewFeatureId = EgtBeamAddProcess(NewFeat.nSelGRP, NewFeat.nPRC, NewFeat.nSelSIDE, NewFeat.sDES,
Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.NewProcId(),
New Frame3d(), vPar, sPar, vParQ, GDB_ID.NULL, GDB_ID.NULL)
bMacroFlag = False
End If
' se è stata creata
If nNewFeatureId <> GDB_ID.NULL Then
MyMachGroupPanelM.SetDuploModified(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
' la aggiungo a struttura BTL corrente
NewFeat = BTLFeatureM.CreateBTLFeature(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM, nNewFeatureId)
If Not bMacroFlag Then NewFeat.SetDefaultValues()
Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.AddBTLFeature(NewFeat)
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.FirstOrDefault(Function(x) x.BTLFeatureM Is NewFeat)
Map.refProjectVM.BTLStructureVM.SelBTLPart.ResetCalcPart()
End If
End Sub
Private Sub CreateMacroTable()
Dim nMacroW, nMacroH As Integer
If Map.refProjectVM.BTLStructureVM.SelBTLPart.nROTATED = 0 OrElse Map.refProjectVM.BTLStructureVM.SelBTLPart.nROTATED = 180 Then
If Map.refProjectVM.BTLStructureVM.SelBTLPart.m_SelBTLFeatureVM.nSelSIDE = 1 OrElse Map.refProjectVM.BTLStructureVM.SelBTLPart.m_SelBTLFeatureVM.nSelSIDE = 3 Then
nMacroW = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW
nMacroH = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH
Else
nMacroW = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH
nMacroH = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW
End If
ElseIf Map.refProjectVM.BTLStructureVM.SelBTLPart.nROTATED = 90 OrElse Map.refProjectVM.BTLStructureVM.SelBTLPart.nROTATED = 270 Then
If Map.refProjectVM.BTLStructureVM.SelBTLPart.m_SelBTLFeatureVM.nSelSIDE = 1 OrElse Map.refProjectVM.BTLStructureVM.SelBTLPart.m_SelBTLFeatureVM.nSelSIDE = 3 Then
nMacroW = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH
nMacroH = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW
Else
nMacroW = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW
nMacroH = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH
End If
End If
EgtLuaCreateGlobTable("MACRO")
EgtLuaSetGlobNumVar("MACRO.L", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlL)
EgtLuaSetGlobNumVar("MACRO.W", nMacroW)
EgtLuaSetGlobNumVar("MACRO.H", nMacroH)
EgtLuaSetGlobIntVar("MACRO.PROCID", Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.NewProcId())
End Sub
#End Region ' Methods
#Region "COMMANDS"
@@ -179,9 +254,14 @@ Public Class FeatureListManagerVM
If IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) Then Return
' apro finestra di creazione macro
Dim MacroFeatureWndVM As New MacroFeatureWndVM()
Dim MacroFeatureWnd As New MacroFeatureWndV(Application.Current.MainWindow, MacroFeatureWndVM)
If MacroFeatureWnd.ShowDialog() Then
If bOnlyProd Then
Dim NewMacroFeatureWnd As New NewMacroFeatureWnd(Application.Current.MainWindow, MacroFeatureWndVM)
If NewMacroFeatureWnd.ShowDialog() Then
End If
Else
Dim MacroFeatureWnd As New MacroFeatureWndV(Application.Current.MainWindow, MacroFeatureWndVM)
If MacroFeatureWnd.ShowDialog() Then
End If
End If
End Sub
@@ -209,54 +289,24 @@ Public Class FeatureListManagerVM
If IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) Then Return
' apro finestra di definizione nuova feature
Dim AddFeatureWndVM As New AddFeatureWndVM()
Dim AddFeatureWnd As New AddFeatureWndV(Application.Current.MainWindow, AddFeatureWndVM)
If AddFeatureWnd.ShowDialog() Then
Dim NewFeat As BTLFeatureM
Dim nNewFeatureId As Integer = 0
Dim bMacroFlag As Boolean = False
' verifico se una Macro è selezionata
If AddFeatureWndVM.MacroList.Count > 0 AndAlso AddFeatureWndVM.nSelMacro >= 0 Then
' Creo nuova feature sulla base della Macro selezionata
' Creo table e setto variabili
EgtLuaCreateGlobTable("MACRO")
EgtLuaSetGlobNumVar("MACRO.L", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlL)
EgtLuaSetGlobNumVar("MACRO.W", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW)
EgtLuaSetGlobNumVar("MACRO.H", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH)
EgtLuaSetGlobIntVar("MACRO.PROCID", Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.NewProcId())
Dim bOk = EgtLuaExecFile(AddFeatureWndVM.m_MacroFilePathList(AddFeatureWndVM.nSelMacro))
' Leggo variabili
EgtLuaGetGlobIntVar("MACRO.FEATUREID", nNewFeatureId)
' Reset lua
EgtLuaResetGlobVar("MACRO")
If Not bOk Then
MessageBox.Show(EgtMsg(61869), EgtMsg(30007))
Return
Dim NewFeat As BTLFeatureM = Nothing
Dim nNewFeatureId As Integer = 0
Dim bMacroFlag As Boolean = False
If bOnlyProd Then
Dim AddNewFeatureWnd As New NewAddFeatureWndV(Application.Current.MainWindow, AddFeatureWndVM)
If AddNewFeatureWnd.ShowDialog() Then
' verifico se una Macro è selezionata
If AddFeatureWndVM.nSelMacroDefault >= 0 Then
CreateNewFeature(AddFeatureWndVM.MacroDefaultList.Count, AddFeatureWndVM.nSelMacroDefault, AddFeatureWndVM, nNewFeatureId, bMacroFlag, NewFeat)
Else
CreateNewFeature(AddFeatureWndVM.MacroCustomList.Count, AddFeatureWndVM.nSelMacroCustom, AddFeatureWndVM, nNewFeatureId, bMacroFlag, NewFeat)
End If
bMacroFlag = True
Else
' Creo nuova feature (Macro non selezionata)
NewFeat = BTLFeatureM.CreateBTLFeature(AddFeatureWndVM.nSelPRC.nPRC, AddFeatureWndVM.nSelPRC.nGRP, AddFeatureWndVM.nSelPRC.nSIDE)
NewFeat.SetDefaultValues()
Dim vPar() As Double = Nothing
Dim sPar As String = String.Empty
Dim vParQ() As String = Nothing
NewFeat.CalcParamArray(vPar, sPar, vParQ)
' aggiorno la feature con nuovo valore
EgtBeamSetPart(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
nNewFeatureId = EgtBeamAddProcess(NewFeat.nSelGRP, NewFeat.nPRC, NewFeat.nSelSIDE, "",
Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.NewProcId(),
New Frame3d(), vPar, sPar, vParQ, GDB_ID.NULL, GDB_ID.NULL)
bMacroFlag = False
End If
' se è stata creata
If nNewFeatureId <> GDB_ID.NULL Then
MyMachGroupPanelM.SetDuploModified(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
' la aggiungo a struttura BTL corrente
NewFeat = BTLFeatureM.CreateBTLFeature(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM, nNewFeatureId)
If Not bMacroFlag Then NewFeat.SetDefaultValues()
Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.AddBTLFeature(NewFeat)
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.FirstOrDefault(Function(x) x.BTLFeatureM Is NewFeat)
Map.refProjectVM.BTLStructureVM.SelBTLPart.ResetCalcPart()
Else
Dim AddFeatureWnd As New AddFeatureWndV(Application.Current.MainWindow, AddFeatureWndVM)
If AddFeatureWnd.ShowDialog() Then
' verifico se una Macro è selezionata
CreateNewFeature(AddFeatureWndVM.MacroCustomList.Count, AddFeatureWndVM.nSelMacroCustom, AddFeatureWndVM, nNewFeatureId, bMacroFlag, NewFeat)
End If
End If
End Sub
@@ -15,7 +15,7 @@
</Style>
</StackPanel.Style>
<TextBlock Text="{Binding Message}"
Visibility="{Binding Message_Visibility}"
Visibility="{Binding Message_Visibility}"
Style="{StaticResource OptionTextBlock}"/>
<TextBox Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}"
Width="200"
@@ -442,7 +442,6 @@ Public Class FreeContourManagerVM
Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProdProjManagerVM.PartManager_Visibility))
' attivo pannello
Map.refProjectVM.SetFreeContourManager_Visibility(True)
Map.refProjWndVM.SetFreeContourManager_Visibility(True)
EgtDraw()
End Sub
@@ -531,7 +530,6 @@ Public Class FreeContourManagerVM
End If
' disattivo pannello
Map.refProjectVM.SetFreeContourManager_Visibility(False)
Map.refProjWndVM.SetFreeContourManager_Visibility(False)
' attivo bottone edit
SelFeature.RefreshFCMBtnVisibility()
' resetto tutte le variabili correnti
@@ -45,18 +45,20 @@
<Image Source="/Resources/InstrumentPanel/Statistics.png" Stretch="Uniform"/>
</ToggleButton>
<Button Content="VIS"
Command="{Binding Visualization_Command}"
<Button Command="{Binding Visualization_Command}"
ToolTip="{Binding Statistics_Msg}"
Style="{StaticResource ToolBar_Button}"
Visibility="{Binding VisStatistic_Visibility}"
IsEnabled="{Binding VisStatistic_IsEnabled}"/>
IsEnabled="{Binding VisStatistic_IsEnabled}">
<Image Source="/Resources/InstrumentPanel/Vis.png" Stretch="Uniform"/>
</Button>
<Button Content="OTT"
Command="{Binding Optimizer_Command}"
<Button Command="{Binding Optimizer_Command}"
ToolTip="{Binding Statistics_Msg}"
Style="{StaticResource ToolBar_Button}"
Visibility="{Binding OtStatistic_Visibility}"
IsEnabled="{Binding OtStatistic_IsEnabled}"/>
IsEnabled="{Binding OtStatistic_IsEnabled}">
<Image Source="/Resources/InstrumentPanel/Ott.png" Stretch="Uniform"/>
</Button>
</EgtFloating:EgtFloatingPanel>
@@ -24,7 +24,8 @@
<DataGridCheckBoxColumn x:Key="colDO" Binding="{Binding bDO, UpdateSourceTrigger=PropertyChanged}"
MinWidth="28">
<DataGridCheckBoxColumn.Header>
<CheckBox IsChecked="{Binding Path=Tag.bDOALL, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureListV}}}"/>
<CheckBox IsChecked="{Binding Path=Tag.bDOALL, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureListV}}}"
HorizontalAlignment="Center"/>
</DataGridCheckBoxColumn.Header>
</DataGridCheckBoxColumn>
<!--Validità feature-->
@@ -19,13 +19,16 @@
Style="{StaticResource DataGrid_CustomHighLight}">
<DataGrid.Resources>
<!--DO - Abilitazione-->
<DataGridCheckBoxColumn x:Key="colDO" Binding="{Binding bDO,UpdateSourceTrigger=PropertyChanged}">
<DataGridCheckBoxColumn x:Key="colDO" Binding="{Binding bDO, UpdateSourceTrigger=PropertyChanged}"
MinWidth="28">
<!--<DataGridCheckBoxColumn.Header>
<TextBlock Text="{Binding Path=DataContext.DO_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureInPartInRawPartListV}}}"/>
</DataGridCheckBoxColumn.Header>-->
<DataGridCheckBoxColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.DO_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
<!--<TextBlock Text="{Binding DataContext.DO_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>-->
<CheckBox IsChecked="{Binding Path=Tag.bDOALL, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureListV}}}"
HorizontalAlignment="Center"/>
</DataTemplate>
</DataGridCheckBoxColumn.HeaderTemplate>
</DataGridCheckBoxColumn>
@@ -34,8 +34,8 @@
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding bCustom, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding Tag, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
HorizontalAlignment="Center"/>
Visibility="{Binding Tag, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
HorizontalAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
@@ -108,9 +108,11 @@
</DataGridTextColumn>
<!--ROT - Rotazione-->
<DataGridTemplateColumn x:Key="colROT" SortMemberPath="dROT">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding Path=DataContext.ROTATION_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataContext.ROTATION_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
@@ -143,9 +145,11 @@
</DataGridTemplateColumn>
<!--INV - Inversione-->
<DataGridTemplateColumn x:Key="colFLIP">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding Path=DataContext.INVERSION_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataContext.INVERSION_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding bFLIP, UpdateSourceTrigger=PropertyChanged}"
@@ -155,6 +155,11 @@ Public Class PartInRawPartListVM
m_colPartInRawPart_PosY = m_PartInRawPartColumns.FirstOrDefault(Function(x) x.Name = COL_POSY)
' aggiorno la visibilità delle colonne
For Each col In PartInRawPartColumns
If Not bOnlyProd AndAlso nMachType = MachineType.BEAM AndAlso (col.Name.Equals(COL_ROT) OrElse col.Name.Equals(COL_FLIP) OrElse col.Name.Equals(COL_POSX)) Then
col.Visible = False
Else
col.Visible = True
End If
col.ColumnVisibility = If(col.Visible, Visibility.Visible, Visibility.Collapsed)
Next
End Sub
@@ -133,10 +133,12 @@
</DataGridTextColumn>
<!--PosZ - Posizione in Z-->
<DataGridTextColumn x:Key="colPOSZ" Binding="{Binding sPosZ}">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding Path=DataContext.PosZ_Msg,
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataContext.PosZ_Msg,
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:RawPartListV}}}"/>
</DataGridTextColumn.Header>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Foreground" Value="Blue" />
@@ -43,6 +43,18 @@ Public Class LeftPanelVM
NotifyPropertyChanged(NameOf(Parameters_IsEnabled))
End Sub
Private m_Data_IsEnabled As Boolean = False
Public ReadOnly Property Data_IsEnabled As Boolean
Get
Return m_Data_IsEnabled
End Get
End Property
Friend Sub SetData_IsEnabled(bIsEnabled As Boolean)
m_Data_IsEnabled = bIsEnabled
NotifyPropertyChanged(NameOf(Data_IsEnabled))
End Sub
' Definizione comandi
Private m_cmdData As ICommand
Private m_cmdParameter As ICommand
@@ -83,6 +83,7 @@
HorizontalAlignment="Left">
<Button Command="{Binding Data_Command}"
ToolTip="{Binding Data_ToolTip}"
IsEnabled="{Binding Data_IsEnabled}"
Style="{StaticResource LeftPanel_Button}">
<Image Source="/Resources/InstrumentPanel/Analyze.png" Stretch="Uniform"/>
</Button>
@@ -24,39 +24,13 @@ Public Class MyMachGroupPanelVM
Dim nSelBTLPartId As Integer = Map.refProjectVM.BTLStructureVM.SelBTLParts(0).nPartId
' deevidenzio MachGroup e Duplo di questo pezzo
Configuration.ResetSearchPiece(nSelBTLPartId)
'If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
' Dim MachGroupList As New List(Of MyMachGroupVM)
' For Each Machgroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
' Dim bFound As Boolean = False
' For Each Part As PartVM In Machgroup.PartVMList
' If EgtDuploGetOriginal(Part.nPartId) = nSelBTLPartId Then
' Part.ResetSearchFound()
' bFound = True
' End If
' Next
' If bFound Then
' Machgroup.ResetSearchFound()
' End If
' Next
'End If
End If
End If
If Not IsNothing(SelectedMachGroup) AndAlso Not IsNothing(SelectedMachGroup.SelPart) AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) Then
Configuration.ResetSearch(SelectedMachGroup.SelPart.nPartId)
'For BTLPartIndex = 0 To Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1
' Dim nDuploOriginalId As Integer = 0
' If EgtGetInfo(SelectedMachGroup.SelPart.nPartId, GDB_SI_DUPSOU, nDuploOriginalId) AndAlso nDuploOriginalId > 0 AndAlso nDuploOriginalId = Map.refProjectVM.BTLStructureVM.BTLPartVMList(BTLPartIndex).nPartId Then
' Map.refProjectVM.BTLStructureVM.BTLPartVMList(BTLPartIndex).ResetSearchFound()
' Exit For
' End If
'Next
End If
' se modalita' assemblato
Configuration.AssembledMode(Map.refShowBeamPanelVM.ShowBuilding_IsChecked)
'If Map.refShowBeamPanelVM.ShowBuilding_IsChecked AndAlso Map.refShowBeamPanelVM.bShowAll Then
' ' devo smontarlo prima di calcolare le travi, altrimenti non trova i pezzi
' Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
'End If
' se precedente pezzo selezionato
If Not IsNothing(value) AndAlso Map.refProjectVM.LastSelGridType = ProjectVM.GridSelTypes.PART AndAlso Map.refProjectVM.BTLStructureVM.SelBTLParts.Count > 0 Then
Dim SelBTLPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.SelBTLParts(0)
@@ -1,6 +1,4 @@
Imports System.Collections.ObjectModel
Imports System.Collections.Specialized
Imports System.ComponentModel
Imports System.IO
Imports System.Windows.Threading
Imports EgtBEAMWALL.Core
@@ -30,47 +28,15 @@ Public Class MyMachGroupVM
Dim nSelBTLPartId As Integer = Map.refProjectVM.BTLStructureVM.SelBTLParts(0).nPartId
' deevidenzio MachGroup e Duplo di questo pezzo
Configuration.ResetSearchPiece(nSelBTLPartId)
'If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
' Dim MachGroupList As New List(Of MyMachGroupVM)
' For Each Machgroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
' Dim bFound As Boolean = False
' For Each Part As PartVM In Machgroup.PartVMList
' If EgtDuploGetOriginal(Part.nPartId) = nSelBTLPartId Then
' Part.ResetSearchFound()
' bFound = True
' End If
' Next
' If bFound Then
' Machgroup.ResetSearchFound()
' End If
' Next
'End If
End If
If Not IsNothing(m_SelPart) Then
' deevidenzio BTLPart di questo pezzo
If Not IsNothing(Map.refProjectVM.BTLStructureVM) Then
Configuration.ResetSearch(m_SelPart.nPartId)
'For BTLPartIndex = 0 To Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1
' Dim nDuploOriginalId As Integer = 0
' If EgtGetInfo(m_SelPart.nPartId, GDB_SI_DUPSOU, nDuploOriginalId) AndAlso nDuploOriginalId > 0 AndAlso nDuploOriginalId = Map.refProjectVM.BTLStructureVM.BTLPartVMList(BTLPartIndex).nPartId Then
' Map.refProjectVM.BTLStructureVM.BTLPartVMList(BTLPartIndex).ResetSearchFound()
' Exit For
' End If
'Next
End If
End If
' se modalita' assemblato
Configuration.AssembledMode(Map.refShowBeamPanelVM.ShowBuilding_IsChecked)
'If Map.refShowBeamPanelVM.ShowBuilding_IsChecked AndAlso Map.refShowBeamPanelVM.bShowAll Then
' ' devo smontarlo prima di calcolare le travi, altrimenti non trova i pezzi
' Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
'End If
'If Map.refProjectVM.BTLStructureVM.SelBTLParts.Count > 0 Then
' ' deseleziono pezzo in lista BTLPart
' For BTLPartIndex = Map.refProjectVM.BTLStructureVM.SelBTLParts.Count - 1 To 0 Step -1
' Map.refProjectVM.BTLStructureVM.SelBTLParts.Remove(Map.refProjectVM.BTLStructureVM.SelBTLParts(BTLPartIndex))
' Next
'End If
End If
m_SelPart = value
' seleziono pezzo
@@ -78,10 +44,11 @@ Public Class MyMachGroupVM
If Not IsNothing(value) Then
If Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE Then
' imposto modalita' prod su vista feature
'Map.refProjectVM.SelProdProj = ProdProj.PROD
Map.refProdProjManagerVM.SelProdProj = ProdProj.PROD
'' deseleziono pezzo in lista BTLPart
'Map.refProjectVM.BTLStructureVM.SelBTLParts.Clear()
' deseleziono pezzo in lista BTLPart
For BTLPartIndex = Map.refProjectVM.BTLStructureVM.SelBTLParts.Count - 1 To 0 Step -1
Map.refProjectVM.BTLStructureVM.SelBTLParts.RemoveFromList(Map.refProjectVM.BTLStructureVM.SelBTLParts(BTLPartIndex))
Next
End If
EgtSelectObj(SelPart.nPartId)
If Map.refMainMenuVM.SelPage = Pages.MACHINING Then
@@ -89,15 +56,7 @@ Public Class MyMachGroupVM
End If
' trovo ed evidenzio BTLPart di questo pezzo
If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
'Dim MachGroupList As New List(Of MyMachGroupVM)
Configuration.SetSearch(m_SelPart.nPartId)
'For BTLPartIndex = 0 To Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1
' Dim nDuploOriginalId As Integer = 0
' If EgtGetInfo(m_SelPart.nPartId, GDB_SI_DUPSOU, nDuploOriginalId) AndAlso nDuploOriginalId > 0 AndAlso nDuploOriginalId = Map.refProjectVM.BTLStructureVM.BTLPartVMList(BTLPartIndex).nPartId Then
' Map.refProjectVM.BTLStructureVM.BTLPartVMList(BTLPartIndex).SetSearchFound()
' Exit For
' End If
'Next
End If
End If
@@ -150,14 +109,6 @@ Public Class MyMachGroupVM
' verifico se la dimensione e' maggiore del box minimo dei pezzi
Dim b3Parts As New BBox3d
Configuration.VerifyMaxDimension(m_PartVMList, b3Parts)
'Dim nBoxLayerId As Integer = EgtGetFirstNameInGroup(m_PartVMList(0).nPartId, "Box")
'EgtGetBBoxGlob(nBoxLayerId, GDB_BB.EXACT, b3Parts)
'For PartIndex = 1 To m_PartVMList.Count - 1
' Dim b3Part As New BBox3d
' nBoxLayerId = EgtGetFirstNameInGroup(m_PartVMList(PartIndex).nPartId, "Box")
' EgtGetBBoxGlob(nBoxLayerId, GDB_BB.EXACT, b3Part)
' b3Parts.Add(b3Part)
'Next
Dim b3RawPart As New BBox3d
EgtGetRawPartBBox(nRawPartId, b3RawPart)
Dim dMinValue As Double = 0
@@ -175,19 +126,6 @@ Public Class MyMachGroupVM
' riporto il grezzo nell'angolo tavola di origine
Dim b3Tab As New BBox3d
Configuration.SelectCorner(b3Tab, nRawPartId)
'EgtGetTableArea(1, b3Tab)
'Dim p3OrigOnTab As Point3d
'Select Case CurrentMachine.OrigCorner
' Case MCH_CR.BL
' p3OrigOnTab = New Point3d(CurrentMachine.OrigOffsX, CurrentMachine.OrigOffsY, 0)
' Case MCH_CR.BR
' p3OrigOnTab = New Point3d(b3Tab.DimX() - CurrentMachine.OrigOffsX, CurrentMachine.OrigOffsY, 0)
' Case MCH_CR.TL
' p3OrigOnTab = New Point3d(CurrentMachine.OrigOffsX, b3Tab.DimY() - CurrentMachine.OrigOffsY, 0)
' Case MCH_CR.TR
' p3OrigOnTab = New Point3d(b3Tab.DimX() - CurrentMachine.OrigOffsX, b3Tab.DimY() - CurrentMachine.OrigOffsY, 0)
'End Select
'EgtMoveToCornerRawPart(nRawPartId, p3OrigOnTab, CurrentMachine.OrigCorner)
' sposto tutti i pezzi di quanto si e' accorciato il grezzo
If CurrentMachine.NestingCorner = MCH_CR.TR OrElse CurrentMachine.NestingCorner = MCH_CR.BR Then
For Each Part In m_PartVMList
@@ -223,14 +161,6 @@ Public Class MyMachGroupVM
' verifico se la dimensione e' maggiore del box minimo dei pezzi
Dim b3Parts As New BBox3d
Configuration.VerifyMaxDimension(m_PartVMList, b3Parts)
'Dim nBoxLayerId As Integer = EgtGetFirstNameInGroup(m_PartVMList(0).nPartId, "Box")
'EgtGetBBoxGlob(nBoxLayerId, GDB_BB.EXACT, b3Parts)
'For PartIndex = 1 To m_PartVMList.Count - 1
' Dim b3Part As New BBox3d
' nBoxLayerId = EgtGetFirstNameInGroup(m_PartVMList(PartIndex).nPartId, "Box")
' EgtGetBBoxGlob(nBoxLayerId, GDB_BB.EXACT, b3Part)
' b3Parts.Add(b3Part)
'Next
Dim b3RawPart As New BBox3d
EgtGetRawPartBBox(nRawPartId, b3RawPart)
Dim dMinValue As Double = 0
@@ -248,19 +178,6 @@ Public Class MyMachGroupVM
' riporto il grezzo nell'angolo tavola di origine
Dim b3Tab As New BBox3d
Configuration.SelectCorner(b3Tab, nRawPartId)
'EgtGetTableArea(1, b3Tab)
'Dim p3OrigOnTab As Point3d
'Select Case CurrentMachine.OrigCorner
' Case MCH_CR.BL
' p3OrigOnTab = New Point3d(CurrentMachine.OrigOffsX, CurrentMachine.OrigOffsY, 0)
' Case MCH_CR.BR
' p3OrigOnTab = New Point3d(b3Tab.DimX() - CurrentMachine.OrigOffsX, CurrentMachine.OrigOffsY, 0)
' Case MCH_CR.TL
' p3OrigOnTab = New Point3d(CurrentMachine.OrigOffsX, b3Tab.DimY() - CurrentMachine.OrigOffsY, 0)
' Case MCH_CR.TR
' p3OrigOnTab = New Point3d(b3Tab.DimX() - CurrentMachine.OrigOffsX, b3Tab.DimY() - CurrentMachine.OrigOffsY, 0)
'End Select
'EgtMoveToCornerRawPart(nRawPartId, p3OrigOnTab, CurrentMachine.OrigCorner)
' sposto tutti i pezzi di quanto si e' accorciato il grezzo
If CurrentMachine.NestingCorner = MCH_CR.TR OrElse CurrentMachine.NestingCorner = MCH_CR.TL Then
For Each Part In m_PartVMList
@@ -1,7 +1,6 @@
Imports System.Collections.ObjectModel
Imports System.Collections.Specialized
Imports System.ComponentModel
Imports System.IO
Imports EgtBEAMWALL.Core
Imports EgtBEAMWALL.DataLayer.DatabaseModels
Imports EgtUILib
@@ -223,7 +222,7 @@ Public Class PartVM
Dim vtDeltaBox As Vector3d = b3Box.Min - b3Part.Min
' reinserisco il pezzo nel grezzo
EgtAddPartToRawPart(nPartId, New Point3d(dTempPosX - vtDeltaBox.x, dTempPosY - vtDeltaBox.y, 0), ParentMachGroupVM.MyMachGroupM.nRawPartId)
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
ElseIf bOnlyProd AndAlso Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
' elimino vecchio grezzo ed eseguo script creazione nuovo
DeleteOldRaw()
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
@@ -321,7 +320,7 @@ Public Class PartVM
End Sub
Private Sub Rotate(IsPositive As Boolean)
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
If bOnlyProd AndAlso Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
' elimino vecchio grezzo ed eseguo script creazione nuovo
DeleteOldRaw()
' recupero layer del box
@@ -360,39 +359,21 @@ Public Class PartVM
' annullo Flip
If bFLIP Then EgtRotate(nPartId, b3Box.Center, Vector3d.Z_AX, 180, GDB_RT.GLOB)
' ripristino rotazione
Dim dRotation As Integer = 0
If dW <> dH Then
dRotation = m_PartM.dROT + dRot
m_PartM.dROT = dRotation
If dRotation >= 360 Then
dRotation = dRot
m_PartM.dROT = 0
End If
ElseIf dW = dH Then
dRotation = m_PartM.dROT - dRot
If dRotation = 0 Then
dRotation = 3 * dRot
m_PartM.dROT = 0
ElseIf dRotation = 90 Then
dRotation += 2 * dRot
m_PartM.dROT = 90
ElseIf dRotation = 180 Then
dRotation += dRot
m_PartM.dROT = 180
ElseIf dRotation < 0 Then
dRotation += 4 * dRot
m_PartM.dROT = 270
End If
Dim TempRot = m_PartM.dROT
TempRot -= dRot
If TempRot >= 360 Then
TempRot -= 360
ElseIf TempRot < 0 Then
TempRot += 360
End If
EgtRotate(nPartId, b3Box.Center, Vector3d.X_AX, dRotation, GDB_RT.GLOB)
' salvo informazione
m_PartM.dROT = TempRot
EgtSetInfo(nPartId, MGR_PRT_ROT, m_PartM.dROT)
' annullo Flip
EgtRotate(nPartId, b3Box.Center, Vector3d.X_AX, -dRot, GDB_RT.GLOB)
If bFLIP Then EgtRotate(nPartId, b3Box.Center, Vector3d.Z_AX, 180, GDB_RT.GLOB)
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
EgtOutLog("Fallita esecuzione ExecBeam. ERRORE")
End If
NotifyPropertyChanged(NameOf(m_PartM.dROT))
NotifyPropertyChanged(NameOf(sROT))
End If
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL Then
' salvo posizione
@@ -469,7 +450,6 @@ Public Class PartVM
nRawId = EgtGetFirstRawPart()
End While
End Sub
Friend Sub SelectBTLPart()
' eseguo la selezione nella lista pezzi
Dim nBTLPartId As Integer = MyMachGroupPanelM.DuploGetOriginal(nPartId)
@@ -59,6 +59,44 @@ Public Class MacroFeatureWndVM
End Set
End Property
Private m_sDescBTLFeature As String
Public Property sDescBTLFeature As String
Get
Return m_sDescBTLFeature
End Get
Set(value As String)
If value <> m_sDescBTLFeature Then
m_sDescBTLFeature = value
End If
End Set
End Property
Private m_sMacroCustom As String
Public Property sMacroCustom As String
Get
Return m_sMacroCustom
End Get
Set(value As String)
m_sMacroCustom = value
End Set
End Property
Private m_bIsCustomChecked As Boolean
Public Property bIsCustomChecked As Boolean
Get
Return m_bIsCustomChecked
End Get
Set(value As Boolean)
m_bIsCustomChecked = value
End Set
End Property
Public ReadOnly Property bCustomVisibility As Visibility
Get
Return If(Map.refMainWindowVM.MainWindowM.nUserLevel >= 10, Visibility.Visible, Visibility.Collapsed)
End Get
End Property
' Definizione comandi
Private m_cmdOk As ICommand
@@ -70,6 +108,11 @@ Public Class MacroFeatureWndVM
For Each FeatureItem In Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList
FeatureList.Add(FeatureItem)
Next
If bOnlyProd Then
nSelFeature = Map.refProjectVM.BTLStructureVM.SelBTLPart.m_SelBTLFeatureVM
sDescBTLFeature = nSelFeature.sDesc.ToUpper()
End If
End Sub
#End Region ' CONSTRUCTOR
@@ -107,7 +150,7 @@ Public Class MacroFeatureWndVM
Friend Sub WriteMacro(sMacroName As String)
' inizio routine di scrittura
Dim FileContent As String() = File.ReadAllLines(Map.refMainWindowVM.MainWindowM.sMacroDir & "\" & MACROTEMPLATE_FILE)
Dim FileContent As String() = File.ReadAllLines(Map.refMainWindowVM.MainWindowM.sConfigDir & "\" & MACROTEMPLATE_FILE)
Dim FileName As String = CalcBeamPrivateProfileGRP(nSelFeature.nSelGRP) & "." & nSelFeature.nPRC & FILENAMESEPARATOR & sMacroName
For LineIndex As Integer = 0 To FileContent.Count - 1
Dim sCurrLine As String = FileContent(LineIndex)
@@ -153,7 +196,17 @@ Public Class MacroFeatureWndVM
"'" & nSelFeature.sDES & "', " &
"MACRO.PROCID") 'nSelFeature.ParentPart.NewProcId() &
Next
File.WriteAllLines(Map.refMainWindowVM.MainWindowM.sMacroDir & "\" & FileName & ".lua", FileContent, Text.Encoding.UTF8)
If bOnlyProd Then
If m_bIsCustomChecked AndAlso Map.refMainWindowVM.MainWindowM.nUserLevel >= 10 Then
File.WriteAllLines(Map.refMainWindowVM.MainWindowM.sMacroDefaultDir & "\" & FileName & ".lua", FileContent, Text.Encoding.UTF8)
ElseIf Not bIsCustomChecked AndAlso Map.refMainWindowVM.MainWindowM.nUserLevel >= 10 Then
File.WriteAllLines(Map.refMainWindowVM.MainWindowM.sMacroCustomDir & "\" & FileName & ".lua", FileContent, Text.Encoding.UTF8)
Else
File.WriteAllLines(Map.refMainWindowVM.MainWindowM.sMacroDefaultDir & "\" & FileName & ".lua", FileContent, Text.Encoding.UTF8)
End If
Else
File.WriteAllLines(Map.refMainWindowVM.MainWindowM.sMacroCustomDir & "\" & FileName & ".lua", FileContent, Text.Encoding.UTF8)
End If
End Sub
#End Region ' Ok
@@ -0,0 +1,59 @@
<EgtWPFLib5:EgtCustomWindow x:Class="NewMacroFeatureWnd"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.ViewerOptimizer"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize"
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterOwner"
IsClosable="False"
IsMinimizable="False"
IsResizable="False"
Title="NewMacroFeature">
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="Feature"
Margin="5"
Style="{StaticResource OptionTextBlock}"/>
<TextBlock Text="{Binding sDescBTLFeature}"
Grid.Column="1"
HorizontalAlignment="Left"
Style="{StaticResource OptionTextBlock}"/>
<CheckBox Content="Default Macro"
IsChecked="{Binding bIsCustomChecked}"
Visibility="{Binding bCustomVisibility}"
Grid.Column="2"
Margin="0,6,5,0"/>
<TextBlock Text="Name"
Grid.Row="1"
Style="{StaticResource OptionTextBlock}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sFeatureName}"
Grid.Row="1"
Grid.Column="1"
Grid.ColumnSpan="2"
Margin="5"
Width="200"/>
<UniformGrid Columns="2"
Grid.Row="2"
Grid.ColumnSpan="3"
Margin="5">
<Button Content="Ok"
Command="{Binding Ok_Command}"
IsDefault="True"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
<Button Content="Cancel"
IsCancel="True"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
</UniformGrid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
@@ -0,0 +1,18 @@
Public Class NewMacroFeatureWnd
Private WithEvents m_MacroFeatureWndVM As MacroFeatureWndVM
Sub New(Owner As Window, MacroFeatureWndVM As MacroFeatureWndVM)
MyBase.New(Owner)
' This call is required by the designer.
InitializeComponent()
Me.DataContext = MacroFeatureWndVM
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_MacroFeatureWndVM = MacroFeatureWndVM
End Sub
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_MacroFeatureWndVM.m_CloseWindow
Me.DialogResult = bDialogResult
End Sub
End Class
@@ -144,9 +144,15 @@ Public Class MainWindowM
End Get
End Property
Friend ReadOnly Property sMacroDir As String
Friend ReadOnly Property sMacroDefaultDir As String
Get
Return m_sDataDir & "\" & MACRO_DIR
Return m_sDataDir & "\" & MACRODEFAULT_DIR
End Get
End Property
Friend ReadOnly Property sMacroCustomDir As String
Get
Return m_sDataDir & "\" & MACROCUSTOM_DIR
End Get
End Property
@@ -22,7 +22,6 @@ Public Class NewOpenProjectFileDialogVM
Public Overrides Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing, Optional GoToProd As Boolean = False) As Boolean?
m_ProjectType = ProjectType
ProdItem.m_delUpdateNameInDb = AddressOf DbControllers.m_ProdController.UpdateDescription
NotifyPropertyChanged(NameOf(FilterTypeList))
m_SelFilterType = m_FilterTypeList(0)
@@ -251,3 +250,33 @@ Public Class NewOpenProjectFileDialogVM
#End Region ' METHODS
End Class
Public Class ProdItem
Inherits Core.ProdItem
Public Overrides Property sName As String
Get
Return If(Not IsNothing(m_ProdFileVM), m_ProdFileVM.sName, "")
End Get
Set(value As String)
If Not IsNothing(m_ProdFileVM) Then
DbControllers.m_ProdController.UpdateDescription(m_ProdFileVM.nProdId, value)
m_ProdFileVM.sName = value
m_delIsModifiedSetUp(False)
End If
End Set
End Property
Sub New(ProdFileVM As ProdFileVM, ProjFileVM As ProjFileVM)
MyBase.New(ProdFileVM, ProjFileVM)
End Sub
Sub New(ProjFileVM As ProjFileVM)
MyBase.New(ProjFileVM)
End Sub
Sub New(ProdFileVM As ProjectFileVM, ProjFileVMList As List(Of ProjectFileVM))
MyBase.New(ProdFileVM, ProjFileVMList)
End Sub
End Class
@@ -46,6 +46,8 @@
<EgtBEAMWALL:ViewPanelV DataContext="{StaticResource ViewPanelVM}"/>
<EgtBEAMWALL:InstrumentPanelV DataContext="{StaticResource InstrumentPanelVM}"/>
<EgtBEAMWALL:CalcPanelV DataContext="{StaticResource CALCPanelVM}"/>
<EgtBEAMWALL:SpecialPanelV DataContext="{StaticResource SpecialPanelVM}"
Visibility="{Binding DataContext.SpecialPanel_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:ProjectV}}}"/>
<EgtBEAMWALL:FreeContourManagerV DataContext="{StaticResource FreeContourManagerVM}"
Visibility="{Binding DataContext.FreeContourManager_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdProjectV}}}"/>
</WrapPanel>
@@ -12,7 +12,6 @@ Public Class OpenProjectFileDialogVM
Public Overrides Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing, Optional GoToProd As Boolean = False) As Boolean?
m_ProjectType = ProjectType
m_GoToProd = GoToProd
' carico colonne
LoadColumns(ProjectType)
NotifyPropertyChanged(NameOf(FilterTypeList))
@@ -20,7 +19,7 @@ Public Class OpenProjectFileDialogVM
' carico lista progetti
If IsNothing(CurrProjectList) OrElse CurrProjectList.Count = 0 Then
SetFixedProjectList(False)
RefreshProjectList()
RefreshProjectList(GoToProd)
Else
SetFixedProjectList(True)
m_ProjectList = New ObservableCollection(Of ProjectFileVM)(CurrProjectList)
@@ -30,7 +29,7 @@ Public Class OpenProjectFileDialogVM
m_ProjectList_View.Filter = AddressOf ProjectFilter
End Function
Public Overrides Sub RefreshProjectList()
Public Overrides Sub RefreshProjectList(Optional GoToProd As Boolean = False)
m_ProjectList.Clear()
' calcolo periodo e righe
Dim dtStart As DateTime
@@ -67,7 +66,22 @@ Public Class OpenProjectFileDialogVM
Else
DbProjectList = DbControllers.m_ProjController.GetLastByExpDesc(dtStart, dtEnd, nRowQuantity, False)
End If
If m_GoToProd Then
For Each Project In DbProjectList
' recupero path per verificare esista
If IsNothing(Project.nProjId) OrElse Project.nProjId = 0 Then Continue For
Dim sPath As String = Map.refMainWindowVM.MainWindowM.sProjsDir & "\" & Project.nProjId.ToString("0000") & "\" & Project.nProjId.ToString("0000") & ".nge"
If File.Exists(sPath) Then
m_ProjectList.Add(New ProjFileVM(Project))
Else
' CheckMe impostata come cancellazione FISICA dal DB...
DbControllers.m_ProjController.DeleteProj(Project.nProjId, False)
EgtOutLog("Found project on Db without the folder and erased it! Proj number " & Project.nProjId.ToString("0000"))
End If
Next
ElseIf m_ProjectType = ProjectType.PROD Then
Dim DbProjectList As New List(Of ProdFileM)
DbProjectList = DbControllers.m_ProdController.GetLastDesc(dtStart, dtEnd, nRowQuantity, True)
If GoToProd Then
For Each Project In DbProjectList
' recupero path per verificare esista
If IsNothing(Project.nProdId) OrElse Project.nProdId = 0 Then Continue For
@@ -75,7 +89,7 @@ Public Class OpenProjectFileDialogVM
If Project.sMachine = ProjectManagerVM.CurrProj.sMachine AndAlso
Project.nType = ProjectManagerVM.CurrProj.nType Then
If File.Exists(sPath) Then
m_ProjectList.Add(New ProjFileVM(Project))
m_ProjectList.Add(New ProdFileVM(Project))
Else
DbControllers.m_ProdController.DeleteProd(Project.nProdId, True)
EgtOutLog("Found project on Db without the folder and erased it! Prod number " & Project.nProdId.ToString("0000"))
@@ -85,31 +99,16 @@ Public Class OpenProjectFileDialogVM
Else
For Each Project In DbProjectList
' recupero path per verificare esista
If IsNothing(Project.nProjId) OrElse Project.nProjId = 0 Then Continue For
Dim sPath As String = Map.refMainWindowVM.MainWindowM.sProjsDir & "\" & Project.nProjId.ToString("0000") & "\" & Project.nProjId.ToString("0000") & ".nge"
If IsNothing(Project.nProdId) OrElse Project.nProdId = 0 Then Continue For
Dim sPath As String = Map.refMainWindowVM.MainWindowM.sProdsDir & "\" & Project.nProdId.ToString("0000") & "\" & Project.nProdId.ToString("0000") & ".nge"
If File.Exists(sPath) Then
m_ProjectList.Add(New ProjFileVM(Project))
m_ProjectList.Add(New ProdFileVM(Project))
Else
' CheckMe impostata come cancellazione FISICA dal DB...
DbControllers.m_ProjController.DeleteProj(Project.nProjId, False)
EgtOutLog("Found project on Db without the folder and erased it! Proj number " & Project.nProjId.ToString("0000"))
DbControllers.m_ProdController.DeleteProd(Project.nProdId, True)
EgtOutLog("Found project on Db without the folder and erased it! Prod number " & Project.nProdId.ToString("0000"))
End If
Next
End If
ElseIf m_ProjectType = ProjectType.PROD Then
Dim DbProjectList As New List(Of ProdFileM)
DbProjectList = DbControllers.m_ProdController.GetLastDesc(dtStart, dtEnd, nRowQuantity, True)
For Each Project In DbProjectList
' recupero path per verificare esista
If IsNothing(Project.nProdId) OrElse Project.nProdId = 0 Then Continue For
Dim sPath As String = Map.refMainWindowVM.MainWindowM.sProdsDir & "\" & Project.nProdId.ToString("0000") & "\" & Project.nProdId.ToString("0000") & ".nge"
If File.Exists(sPath) Then
m_ProjectList.Add(New ProdFileVM(Project))
Else
DbControllers.m_ProdController.DeleteProd(Project.nProdId, True)
EgtOutLog("Found project on Db without the folder and erased it! Prod number " & Project.nProdId.ToString("0000"))
End If
Next
End If
End Sub
@@ -1,101 +0,0 @@
Imports System.Threading.Tasks
Imports EgtWPFLib5
Imports Windows.Storage
Imports System.IO
Imports Windows.Data.Pdf
Imports Windows.Storage.Streams
Public Class PDFViewerVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Private m_sPdfPath As String
Public Property PdfPath As String
Get
Return m_sPdfPath
End Get
Set(value As String)
m_sPdfPath = value
If Not String.IsNullOrEmpty(m_sPdfPath) Then
Dim path = System.IO.Path.GetFullPath(m_sPdfPath)
StorageFile.GetFileFromPathAsync(path).AsTask().ContinueWith(Function(t) PdfDocument.LoadFromFileAsync(t.Result).AsTask()).Unwrap().ContinueWith(Function(t2) PdfToImages(t2.Result), TaskScheduler.FromCurrentSynchronizationContext())
End If
NotifyPropertyChanged(NameOf(PdfPath))
End Set
End Property
Private Shared m_Items As List(Of Image)
Public Shared ReadOnly Property Items As List(Of Image)
Get
Return m_Items
End Get
End Property
'Public Shared ReadOnly PdfPathProperty As DependencyProperty = DependencyProperty.Register("PdfPath",
' GetType(String),
' GetType(PDFViewerVM))
'Private Shared Sub OnPdfPathChanged(d As DependencyObject, e As DependencyPropertyChangedEventArgs)
' 'Dim pdfDrawer As PdfViewer = CType(d, PdfViewer)
' If Not String.IsNullOrEmpty(PdfPath) Then
' Dim path = System.IO.Path.GetFullPath(PdfPath)
' StorageFile.GetFileFromPathAsync(path).AsTask().ContinueWith(Function(t) PdfDocument.LoadFromFileAsync(t.Result).AsTask()).Unwrap().ContinueWith(Function(t2) PdfToImages(pdfDrawer, t2.Result), TaskScheduler.FromCurrentSynchronizationContext())
' End If
'End Sub
#End Region ' Field & Properties
Sub New()
End Sub
#Region "METHODS"
''' <summary>
''' Funzione che trasforma le pagine del pdf in immagine
''' </summary>
''' <param name="pdfDoc">Singola pagina del PDf</param>
''' <returns></returns>
Private Shared Async Function PdfToImages(pdfDoc As PdfDocument) As Task
'Dim items As ItemCollection = pdfViewer.PagesContainer.Items
Items.Clear()
If IsNothing(pdfDoc) Then Return
For i As Integer = 0 To pdfDoc.PageCount - 1
Using page As PdfPage = pdfDoc.GetPage(i)
Dim bitmap As BitmapImage = Await PageToBitmapAsync(page)
Dim image As New Image With {
.Source = bitmap,
.HorizontalAlignment = HorizontalAlignment.Center,
.Width = bitmap.Width,
.Height = bitmap.Height
}
Items.Add(image)
End Using
Next
End Function
''' <summary>
''' Funzione che trasforma la singola pagina del PDF in bitmap
''' </summary>
''' <param name="page">Singola pagina del PDF che verrà trasformata in bitmap</param>
''' <returns></returns>
Private Shared Async Function PageToBitmapAsync(page As PdfPage) As Task(Of BitmapImage)
Dim image As New BitmapImage()
Using stream = New InMemoryRandomAccessStream()
Await page.RenderToStreamAsync(stream)
image.BeginInit()
image.CacheOption = BitmapCacheOption.OnLoad
image.StreamSource = stream.AsStream()
image.EndInit()
End Using
Return image
End Function
#End Region ' Methods
End Class
@@ -1,9 +0,0 @@
<UserControl x:Class="PdfViewer"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ScrollViewer PanningMode="Both"
Background="DarkGray">
<!--<ItemsControl ItemsSource="{Binding Items}"/>-->
<ItemsControl x:Name="PagesContainer"/>
</ScrollViewer>
</UserControl>
@@ -1,143 +0,0 @@
Imports System.IO
Imports System.Threading.Tasks
Imports Windows.Data.Pdf
Imports Windows.Storage
Imports Windows.Storage.Streams
Partial Public Class PdfViewer
Inherits UserControl
'Public Property PdfPath As String
' Get
' Return CStr(GetValue(PdfPathProperty))
' End Get
' Set(value As String)
' SetValue(PdfPathProperty, value)
' End Set
'End Property
'Private Shared m_Items As New List(Of Image)
'Public Shared ReadOnly Property Items As List(Of Image)
' Get
' Return m_Items
' End Get
'End Property
Public Property PdfPath As String
Get
Return CStr(GetValue(PdfPathProperty))
End Get
Set(value As String)
SetValue(PdfPathProperty, value)
End Set
End Property
'Public Shared ReadOnly PdfPathProperty As DependencyProperty = DependencyProperty.Register("PdfPath",
' GetType(String),
' GetType(PdfViewer),
' New FrameworkPropertyMetadata(String.Empty, New PropertyChangedCallback(AddressOf OnPdfPathChanged)))
Public Shared ReadOnly PdfPathProperty As DependencyProperty = DependencyProperty.Register("PdfPath",
GetType(String),
GetType(PdfViewer),
New PropertyMetadata(Nothing, propertyChangedCallback:=AddressOf OnPdfPathChanged))
Private Shared Sub OnPdfPathChanged(d As DependencyObject, e As DependencyPropertyChangedEventArgs)
Dim pdfDrawer As PdfViewer = CType(d, PdfViewer)
If Not String.IsNullOrEmpty(pdfDrawer.PdfPath) Then
Dim path = System.IO.Path.GetFullPath(pdfDrawer.PdfPath)
StorageFile.GetFileFromPathAsync(path).AsTask().ContinueWith(Function(t) PdfDocument.LoadFromFileAsync(t.Result).AsTask()).Unwrap().ContinueWith(Function(t2) PdfToImages(pdfDrawer, t2.Result), TaskScheduler.FromCurrentSynchronizationContext())
End If
End Sub
'Private Shared Sub OnPdfPathChanged(d As DependencyObject, e As DependencyPropertyChangedEventArgs)
' Dim pdfDrawer As PdfViewer = CType(d, PdfViewer)
' If Not String.IsNullOrEmpty(pdfDrawer.PdfPath) Then
' Dim path = System.IO.Path.GetFullPath(pdfDrawer.PdfPath)
' StorageFile.GetFileFromPathAsync(path).AsTask().ContinueWith(Function(t) PdfDocument.LoadFromFileAsync(t.Result).AsTask()).Unwrap().ContinueWith(Function(t2) PdfToImages(t2.Result), TaskScheduler.FromCurrentSynchronizationContext())
' End If
'End Sub
Sub New()
InitializeComponent()
End Sub
'''' <summary>
'''' Funzione che trasforma le pagine del pdf in immagine
'''' </summary>
'''' <param name="pdfDoc">Singola pagina del PDf</param>
'''' <returns></returns>
'Private Shared Async Function PdfToImages(pdfDoc As PdfDocument) As Task
' 'Dim items As ItemCollection = pdfViewer.PagesContainer.Items
' Items.Clear()
' If IsNothing(pdfDoc) Then Return
' For i As Integer = 0 To pdfDoc.PageCount - 1
' Using page As PdfPage = pdfDoc.GetPage(i)
' Dim bitmap As BitmapImage = Await PageToBitmapAsync(page)
' Dim image As New Image With {
' .Source = bitmap,
' .HorizontalAlignment = HorizontalAlignment.Center,
' .Width = bitmap.Width,
' .Height = bitmap.Height
' }
' Items.Add(image)
' End Using
' Next
'End Function
''' <summary>
''' Funzione che trasforma le pagine del pdf in immagine
''' </summary>
''' <param name="pdfViewer">PDF da trasformare</param>
''' <param name="pdfDoc">Singola pagina del PDf</param>
''' <returns></returns>
Private Shared Async Function PdfToImages(pdfViewer As PdfViewer, pdfDoc As PdfDocument) As Task
Dim items As ItemCollection = pdfViewer.PagesContainer.Items
items.Clear()
If IsNothing(pdfDoc) Then Return
For i As Integer = 0 To pdfDoc.PageCount - 1
Using page As PdfPage = pdfDoc.GetPage(i)
Dim bitmap As BitmapImage = Await PageToBitmapAsync(page)
Dim image As New Image With {
.Source = bitmap,
.Width = bitmap.PixelWidth,
.Height = bitmap.PixelHeight,
.HorizontalAlignment = HorizontalAlignment.Center,
.Margin = New Thickness(5, 20, 5, 20),
.SnapsToDevicePixels = True,
.Stretch = Stretch.UniformToFill
}
items.Add(image)
End Using
Next
End Function
''' <summary>
''' Funzione che trasforma la singola pagina del PDF in bitmap
''' </summary>
''' <param name="page">Singola pagina del PDF che verrà trasformata in bitmap</param>
''' <returns></returns>
Private Shared Async Function PageToBitmapAsync(page As PdfPage) As Task(Of BitmapImage)
Dim image As New BitmapImage()
Using stream = New InMemoryRandomAccessStream()
Await page.RenderToStreamAsync(stream)
image.BeginInit()
image.CreateOptions = BitmapCreateOptions.PreservePixelFormat
image.DecodePixelWidth = page.Size.Width
image.DecodePixelHeight = page.Size.Height
image.CacheOption = BitmapCacheOption.OnLoad
image.StreamSource = stream.AsStream()
image.UriSource = Nothing
image.EndInit()
End Using
'image.Freeze()
Return image
End Function
End Class
@@ -20,7 +20,7 @@ Public Class ProdProjManagerVM
Public ReadOnly Property PartManager_Visibility As Visibility
Get
Return If((Map.refMainMenuVM.SelPage = Pages.VIEW OrElse Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE) AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refProjectVM.BTLStructureVM.SelectionType = BTLStructureVM.SelectionTypes.SELECT_ AndAlso Not Map.refFreeContourManagerVM.bIsActive, Visibility.Visible, Visibility.Collapsed)
Return Map.refProjectVM.PartManager_Visibility
End Get
End Property
@@ -563,15 +563,6 @@ Public Class ProjManagerVM
If bShowLoading Then LoadingWndHelper.OpenLoadingWnd(ActiveIds.SAVEPROJ, 1, EgtMsg(63007), "", 100) ' Project saving
' se vista tutti i pezzi
Configuration.ShowAllPieces(bShowBuilding, bShowSolid, True, False)
'If Map.refShowBeamPanelVM.bShowAll Then
' ' verifico se assemblato e lo annullo per salvataggio
' bShowBuilding = Map.refShowBeamPanelVM.ShowBuilding_IsChecked
' If bShowBuilding Then Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
' ' se vista singolo pezzo
'Else
' bShowSolid = Map.refShowBeamPanelVM.ShowSolid_IsChecked
' If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
'End If
' imposto ProjId di caricamento
m_nLoadingProjId = CurrProj.nProjId
Map.refSceneHostVM.SaveProject()
@@ -861,18 +852,6 @@ Public Class ProjManagerVM
Dim bShowSolid As Boolean = False
Dim nSelPartId As Integer = GDB_ID.NULL
Configuration.ShowAllPieces(bShowBuilding, bShowSolid, nSelPartId, True)
'If Map.refShowBeamPanelVM.bShowAll Then
' ' verifico se assemblato e lo annullo per salvataggio
' bShowBuilding = Map.refShowBeamPanelVM.ShowBuilding_IsChecked
' If bShowBuilding Then Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
' ' se vista singolo pezzo
'Else
' bShowSolid = Map.refShowBeamPanelVM.ShowSolid_IsChecked
' If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
' ' se pezzo selezionato lo segno e metto vista tutti
' nSelPartId = Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId
' Map.refProjectVM.BTLStructureVM.ShowAll(False)
'End If
Dim sDir As String = String.Empty
GetMainPrivateProfileString(S_GENERAL, K_LASTUPDATEDIR, "", sDir)
@@ -1182,26 +1161,6 @@ Public Class ProjManagerVM
' elimino i pezzi da sovrascrivere nel progetto corrente
Configuration.DeletePieces(UpdateBTLWndVM.BTLPartList)
'For Each BTLPartToOverwriteWith In UpdateBTLWndVM.BTLPartList
' If BTLPartToOverwriteWith.bInsert Then
' Dim BTLPartToUpdate As BTLPartVM = Map.refProjectVM.BTLStructureVM.BTLPartVMList.FirstOrDefault(Function(x) x.nPDN = BTLPartToOverwriteWith.nPDN)
' ' se BTLPartToUpdate è Nothing significa che il pezzo è nuovo e quindi basta accodarlo senza eliminare nulla
' If Not IsNothing(BTLPartToUpdate) Then
' Dim nPartToDeleteId As Integer = BTLPartToUpdate.nPartId
' Dim nCurrPartId = EgtGetCurrPart()
' EgtErase(nPartToDeleteId)
' nCurrPartId = EgtGetCurrPart()
' ' verifico se rimuovere sezione dalla lista
' If Not Map.refProjectVM.BTLStructureVM.BTLPartVMList.Any(Function(x) x IsNot BTLPartToUpdate AndAlso x.Section = BTLPartToUpdate.Section) Then
' Map.refProjectVM.BTLStructureVM.SectionList.Remove(BTLPartToUpdate.Section)
' End If
' ' rimuovo dalla lista pezzi
' Dim Index As Integer = Map.refProjectVM.BTLStructureVM.BTLPartVMList.IndexOf(BTLPartToUpdate)
' Map.refProjectVM.BTLStructureVM.SetSelBTLPart(Nothing)
' Map.refProjectVM.BTLStructureVM.BTLPartVMList.RemoveAt(Index)
' End If
' End If
'Next
' salvo gli id degli AsseBase presenti nel progetto corrente
Dim AsseBaseIdList As New List(Of Integer)
@@ -1384,11 +1343,6 @@ Public Class ProjManagerVM
Dim bShowBuilding As Boolean = False
If Map.refMainMenuVM.SelPage = Pages.VIEW Then
Configuration.ShowAllPieces(bShowBuilding)
'If Map.refShowBeamPanelVM.bShowAll Then
' ' verifico se assemblato e lo annullo per salvataggio
' bShowBuilding = Map.refShowBeamPanelVM.ShowBuilding_IsChecked
' If bShowBuilding Then Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
'End If
End If
' per ogni BTLInfo nel progetto riporto il relativo nome del BTL
@@ -1,9 +1,7 @@
Imports System.Windows.Threading
Imports EgtBEAMWALL.Core
Imports EgtWPFLib5
Imports EgtUILib
Imports System.Collections.ObjectModel
Imports EgtBEAMWALL.DataLayer.Controllers
Public Class ProjectVM
Inherits VMBase
@@ -101,7 +99,7 @@ Public Class ProjectVM
Private m_PartManager_Visibility As Boolean = True
Public ReadOnly Property PartManager_Visibility As Visibility
Get
Return If(Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refProjectVM.BTLStructureVM.SelectionType = BTLStructureVM.SelectionTypes.SELECT_ AndAlso Not Map.refFreeContourManagerVM.bIsActive, Visibility.Visible, Visibility.Collapsed)
Return If(Map.refMainMenuVM.SelPage = Pages.VIEW OrElse Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refProjectVM.BTLStructureVM.SelectionType = BTLStructureVM.SelectionTypes.SELECT_ AndAlso Not Map.refFreeContourManagerVM.bIsActive, Visibility.Visible, Visibility.Collapsed)
End Get
End Property
Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 B

@@ -68,10 +68,6 @@ Public Class MySceneHostVM
EgtSetCurrentContext(MainScene.GetCtx())
' inizializzo gestore travi e pareti
EgtInitBeamMgr(EIB_FL.TS3_POS + EIB_FL.USEUATTR)
' imposto direttorio BtlAux per geometrie Variant
Dim sBtlAuxDir As String = ""
GetMainPrivateProfileString(S_IMPORT, K_BTLAUXDIR, "", sBtlAuxDir)
EgtSetBtlAuxDir( sBtlAuxDir)
' inizializzo gestore lavorazioni
EgtInitMachMgr(Map.refMainWindowVM.MainWindowM.sMachinesRoot, Map.refMainWindowVM.MainWindowM.sToolMakersDir)
' Seleziono la macchina impostata nel file ini
@@ -179,7 +179,6 @@ Public Class ShowBeamPanelVM
End If
' nascondo barra del pezzo
Map.refProjectVM.BTLStructureVM.SetSelectionType(BTLStructureVM.SelectionTypes.NULL)
'Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProjectVM.PartManager_Visibility))
Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProdProjManagerVM.PartManager_Visibility))
' mostro in parte bassa dati BTL
If Not IsNothing(Map.refBottomPanelVM) Then Map.refBottomPanelVM.SetSelPartFeatureTab(BottomPanelVM.PartFeatureTab.STRUCTURE_)
@@ -166,7 +166,7 @@
</TabControl>
<Grid Grid.Row="1">
<Grid Grid.Row="1" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
@@ -1,138 +0,0 @@
<Grid x:Class="PDFEditorV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.ViewerOptimizer">
<Grid.Resources>
<EgtBEAMWALL:ColumnNameConverter x:Key="ColumnNameConverter"/>
</Grid.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<GroupBox Header="PDF Preview"
Style="{StaticResource GroupBox_PDFPreview}">
<StackPanel Style="{StaticResource StackPanel_List}">
<Button ToolTip="PDF Viewer - Preview"
Command="{Binding CreatePreviewVis_Command}"
Style="{StaticResource PDFPanel_Button}">
<Image Source="/Resources/PDFEditor/PrintPDF.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="PDF Viewer - Optimizer"
Command="{Binding CreatePreviewOtt_Command}"
Style="{StaticResource PDFPanel_Button}">
<Image Source="/Resources/PDFEditor/PrintPDF.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Close PDF Viewer"
Command="{Binding ClosePreview_Command}"
Style="{StaticResource Close_Button}">
<Image Source="/Resources/PDFEditor/Delete.png" Stretch="Uniform"/>
</Button>
</StackPanel>
</GroupBox>
<ScrollViewer Grid.Row="1"
Style="{StaticResource ScrollViewer}">
<ItemsControl ItemsSource="{Binding ExpanderList}"
Style="{StaticResource ItemsControl_ExpanderList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Style="{StaticResource StackPanel}"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Expander Style="{StaticResource Expander}">
<Expander.Header>
<TextBlock Text="{Binding sNameCategory}"
Style="{StaticResource Category_TextBlock}"/>
</Expander.Header>
<ItemsControl ItemsSource="{Binding ExpanderElementList}"
Style="{StaticResource ItemsControl_ExpanderElementList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Style="{StaticResource StackPanel}"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type EgtBEAMWALL:ExpanderElement}">
<StackPanel Style="{StaticResource StackPanel_List}">
<CheckBox IsChecked="{Binding bParameter_IsChecked, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource OptionCheckBox}"/>
<TextBlock Text="{Binding sNameParameter}"
Style="{StaticResource OptionTextBlock}"/>
</StackPanel>
</DataTemplate>
<DataTemplate DataType="{x:Type EgtBEAMWALL:ExpanderTable}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ListBox ItemsSource="{Binding RawPartColumns}"
SelectedItem="{Binding SelColumns}"
Style="{StaticResource ListBox}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Style="{StaticResource StackPanel_List}">
<CheckBox IsChecked="{Binding bIsChecked}"
Style="{StaticResource OptionCheckBox}"/>
<TextBlock Text="{Binding Name, Converter={StaticResource ColumnNameConverter}}"
Style="{StaticResource OptionTextBlock}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<UniformGrid Grid.Row="1"
Rows="2"
Visibility="{Binding vRawPartVisibility}">
<StackPanel Style="{StaticResource StackPanel_List}">
<CheckBox IsChecked="{Binding bSection_IsChecked}"
Style="{StaticResource OptionCheckBox}"/>
<TextBlock Text="{Binding Section_Msg}"
Style="{StaticResource OptionTextBlock}"/>
</StackPanel>
<StackPanel Style="{StaticResource StackPanel_List}">
<CheckBox IsChecked="{Binding bImage_IsChecked}"
Style="{StaticResource OptionCheckBox}"/>
<TextBlock Text="{Binding Image_Msg}"
Style="{StaticResource OptionTextBlock}"/>
</StackPanel>
</UniformGrid>
<StackPanel Grid.Column="1"
Style="{StaticResource StackPanel_Button}">
<Button Command="{Binding MoveUpOrder_Command}"
Style="{StaticResource LeftPanel_Button}">
<Image Source="/Resources/PDFEditor/MoveUp.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding MoveDownOrder_Command}"
Style="{StaticResource LeftPanel_Button}">
<Image Source="/Resources/PDFEditor/MoveDown.png" Stretch="Uniform"/>
</Button>
</StackPanel>
</Grid>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
</Expander>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
<GroupBox Header="PDF"
Grid.Column="1"
Grid.RowSpan="2"
Style="{StaticResource GroupBox_PDFPreview}">
<!--<WebBrowser EgtBEAMWALL:WebBrowserUtility.BindableSource="{Binding WebAddress}"/>-->
<EgtBEAMWALL:PdfViewer PdfPath="{Binding WebAddress, Mode=TwoWay}" Visibility="{Binding PdfViewer_Visibility}"/>
</GroupBox>
</Grid>
</Grid>
@@ -1,12 +0,0 @@
Public Class PDFEditorV
Sub New()
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
DataContext = New PDFEditorVM()
End Sub
End Class
@@ -1,497 +0,0 @@
Imports System.Collections.ObjectModel
Imports EgtBEAMWALL.Core
Imports EgtWPFLib5
Imports EgtUILib
Imports System.Globalization
Imports System.IO
Public Class PDFEditorVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Private Enum PDFPage As Integer
VIEW = 0 ' PDF Visualizzatore
MACHING = 1 ' PDF Ottimizzatore
End Enum
' Lista contenente le singole categorie
Private m_ExpanderList As New ObservableCollection(Of ExpanderPDF)
Public ReadOnly Property ExpanderList As ObservableCollection(Of ExpanderPDF)
Get
Return m_ExpanderList
End Get
End Property
' PDF visualizzato come preview nella sezione PDF Editor
Private m_WebAddress As String
Public Property WebAddress As String
Get
Return m_WebAddress
End Get
Set(value As String)
m_WebAddress = value
NotifyPropertyChanged(NameOf(WebAddress))
End Set
End Property
Private m_PdfViewer_Visibility As Visibility
Public Property PdfViewer_Visibility As Visibility
Get
Return m_PdfViewer_Visibility
End Get
Set(value As Visibility)
m_PdfViewer_Visibility = value
NotifyPropertyChanged(NameOf(PdfViewer_Visibility))
End Set
End Property
' Definizione comandi
Private m_cmdCreatePDFPreviewVis As ICommand
Private m_cmdCreatePDFPreviewOtt As ICommand
Private m_cmdClosePreview As ICommand
#End Region
#Region "CONSTRUCTORS"
Sub New()
m_ExpanderList.Add(New ExpanderPDF(ListTypes.MACHGROUPTOT)) ' MachGroup Totals
m_ExpanderList.Add(New ExpanderPDF(ListTypes.MACHGROUP)) ' MachGroup List
m_ExpanderList.Add(New ExpanderPDF(ListTypes.PART_LIST)) ' Raw Part
m_ExpanderList.Add(New ExpanderPDF(ListTypes.RAWPART)) ' RawPart List
m_ExpanderList.Add(New ExpanderPDF(ListTypes.PART_TOT)) ' Part Totals
m_ExpanderList.Add(New ExpanderPDF(ListTypes.PART)) ' Part List
m_WebAddress = "" ' Pagina vuota
m_PdfViewer_Visibility = Visibility.Hidden
Map.SetRefPDFEditorVM(Me)
End Sub
#End Region ' Constructors
#Region "COMMANDS"
#Region "CreatePreviewVis"
Public ReadOnly Property CreatePreviewVis_Command As ICommand
Get
If m_cmdCreatePDFPreviewVis Is Nothing Then
m_cmdCreatePDFPreviewVis = New Command(AddressOf CreatePreviewVis)
End If
Return m_cmdCreatePDFPreviewVis
End Get
End Property
''' <summary>
''' Funzione per la visualizzazione della preview del PDF della sezione visualizzatore
''' </summary>
Public Sub CreatePreviewVis()
m_PdfViewer_Visibility = Visibility.Visible
Configuration.CreatePrintPDF(PDFPage.VIEW, True)
WebAddress = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf"
NotifyPropertyChanged(NameOf(WebAddress))
NotifyPropertyChanged(NameOf(PdfViewer_Visibility))
End Sub
#End Region ' CreatePreviewVis
#Region "CreatePreviewOt"
Public ReadOnly Property CreatePreviewOtt_Command As ICommand
Get
If m_cmdCreatePDFPreviewOtt Is Nothing Then
m_cmdCreatePDFPreviewOtt = New Command(AddressOf CreatePreviewOtt)
End If
Return m_cmdCreatePDFPreviewOtt
End Get
End Property
''' <summary>
''' Funzione per la visualizzazione della preview del PDF della sezione ottimizzatore
''' </summary>
Public Sub CreatePreviewOtt()
m_PdfViewer_Visibility = Visibility.Visible
Configuration.CreatePrintPDF(PDFPage.MACHING, True)
WebAddress = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf"
NotifyPropertyChanged(NameOf(WebAddress))
NotifyPropertyChanged(NameOf(PdfViewer_Visibility))
End Sub
#End Region ' CreatePreviewOt
#Region "ClosePreview"
Public ReadOnly Property ClosePreview_Command As ICommand
Get
If m_cmdClosePreview Is Nothing Then
m_cmdClosePreview = New Command(AddressOf ClosePreview)
End If
Return m_cmdClosePreview
End Get
End Property
''' <summary>
''' Funzione per la chiusura della preview
''' </summary>
Public Sub ClosePreview()
Try
File.Delete(Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf")
'File.Delete(Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics - Optimizer.pdf")
Catch ex As Exception
EgtOutLog("Errore! Cancellazione dei file pdf fallita")
End Try
m_PdfViewer_Visibility = Visibility.Hidden
WebAddress = ""
NotifyPropertyChanged(NameOf(WebAddress))
NotifyPropertyChanged(NameOf(PdfViewer_Visibility))
End Sub
#End Region ' CreatePreviewVis
#End Region ' Commands
End Class
Public Class ExpanderPDF
Inherits VMBase
#Region "FIELDS & PROPERTIES"
'Nome della categoria MachGroup Totals, MachGroup List, Raw Part e Raw Part List
Private m_sNameCategory As String
Public ReadOnly Property sNameCategory As String
Get
Return m_sNameCategory
End Get
End Property
'Lista degli elementi visualizzati nell'expander es Numero di grezzi o le colonne es colName
Private m_ExpanderElementList As New List(Of ExpanderPDF)
Public ReadOnly Property ExpanderElementList As List(Of ExpanderPDF)
Get
Return m_ExpanderElementList
End Get
End Property
#End Region ' Fields & Properties
#Region "CONTRUCTORS"
Sub New()
End Sub
Sub New(nListType As Integer)
Select Case nListType
Case ListTypes.MACHGROUPTOT ' MachGroup Totals
m_sNameCategory = EgtMsg(61729) ' Titolo Categoria: MachGroup Totals
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61721))) ' Numero di grezzi
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61717))) ' Volume totale
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61719))) ' Tempo totole stimato
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61718))) ' Tempo totale
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61720))) ' Tempo rimanente
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61722))) ' Numero di pezzi da BTL
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61723))) ' Numero di pezzi aggiunti
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61724))) ' Numero di pezzi inseriti nei grezzi
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61725))) ' Numero di pezzi completati
Case ListTypes.MACHGROUP ' MachGroup List
m_sNameCategory = EgtMsg(61730) ' Titolo Categoria: MachGroup List
m_ExpanderElementList.Add(New ExpanderTable(S_OPTIMIZERSTATISTICS)) ' Tabella MachGroupList
Case ListTypes.PART_LIST ' Raw Part
m_sNameCategory = EgtMsg(61731) ' Titolo Categoria: Raw Part
m_ExpanderElementList.Add(New ExpanderTable(S_STATISTICS_PART)) ' Tabella RawPart + Sezione e Immagine
Case ListTypes.RAWPART ' RawPart List
m_sNameCategory = EgtMsg(61732) ' Titolo Categoria: RawPart List
m_ExpanderElementList.Add(New ExpanderTable(S_RAWPARTSTATISTICS)) ' Tabella RawPartList
Case ListTypes.PART_TOT ' Part Totals
m_sNameCategory = EgtMsg(61734) ' Titolo Categoria: Part Totals
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61716))) ' Numero totale di pezzi
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61717))) ' Volume totale
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61718))) ' Tempo totale
m_ExpanderElementList.Add(New ExpanderElement(EgtMsg(61720))) ' Tempo rimanente
Case ListTypes.PART ' Part List
m_sNameCategory = EgtMsg(61733) ' Titolo Categoria: Part List
m_ExpanderElementList.Add(New ExpanderTable(S_STATISTICS)) ' Tabella PartList
End Select
End Sub
#End Region ' Constructors
End Class
Public Class ExpanderElement
Inherits ExpanderPDF
#Region "FIELDS & PROPERTIES"
'Nome dei parametri visualizzati nella sezione del PDF Machgroup Totals es Numero di grezzi
Private m_sNameParameter As String
Public ReadOnly Property sNameParameter As String
Get
Return m_sNameParameter
End Get
End Property
'Check Box dei parametri visualizzati nella sezione del PDF Machgroup Totals
Private m_bParameter_IsChecked As Boolean
Public Property bParameter_IsChecked As Boolean
Get
Return m_bParameter_IsChecked
End Get
Set(value As Boolean)
m_bParameter_IsChecked = value
NotifyPropertyChanged(NameOf(bParameter_IsChecked))
WriteMainPrivateProfileString(S_PDFEDITOR, m_sNameParameter, If(m_bParameter_IsChecked, 1, 0))
End Set
End Property
#End Region 'Fields & Properties
#Region "CONTRUCTORS"
Sub New(NameParameter As String)
m_sNameParameter = NameParameter
m_bParameter_IsChecked = GetMainPrivateProfileInt(S_PDFEDITOR, m_sNameParameter, 0) <> 0
End Sub
#End Region 'Constructors
End Class
Public Class ExpanderTable
Inherits ExpanderPDF
#Region "FIELDS & PROPERTIES"
#Region "RAWPARTCOLUMNS"
'Lista Colonne Tabella MachGroup List, RawPart List, PartList
Private m_RawPartColumns As New ObservableCollection(Of EgtDataGridColumn)
Public ReadOnly Property RawPartColumns As ObservableCollection(Of EgtDataGridColumn)
Get
Return m_RawPartColumns
End Get
End Property
'Elemento delle Liste MachGroup List, RawPart List, PartList selezionato es colName
Private m_SelColumns As EgtDataGridColumn
Public Property SelColumns As EgtDataGridColumn
Get
Return m_SelColumns
End Get
Set(value As EgtDataGridColumn)
m_SelColumns = value
End Set
End Property
#End Region ' RawPartColumns
#Region "SECTION & IMAGE"
' Visualizza Sezione ed Immagine solo se fa parte di DG_Statistics_PART
Private m_vRawPartVisibility As Visibility
Public ReadOnly Property vRawPartVisibility As Visibility
Get
Return m_vRawPartVisibility
End Get
End Property
' Check Box per la visualizzazione nel PDF della sezione
Private m_bSection_IsChecked As Boolean
Public Property bSection_IsChecked As Boolean
Get
Return m_bSection_IsChecked
End Get
Set(value As Boolean)
m_bSection_IsChecked = value
NotifyPropertyChanged(NameOf(bSection_IsChecked))
WriteMainPrivateProfileString(S_PDFEDITOR, S_SECTION, If(m_bSection_IsChecked, 1, 0))
End Set
End Property
' Check Box per la visualizzazione nel PDF dell' immagine
Private m_bImage_IsChecked As Boolean
Public Property bImage_IsChecked As Boolean
Get
Return m_bImage_IsChecked
End Get
Set(value As Boolean)
m_bImage_IsChecked = value
NotifyPropertyChanged(NameOf(bImage_IsChecked))
WriteMainPrivateProfileString(S_PDFEDITOR, S_IMAGE, If(m_bImage_IsChecked, 1, 0))
End Set
End Property
#End Region ' Section & Image
#End Region ' FIELDS & PROPERTIES
#Region "MESSAGES"
Public ReadOnly Property Section_Msg As String
Get
Return EgtMsg(61735).ToUpper()
End Get
End Property
Public ReadOnly Property Image_Msg As String
Get
Return EgtMsg(61736).ToUpper()
End Get
End Property
#End Region ' Messages
' Definizione comandi
Private m_cmdMoveUpOrder As ICommand
Private m_cmdMoveDownOrder As ICommand
#Region "CONTRUCTORS"
Sub New(TypeTable As String)
GetPrivateProfileColumns(TypeTable, m_RawPartColumns)
m_vRawPartVisibility = If(TypeTable = S_STATISTICS_PART, Visibility.Visible, Visibility.Collapsed)
m_bSection_IsChecked = GetMainPrivateProfileInt(S_PDFEDITOR, S_SECTION, 0) <> 0
m_bImage_IsChecked = GetMainPrivateProfileInt(S_PDFEDITOR, S_IMAGE, 0) <> 0
End Sub
#End Region ' Constructors
#Region "COMMANDS"
#Region "MoveUpOrder"
Public ReadOnly Property MoveUpOrder_Command As ICommand
Get
If m_cmdMoveUpOrder Is Nothing Then
m_cmdMoveUpOrder = New Command(AddressOf MoveUpOrder)
End If
Return m_cmdMoveUpOrder
End Get
End Property
''' <summary>
''' Funzione per spostare in alto la colonna
''' </summary>
Public Sub MoveUpOrder()
If IsNothing(m_RawPartColumns) Then Return
Dim nIndex As Integer = m_RawPartColumns.IndexOf(m_SelColumns)
If nIndex < 0 Then Return
If nIndex > 0 Then m_RawPartColumns.Move(nIndex, nIndex - 1)
End Sub
#End Region ' MoveUpOrder
#Region "MoveDownOrder"
Public ReadOnly Property MoveDownOrder_Command As ICommand
Get
If m_cmdMoveDownOrder Is Nothing Then
m_cmdMoveDownOrder = New Command(AddressOf MoveDownOrder)
End If
Return m_cmdMoveDownOrder
End Get
End Property
''' <summary>
''' Funzione per spostare in basso la colonna
''' </summary>
Public Sub MoveDownOrder()
If IsNothing(m_RawPartColumns) Then Return
Dim nIndex As Integer = m_RawPartColumns.IndexOf(m_SelColumns)
If nIndex < 0 Then Return
If nIndex < m_RawPartColumns.Count - 1 Then m_RawPartColumns.Move(nIndex, nIndex + 1)
End Sub
#End Region ' MoveDownOrder
#End Region ' Commands
End Class
' Classe gestione binding Web browser
'Public Class WebBrowserUtility
' Public Shared ReadOnly BindableSourceProperty As DependencyProperty = DependencyProperty.RegisterAttached("BindableSource",
' GetType(String),
' GetType(WebBrowserUtility),
' New UIPropertyMetadata(Nothing, AddressOf BindableSourcePropertyChanged))
' Public Shared Function GetBindableSource(obj As DependencyObject) As String
' Return DirectCast(obj.GetValue(BindableSourceProperty), String)
' End Function
' Public Shared Sub SetBindableSource(obj As DependencyObject, value As String)
' obj.SetValue(BindableSourceProperty, value)
' End Sub
' Public Shared Sub BindableSourcePropertyChanged(o As DependencyObject, e As DependencyPropertyChangedEventArgs)
' Dim browser As WebBrowser = TryCast(o, WebBrowser)
' If Not IsNothing(browser) Then
' Dim uri As String = TryCast(e.NewValue, String)
' If Not IsNothing(uri) Then
' browser.Source = New Uri(uri)
' Else
' browser.Source = Nothing
' End If
' End If
' End Sub
'End Class
Class ColumnNameConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
Dim ColName As String = ""
If TypeOf value Is String Then
ColName = CStr(value)
Select Case value
Case COL_PDN
Return Statistic_Messages.PDN_Msg
Case COL_W
Return Statistic_Messages.W_Msg
Case COL_H
Return Statistic_Messages.H_Msg
Case COL_L
Return Statistic_Messages.L_Msg
Case COL_DESC
Return Statistic_Messages.NAM_Msg
Case COL_NAME
Return Statistic_Messages.NAM_Msg
Case COL_MATERIAL
Return Statistic_Messages.MAT_Msg
Case COL_CNT
Return Statistic_Messages.CNT_Msg
Case COL_ADDED
Return Statistic_Messages.ADDED_Msg
Case COL_DONE
Return Statistic_Messages.DONE_Msg
Case COL_USAGE
Return Statistic_Messages.Used_Msg
Case COL_WASTE
Return Statistic_Messages.Waste_Msg
Case COL_UNITVOLUME
Return Statistic_Messages.UNIT_VOLUME_Msg
Case COL_TOTVOLUME
Return Statistic_Messages.TOT_VOLUME_Msg
Case COL_UNITTIME
Return Statistic_Messages.UNIT_TIME_Msg
Case COL_TOTTIME
Return Statistic_Messages.TOT_TIME_Msg
Case COL_QTY
Return Statistic_Messages.QTY_Msg
Case COL_INPROD
Return Statistic_Messages.INPROD_Msg
Case Else
Return Nothing
End Select
Else
Return Nothing
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
Throw New NotImplementedException()
End Function
End Class
File diff suppressed because it is too large Load Diff
@@ -138,7 +138,7 @@
</EgtBEAMWALLCORE:EgtDataGrid>
<Grid Grid.Row="1">
<Grid Grid.Row="1" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
@@ -89,181 +89,179 @@ Public Class StatisticsVM
Public ReadOnly Property PDN_Msg As String
Get
Return Statistic_Messages.PDN_Msg
Return EgtMsg(61809)
End Get
End Property
Public ReadOnly Property ID_Msg As String
Get
Return Statistic_Messages.ID_Msg
Return EgtMsg(61809)
End Get
End Property
Public ReadOnly Property DO_Msg As String
Get
Return Statistic_Messages.DO_Msg
Return EgtMsg(61810)
End Get
End Property
Public ReadOnly Property W_Msg As String
Get
Return Statistic_Messages.W_Msg
Return EgtMsg(61605)
End Get
End Property
Public ReadOnly Property H_Msg As String
Get
Return Statistic_Messages.H_Msg
Return EgtMsg(61606)
End Get
End Property
Public ReadOnly Property L_Msg As String
Get
Return Statistic_Messages.L_Msg
Return EgtMsg(61604)
End Get
End Property
Public ReadOnly Property NAM_Msg As String
Get
Return Statistic_Messages.NAM_Msg
Return EgtMsg(61603)
End Get
End Property
Public ReadOnly Property MAT_Msg As String
Get
Return Statistic_Messages.MAT_Msg
Return EgtMsg(61607)
End Get
End Property
Public ReadOnly Property CNT_Msg As String
Get
Return Statistic_Messages.CNT_Msg
Return EgtMsg(61608)
End Get
End Property
Public ReadOnly Property ADDED_Msg As String
Get
Return Statistic_Messages.ADDED_Msg
Return EgtMsg(61813)
End Get
End Property
Public ReadOnly Property INPROD_Msg As String
Get
Return Statistic_Messages.INPROD_Msg
Return EgtMsg(61609)
End Get
End Property
Public ReadOnly Property DONE_Msg As String
Get
Return Statistic_Messages.DONE_Msg
Return EgtMsg(61814)
End Get
End Property
Public ReadOnly Property GRP_Msg As String
Get
Return Statistic_Messages.GRP_Msg
Return EgtMsg(61612)
End Get
End Property
Public ReadOnly Property UNIT_VOLUME_Msg As String
Get
Return Statistic_Messages.UNIT_VOLUME_Msg
Return EgtMsg(61712)
End Get
End Property
Public ReadOnly Property TOT_VOLUME_Msg As String
Get
Return Statistic_Messages.TOT_VOLUME_Msg
Return EgtMsg(61713)
End Get
End Property
Public ReadOnly Property UNIT_TIME_Msg As String
Get
Return Statistic_Messages.UNIT_TIME_Msg
Return EgtMsg(61714)
End Get
End Property
Public ReadOnly Property TOT_TIME_Msg As String
Get
Return Statistic_Messages.TOT_TIME_Msg
Return EgtMsg(61715)
End Get
End Property
Public ReadOnly Property BTLTotParts_Msg As String
Get
Return Statistic_Messages.BTLTotParts_Msg
Return EgtMsg(61716) & ": "
End Get
End Property
Public ReadOnly Property BTLTotVolume_Msg As String
Get
Return Statistic_Messages.BTLTotVolume_Msg
Return EgtMsg(61717) & ": "
End Get
End Property
Public ReadOnly Property BTLTotEstimatedTime_Msg As String
Get
Return Statistic_Messages.BTLTotEstimatedTime_Msg
Return EgtMsg(61719) & ": "
End Get
End Property
Public ReadOnly Property BTLTotTime_Msg As String
Get
Return Statistic_Messages.BTLTotTime_Msg
Return EgtMsg(61718) & ": "
End Get
End Property
Public ReadOnly Property BTLRemainingTime_Msg As String
Get
Return Statistic_Messages.BTLRemainingTime_Msg
Return EgtMsg(61720) & ": "
End Get
End Property
Public ReadOnly Property TotMachGroups_Msg As String
Get
Return Statistic_Messages.TotMachGroups_Msg
Return EgtMsg(61721) & ": "
End Get
End Property
Public ReadOnly Property TotCNTParts_Msg As String
Get
Return Statistic_Messages.TotCNTParts_Msg
Return EgtMsg(61722) & ": "
End Get
End Property
Public ReadOnly Property TotADDEDParts_Msg As String
Get
Return Statistic_Messages.TotADDEDParts_Msg
Return EgtMsg(61723) & ": "
End Get
End Property
Public ReadOnly Property TotINPRODParts_Msg As String
Get
Return Statistic_Messages.TotINPRODParts_Msg
Return EgtMsg(61724) & ": "
End Get
End Property
Public ReadOnly Property TotDONEParts_Msg As String
Get
Return Statistic_Messages.TotDONEParts_Msg
Return EgtMsg(61725) & ": "
End Get
End Property
Public ReadOnly Property Used_Msg As String
Get
Return Statistic_Messages.Used_Msg
Return EgtMsg(61817)
End Get
End Property
Public ReadOnly Property Waste_Msg As String
Get
Return Statistic_Messages.Waste_Msg
Return EgtMsg(61818)
End Get
End Property
Public ReadOnly Property QTY_Msg As String
Get
Return Statistic_Messages.QTY_Msg
Return EgtMsg(61726)
End Get
End Property
@@ -322,19 +320,33 @@ Public Class StatisticsVM
End Select
End Sub
Public Sub CreatePrintPDF(ActivePage As Integer, bPreview As Boolean)
#End Region ' METHODS
#Region "COMMANDS"
#Region "PrintPDF"
Public ReadOnly Property PrintPDF_Command As ICommand
Get
If m_cmdPrintPDF Is Nothing Then
m_cmdPrintPDF = New Command(AddressOf PrintPDF)
End If
Return m_cmdPrintPDF
End Get
End Property
Public Sub PrintPDF()
LoadingWndHelper.OpenLoadingWnd(ActiveIds.CREATINGPDF, 1, "Creating PDF", "", 100)
Try
' creo documento MigraDoc
Dim document As Document = PDFHelper.CreateStatReport(ActivePage, bPreview)
Dim document As Document = PDFHelper.CreateStatReport(Map.refMainMenuVM.SelPage)
Dim documentPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\MigraDoc.mdddl"
MigraDoc.DocumentObjectModel.IO.DdlWriter.WriteToFile(document, documentPath)
Dim renderer As New PdfDocumentRenderer(True) With {
.Document = document
}
Dim renderer As PdfDocumentRenderer = New PdfDocumentRenderer(True)
renderer.Document = document
renderer.RenderDocument()
' salvo il documento
Dim sFileName As String = ""
Dim sFileName As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf"
'Select Case Map.refMainMenuVM.SelPage
' Case Pages.VIEW Or (Pages.ONLYPRODPAGE AndAlso Map.refInstrumentPanelVM.VisStatistic_IsEnabled)
' sFileName = ProjectManagerVM.CurrProj.sProjDirPath & "\" & "Statistics.pdf"
@@ -343,26 +355,18 @@ Public Class StatisticsVM
' PrevSelect()
'End Select
If (ActivePage = Pages.VIEW AndAlso Not bPreview) OrElse (ActivePage = Pages.ONLYPRODPAGE AndAlso Not Map.refInstrumentPanelVM.bVisOtt_Selected AndAlso Not bPreview) Then
If Pages.VIEW OrElse (Pages.ONLYPRODPAGE AndAlso Map.refInstrumentPanelVM.bVisOtt_Selected = False) Then
sFileName = ProjectManagerVM.CurrProj.sProjDirPath & "\" & "Statistics.pdf"
ElseIf ActivePage = Pages.VIEW OrElse Pages.ONLYPRODPAGE AndAlso bPreview Then
sFileName = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf" ' Se la pagina e' 0 e' bPreview e' True creo PDF Visualization
ElseIf (ActivePage = Pages.MACHINING AndAlso Not bPreview) OrElse (ActivePage = Pages.ONLYPRODPAGE AndAlso Map.refInstrumentPanelVM.bVisOtt_Selected AndAlso Not bPreview) Then
ElseIf Pages.MACHINING OrElse (Pages.ONLYPRODPAGE AndAlso Map.refInstrumentPanelVM.bVisOtt_Selected) Then
sFileName = ProjectManagerVM.CurrProd.sProdDirPath & "\" & ProjectManagerVM.CurrProd.sProdId & " - " & "Statistics.pdf"
ElseIf ActivePage = Pages.MACHINING OrElse Pages.ONLYPRODPAGE AndAlso bPreview Then ' Se la pagina e' 1 e' bPreview e' True creo PDF Optimizer
sFileName = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf"
PrevSelect()
If Not bOnlyProd Then PrevSelect()
End If
' avvio il visualizzatore
renderer.PdfDocument.Save(sFileName)
' cancello file MigraDoc
File.Delete(documentPath)
If bPreview Then
Else
Process.Start(sFileName)
End If
' avvio il visualizzatore
Process.Start(sFileName)
Catch ex As Exception
EgtOutLog("Error genereting pdf: " & ex.ToString())
End Try
@@ -387,8 +391,6 @@ Public Class StatisticsVM
#End Region ' PrintPDF
#Region "COMMANDS"
#Region "Ok"
Public ReadOnly Property Ok_Command As ICommand
@@ -406,63 +408,6 @@ Public Class StatisticsVM
#End Region ' Ok
#Region "PrintPDF"
Public ReadOnly Property PrintPDF_Command As ICommand
Get
If m_cmdPrintPDF Is Nothing Then
m_cmdPrintPDF = New Command(AddressOf PrintPDF)
End If
Return m_cmdPrintPDF
End Get
End Property
Public Sub PrintPDF()
Configuration.CreatePrintPDF(Map.refMainMenuVM.SelPage, False)
'LoadingWndHelper.OpenLoadingWnd(ActiveIds.CREATINGPDF, 1, "Creating PDF", "", 100)
'Try
' ' creo documento MigraDoc
' Dim document As Document = PDFHelper.CreateStatReport(Map.refMainMenuVM.SelPage, False)
' Dim documentPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\MigraDoc.mdddl"
' MigraDoc.DocumentObjectModel.IO.DdlWriter.WriteToFile(document, documentPath)
' Dim renderer As PdfDocumentRenderer = New PdfDocumentRenderer(True)
' renderer.Document = document
' renderer.RenderDocument()
' ' salvo il documento
' Dim sFileName As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf"
' Select Case Map.refMainMenuVM.SelPage
' Case Pages.VIEW
' sFileName = Map.refProjManagerVM.CurrProj.sProjDirPath & "\" & "Statistics.pdf"
' Case Pages.MACHINING
' sFileName = Map.refProdManagerVM.CurrProd.sProdDirPath & "\" & Map.refProdManagerVM.CurrProd.sProdId & " - " & "Statistics.pdf"
' ' ripristino selezione precedente
' Dim nCurrMachGroupId As Integer = EgtGetCurrMachGroup()
' If Not IsNothing(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup) AndAlso nCurrMachGroupId <> Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.Id Then
' EgtSetCurrMachGroup(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.Id)
' End If
' 'If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
' ' EgtSetView(VT.ISO_SW, False)
' 'Else
' ' EgtSetView(VT.TOP, False)
' 'End If
' Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False)
' EgtZoom(ZM.ALL, True)
' End Select
' renderer.PdfDocument.Save(sFileName)
' ' cancello file MigraDoc
' File.Delete(documentPath)
' ' avvio il visualizzatore
' Process.Start(sFileName)
'Catch ex As Exception
' EgtOutLog("Error genereting pdf: " & ex.ToString())
'End Try
'LoadingWndHelper.CloseLoadingWnd(ActiveIds.CREATINGPDF)
End Sub
#End Region ' PrintPDF
#End Region ' COMMANDS
End Class
@@ -9,10 +9,10 @@
</Grid.RowDefinitions>
<EgtBEAMWALL:FreeContourInputV DataContext="{StaticResource FreeContourInputVM}"
Visibility="{Binding DataContext.FreeContourManager_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:ProjWndV}}}"/>
Visibility="{Binding Tag.FreeContourManager_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:ProjWndV}}}"/>
<EgtBEAMWALL:PartManagerV DataContext="{StaticResource PartManagerVM}"
Tag="{Binding Tag.BTLStructureVM.SelBTLPart, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:ProjWndV}}}"
Visibility="{Binding DataContext.PartManager_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:ProjWndV}}}"/>
Visibility="{Binding Tag.PartManager_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:ProjWndV}}}"/>
<Grid Grid.Row="1">
@@ -1,9 +1,6 @@
Imports System.Collections.ObjectModel
Imports EgtBEAMWALL.Core
Imports EgtUILib
Imports EgtWPFLib5
Imports MigraDoc.DocumentObjectModel
Imports MigraDoc.Rendering
Module Configuration
@@ -227,67 +224,4 @@ Module Configuration
EgtBeamShowLoadingSide(bLoadingSideShow, bLeftToRight)
End Sub
Public Sub CreatePrintPDF(ActivePage As Integer, bPreview As Boolean)
LoadingWndHelper.OpenLoadingWnd(ActiveIds.CREATINGPDF, 1, "Creating PDF", "", 100)
Try
' creo documento MigraDoc
Dim document As Document = PDFHelper.CreateStatReport(ActivePage, bPreview)
Dim documentPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\MigraDoc.mdddl"
MigraDoc.DocumentObjectModel.IO.DdlWriter.WriteToFile(document, documentPath)
Dim renderer As New PdfDocumentRenderer(True) With {
.document = document
}
renderer.RenderDocument()
' salvo il documento
Dim sFileName As String = ""
'Select Case Map.refMainMenuVM.SelPage
' Case Pages.VIEW Or (Pages.ONLYPRODPAGE AndAlso Map.refInstrumentPanelVM.VisStatistic_IsEnabled)
' sFileName = ProjectManagerVM.CurrProj.sProjDirPath & "\" & "Statistics.pdf"
' Case Pages.MACHINING OrElse (Pages.ONLYPRODPAGE AndAlso Map.refInstrumentPanelVM.OtStatistic_IsEnabled)
' sFileName = ProjectManagerVM.CurrProd.sProdDirPath & "\" & ProjectManagerVM.CurrProd.sProdId & " - " & "Statistics.pdf"
' PrevSelect()
'End Select
If (ActivePage = Pages.VIEW AndAlso Not bPreview) OrElse (ActivePage = Pages.ONLYPRODPAGE AndAlso Not Map.refInstrumentPanelVM.bVisOtt_Selected AndAlso Not bPreview) Then
sFileName = ProjectManagerVM.CurrProj.sProjDirPath & "\" & "Statistics.pdf"
ElseIf ActivePage = Pages.VIEW OrElse Pages.ONLYPRODPAGE AndAlso bPreview Then
sFileName = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf" ' Se la pagina e' 0 e' bPreview e' True creo PDF Visualization
ElseIf (ActivePage = Pages.MACHINING AndAlso Not bPreview) OrElse (ActivePage = Pages.ONLYPRODPAGE AndAlso Map.refInstrumentPanelVM.bVisOtt_Selected AndAlso Not bPreview) Then
sFileName = ProjectManagerVM.CurrProd.sProdDirPath & "\" & ProjectManagerVM.CurrProd.sProdId & " - " & "Statistics.pdf"
ElseIf ActivePage = Pages.MACHINING OrElse Pages.ONLYPRODPAGE AndAlso bPreview Then ' Se la pagina e' 1 e' bPreview e' True creo PDF Optimizer
sFileName = Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf"
PrevSelect()
End If
' avvio il visualizzatore
renderer.PdfDocument.Save(sFileName)
' cancello file MigraDoc
System.IO.File.Delete(documentPath)
If bPreview Then
Else
Process.Start(sFileName)
End If
Catch ex As Exception
EgtOutLog("Error genereting pdf: " & ex.ToString())
End Try
LoadingWndHelper.CloseLoadingWnd(ActiveIds.CREATINGPDF)
End Sub
Private Sub PrevSelect()
' ripristino selezione precedente
Dim nCurrMachGroupId As Integer = EgtGetCurrMachGroup()
If Not IsNothing(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup) AndAlso nCurrMachGroupId <> Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.Id Then
EgtSetCurrMachGroup(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.Id)
End If
'If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
' EgtSetView(VT.ISO_SW, False)
'Else
' EgtSetView(VT.TOP, False)
'End If
Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False)
EgtZoom(ZM.ALL, True)
End Sub
End Module
@@ -68,6 +68,8 @@ Public Module DbControllers
DataLayer.DbConfig.CheckMigrateDb()
DataLayer.DbConfig.CheckUser(sUser, sPwd, m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK))
DataLayer.DbConfig.CheckViews(sUser, sPwd)
' riattivare il dump per il backup
'DataLayer.DbConfig.DumpDB("C:\Program Files\MariaDB 10.5\bin\mysqldump", "c:\Temp\Pippo.sql")
If m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
' imposto cartella condivisa
GetMainPrivateProfileString(S_GENERAL, K_SHAREDFOLDER, Map.refMainWindowVM.MainWindowM.sDataDir, sSharedFolder)
@@ -199,26 +199,6 @@
<Style x:Key="LeftPanel_Button" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Height" Value="30"/>
<Setter Property="Width" Value="30"/>
<Setter Property="Margin" Value="2.5,2.5,2.5,2.5"/>
</Style>
<Style x:Key="Close_Button" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Height" Value="40"/>
<Setter Property="Width" Value="50"/>
<Setter Property="Margin" Value="2.5,2.5,2.5,2.5"/>
</Style>
<Style x:Key="PDFPanel_Button" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Height" Value="40"/>
<Setter Property="Width" Value="120"/>
<Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
<Setter Property="Background" Value="{StaticResource Button.Static.Background}"/>
<Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="1"/>
</Style>
<!-- ______________________________________________________________________________________________________________________________________________ -->
@@ -377,6 +357,14 @@
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="10,0,10,0"/>
</Style>
<Style x:Key="ListTextBlock" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="10,0,10,0"/>
<Setter Property="FontSize" Value="20"/>
</Style>
<Style x:Key="MachParamTextBlock" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
@@ -390,12 +378,6 @@
<Setter Property="Margin" Value="10,0,10,0"/>
</Style>
<Style x:Key="Category_TextBlock" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="DarkBlue"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontWeight" Value="Bold"/>
</Style>
<Style x:Key="Filter_TextBlock" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="2.5,0,2.5,0"/>
@@ -751,12 +733,6 @@
</Setter>
</Style>
<Style x:Key="GroupBox_PDFPreview" TargetType="{x:Type GroupBox}">
<Setter Property="Margin" Value="2.5"/>
<Setter Property="Width" Value="Auto"/>
</Style>
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!-- TabControl that have only Headers and no Pages -->
@@ -868,14 +844,6 @@
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!-- ScrollViewer -->
<Style x:Key="ScrollViewer" TargetType="{x:Type ScrollViewer}" BasedOn="{StaticResource {x:Type ScrollViewer}}">
<Setter Property="CanContentScroll" Value="True"/>
<Setter Property="VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="Margin" Value="2.5,2.5,2.5,2.5"/>
<Setter Property="HorizontalScrollBarVisibility" Value="Hidden"/>
</Style>
<!-- DatePicker -->
<Style x:Key="Filter_DatePicker" TargetType="{x:Type DatePicker}">
@@ -885,63 +853,4 @@
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!-- ItemsControl -->
<Style x:Key="ItemsControl_ExpanderList" TargetType="{x:Type ItemsControl}" BasedOn="{StaticResource {x:Type ItemsControl}}">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
</Style>
<Style x:Key="ItemsControl_ExpanderElementList" TargetType="{x:Type ItemsControl}" BasedOn="{StaticResource {x:Type ItemsControl}}">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="FontSize" Value="14"/>
</Style>
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!-- StackPanel -->
<Style x:Key="StackPanel" TargetType="{x:Type StackPanel}">
<Setter Property="Orientation" Value="Vertical"/>
<Setter Property="Margin" Value="0"/>
</Style>
<Style x:Key="StackPanel_List" TargetType="{x:Type StackPanel}">
<Setter Property="Orientation" Value="Horizontal"/>
<Setter Property="Margin" Value="5,5,5,0"/>
</Style>
<Style x:Key="StackPanel_Button" TargetType="{x:Type StackPanel}">
<Setter Property="Orientation" Value="Vertical"/>
<Setter Property="Margin" Value="2.5,0,0,0"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Right"/>
</Style>
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!-- Expander -->
<Style x:Key="Expander" TargetType="{x:Type Expander}">
<Setter Property="IsExpanded" Value="True"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="Margin" Value="2.5"/>
</Style>
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!-- ListBox -->
<Style x:Key="ListBox" TargetType="{x:Type ListBox}">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
</Style>
</ResourceDictionary>
+2 -13
View File
@@ -34,7 +34,6 @@ Module Map
Private m_refFeatureManagerVM As FeatureManagerVM
Private m_refAddSectionXMaterialWndVM As AddSectionXMaterialWndVM
Private m_refStatisticsTimePanelVM As StatisticsTimePanelVM
Private m_refPDFEditorVM As PDFEditorVM
Private m_refOnlyProdManagerVM As OnlyProdManagerVM
Private m_refBTLPartManagerVM As BTLPartManagerVM
Private m_refRawPartManagerVM As RawPartManagerVM
@@ -250,12 +249,6 @@ Module Map
End Get
End Property
Public ReadOnly Property refPDFEditorVM As PDFEditorVM
Get
Return m_refPDFEditorVM
End Get
End Property
Public ReadOnly Property refOnlyProdManagerVM As OnlyProdManagerVM
Get
Return m_refOnlyProdManagerVM
@@ -298,6 +291,7 @@ Module Map
End Get
End Property
Public ReadOnly Property refSpecialPanelVM As SpecialPanelVM
Get
Return m_refSpecialPanelVM
@@ -516,11 +510,6 @@ Module Map
Return Not IsNothing(m_refStatisticsTimePanelVM)
End Function
Friend Function SetRefPDFEditorVM(PDFEditorVM As PDFEditorVM) As Boolean
m_refPDFEditorVM = PDFEditorVM
Return Not IsNothing(m_refPDFEditorVM)
End Function
Friend Function SetRefOnlyProdManagerVM(OnlyProdManagerVM As OnlyProdManagerVM) As Boolean
m_refOnlyProdManagerVM = OnlyProdManagerVM
Return Not IsNothing(m_refOnlyProdManagerVM)
@@ -556,6 +545,7 @@ Module Map
Return Not IsNothing(m_refProjWndVM)
End Function
Friend Function SetRefSpecialPanelVM(SpecialPanelVM As SpecialPanelVM) As Boolean
m_refSpecialPanelVM = SpecialPanelVM
Return Not IsNothing(m_refSpecialPanelVM)
@@ -635,7 +625,6 @@ Module Map
Not IsNothing(m_refStatisticsVM) AndAlso Not IsNothing(m_refPParameterListVM) AndAlso
Not IsNothing(m_refQParameterListVM) AndAlso Not IsNothing(m_refFeatureManagerVM) AndAlso
Not IsNothing(m_refAddSectionXMaterialWndVM) AndAlso Not IsNothing(m_refStatisticsTimePanelVM) AndAlso
Not IsNothing(m_refPDFEditorVM) AndAlso Not IsNothing(m_refSpecialPanelVM) AndAlso
Not IsNothing(m_refOnlyProdManagerVM) AndAlso Not IsNothing(m_refBTLPartManagerVM) AndAlso
Not IsNothing(m_refRawPartManagerVM) AndAlso Not IsNothing(m_refPartInRawPartManagerVM) AndAlso
Not IsNothing(m_refFeatureListManagerVM) AndAlso Not IsNothing(m_refProdProjManagerVM) AndAlso
@@ -1,183 +0,0 @@
Imports EgtUILib
Module Statistic_Messages
Public ReadOnly Property PDN_Msg As String
Get
Return EgtMsg(61809)
End Get
End Property
Public ReadOnly Property ID_Msg As String
Get
Return EgtMsg(61809)
End Get
End Property
Public ReadOnly Property DO_Msg As String
Get
Return EgtMsg(61810)
End Get
End Property
Public ReadOnly Property W_Msg As String
Get
Return EgtMsg(61605)
End Get
End Property
Public ReadOnly Property H_Msg As String
Get
Return EgtMsg(61606)
End Get
End Property
Public ReadOnly Property L_Msg As String
Get
Return EgtMsg(61604)
End Get
End Property
Public ReadOnly Property NAM_Msg As String
Get
Return EgtMsg(61603)
End Get
End Property
Public ReadOnly Property MAT_Msg As String
Get
Return EgtMsg(61607)
End Get
End Property
Public ReadOnly Property CNT_Msg As String
Get
Return EgtMsg(61608)
End Get
End Property
Public ReadOnly Property ADDED_Msg As String
Get
Return EgtMsg(61813)
End Get
End Property
Public ReadOnly Property INPROD_Msg As String
Get
Return EgtMsg(61609)
End Get
End Property
Public ReadOnly Property DONE_Msg As String
Get
Return EgtMsg(61814)
End Get
End Property
Public ReadOnly Property GRP_Msg As String
Get
Return EgtMsg(61612)
End Get
End Property
Public ReadOnly Property UNIT_VOLUME_Msg As String
Get
Return EgtMsg(61712)
End Get
End Property
Public ReadOnly Property TOT_VOLUME_Msg As String
Get
Return EgtMsg(61713)
End Get
End Property
Public ReadOnly Property UNIT_TIME_Msg As String
Get
Return EgtMsg(61714)
End Get
End Property
Public ReadOnly Property TOT_TIME_Msg As String
Get
Return EgtMsg(61715)
End Get
End Property
Public ReadOnly Property BTLTotParts_Msg As String
Get
Return EgtMsg(61716) & ": "
End Get
End Property
Public ReadOnly Property BTLTotVolume_Msg As String
Get
Return EgtMsg(61717) & ": "
End Get
End Property
Public ReadOnly Property BTLTotEstimatedTime_Msg As String
Get
Return EgtMsg(61719) & ": "
End Get
End Property
Public ReadOnly Property BTLTotTime_Msg As String
Get
Return EgtMsg(61718) & ": "
End Get
End Property
Public ReadOnly Property BTLRemainingTime_Msg As String
Get
Return EgtMsg(61720) & ": "
End Get
End Property
Public ReadOnly Property TotMachGroups_Msg As String
Get
Return EgtMsg(61721) & ": "
End Get
End Property
Public ReadOnly Property TotCNTParts_Msg As String
Get
Return EgtMsg(61722) & ": "
End Get
End Property
Public ReadOnly Property TotADDEDParts_Msg As String
Get
Return EgtMsg(61723) & ": "
End Get
End Property
Public ReadOnly Property TotINPRODParts_Msg As String
Get
Return EgtMsg(61724) & ": "
End Get
End Property
Public ReadOnly Property TotDONEParts_Msg As String
Get
Return EgtMsg(61725) & ": "
End Get
End Property
Public ReadOnly Property Used_Msg As String
Get
Return EgtMsg(61817)
End Get
End Property
Public ReadOnly Property Waste_Msg As String
Get
Return EgtMsg(61818)
End Get
End Property
Public ReadOnly Property QTY_Msg As String
Get
Return EgtMsg(61726)
End Get
End Property
End Module
@@ -7,7 +7,6 @@
<package id="K4os.Compression.LZ4" version="1.3.5" targetFramework="net472" />
<package id="K4os.Compression.LZ4.Streams" version="1.3.5" targetFramework="net472" />
<package id="K4os.Hash.xxHash" version="1.0.8" targetFramework="net472" />
<package id="Microsoft.Windows.SDK.Contracts" version="10.0.22621.2428" targetFramework="net472" />
<package id="MySql.Data" version="8.0.21" targetFramework="net472" />
<package id="MySql.Data.EntityFramework" version="8.0.21" targetFramework="net472" />
<package id="NLog" version="5.0.1" targetFramework="net472" />
@@ -15,12 +14,9 @@
<package id="Portable.BouncyCastle" version="1.9.0" targetFramework="net472" />
<package id="SSH.NET" version="2016.1.0" targetFramework="net472" />
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
<package id="System.IO.Pipelines" version="6.0.0" targetFramework="net472" />
<package id="System.IO.Pipelines" version="5.0.2" targetFramework="net472" />
<package id="System.Memory" version="4.5.5" targetFramework="net472" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net472" />
<package id="System.Runtime.InteropServices.WindowsRuntime" version="4.3.0" targetFramework="net472" />
<package id="System.Runtime.WindowsRuntime" version="4.6.0" targetFramework="net472" />
<package id="System.Runtime.WindowsRuntime.UI.Xaml" version="4.6.0" targetFramework="net472" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
</packages>
@@ -1,182 +0,0 @@
<!DOCTYPE html>
<!-- saved from url=(0014)about:internet -->
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt"><head><meta content="en-us" http-equiv="Content-Language" /><meta content="text/html; charset=utf-16" http-equiv="Content-Type" /><title _locID="NuGetUpgradeReportTitle">
NuGetMigrationLog
</title><style>
/* Body style, for the entire document */
body
{
background: #F3F3F4;
color: #1E1E1F;
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
font-size: 12pt;
padding: 0;
margin: 0;
}
/* Header1 style, used for the main title */
h1
{
padding: 10px 0px 10px 10px;
font-size: 21pt;
background-color: #E2E2E2;
border-bottom: 1px #C1C1C2 solid;
color: #201F20;
margin: 0;
font-weight: normal;
}
/* Header2 style, used for "Overview" and other sections */
h2
{
font-size: 18pt;
font-weight: normal;
padding: 15px 0 5px 0;
margin: 0;
}
/* Header3 style, used for sub-sections, such as project name */
h3
{
font-weight: normal;
font-size: 15pt;
margin: 0;
padding: 15px 0 5px 0;
background-color: transparent;
}
.info-text
{
margin: 0px 0 0.75em 0;
}
/* Color all hyperlinks one color */
a
{
color: #1382CE;
}
/* Table styles */
table
{
border-spacing: 0 0;
border-collapse: collapse;
font-size: 11pt;
}
table th
{
background: #E7E7E8;
text-align: left;
text-decoration: none;
font-weight: normal;
padding: 3px 6px 3px 6px;
}
table td
{
vertical-align: top;
padding: 3px 6px 5px 5px;
margin: 0px;
border: 1px solid #E7E7E8;
background: #F7F7F8;
}
/* Local link is a style for hyperlinks that link to file:/// content, there are lots so color them as 'normal' text until the user mouse overs */
.localLink
{
color: #1E1E1F;
background: #EEEEED;
text-decoration: none;
}
.localLink:hover
{
color: #1382CE;
background: #FFFF99;
text-decoration: none;
}
.issueCell
{
width: 100%;
}
.packageIssue
{
margin-left: 25px;
}
/* Padding around the content after the h1 */
#content
{
padding: 0px 20px 20px 20px;
}
.issues table
{
width: 97%;
}
/* All Icons */
.IconSuccessEncoded, .IconInfoEncoded, .IconWarningEncoded, .IconErrorEncoded
{
min-width:18px;
min-height:18px;
background-repeat:no-repeat;
background-position:center;
}
.IconSuccessEncoded
{
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABcElEQVR4Xq2TsUsCURzHv15g8ZJcBWlyiYYgCIWcb9DFRRwMW5TA2c0/QEFwFkxxUQdxVlBwCYWOi6IhWgQhBLHJUCkhLr/BW8S7gvrAg+N+v8/v+x68Z8MGy+XSCyABQAXgBgHGALoASkIIDWSLeLBetdHryMjd5IxQPWT4rn1c/P7+xxp72Cs9m5SZ0Bq2vPnbPFafK2zDvmNHypdC0BPkLlQhxJsCAhQoZwdZU5mwxh720qGo8MzTxTTKZDPCx2HoVzp6lz0Q9tKhyx0kGs8Ny+TkWRKk8lCROwEduhyg9l/6lunOPSfmH3NUH6uQ0KHLAe7JYvJjevm+DAMGJHToKtigE+vwvIidxLamb8IBY9e+C5LiXREkfho3TSd06HJA13/oh6T51MTsfQbHrsMynQ5dDihFjiK8JJAU9AKIWTp76dCVN7HWHrajmUEGvyF9nkbAE6gLIS7kTUyuf2gscLoJrElZo/Mvj+nPz/kLTmfnEwP3tB0AAAAASUVORK5CYII=);
}
.IconInfoEncoded
{
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABHElEQVR4Xs2TsUoDQRRF7wwoziokjZUKadInhdhukR9YP8DMX1hYW+QvdsXa/QHBbcXC7W0CamWTQnclFutceIQJwwaWNLlwm5k5d94M76mmaeCrrmsLYOocY12FcxZFUeozCqKqqgYA8uevv1H6VuPxcwlfk5N92KHBxfFeCSAxxswlYAW/Xr989x/mv9gkhtyMDhcAxgzRsp7flj8B/HF1RsMXq+NZMkopaHe7lbKxQUEIGbKsYNoGn969060hZBkQex/W8oRQwsQaW2o3Ago2SVcJUzAgY3N0lTCZZm+zPS8HB51gMmS1DEYyOz9acKO1D8JWTlafKIMxdhvlfdyT94Vv5h7P8Ky7nQzACmhvKq3zk3PjW9asz9D/1oigecsioooAAAAASUVORK5CYII=);
}
.IconWarningEncoded
{
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAx0lEQVR4XpWSMQ7CMAxFf4xAyBMLCxMrO8dhaBcuwdCJS3RJBw7SA/QGTCxdWJgiQYWKXJWKIXHIlyw5lqr34tQgEOdcBsCOx5yZK3hCCKdYXneQkh4pEfqzLfu+wVDSyyzFoJjfz9NB+pAF+eizx2Vruts0k15mPgvS6GYvpVtQhB61IB/dk6AF6fS4Ben0uIX5odtFe8Q/eW1KvFeH4e8khT6+gm5B+t3juyDt7n0jpe+CANTd+oTUjN/U3yVaABnSUjFz/gFq44JaVSCXeQAAAABJRU5ErkJggg==);
}
.IconErrorEncoded
{
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABQElEQVR4XqWTvUoEQRCE6wYPZUA80AfwAQz23uCMjA7MDRQEIzPBVEyNTQUFIw00vcQTTMzuAh/AxEQQT8HF/3G/oGGnEUGuoNnd6qoZuqltyKEsyzVJq5I6rnUp6SjGeGhESikzzlc1eL7opfuVbrqbU1Zw9NCgtQMaZpY0eNnaaL2fHusvTK5vKu7sjSS1Y4y3QUA6K3e3Mau5UFDyMP7tYF9o8cAHZv68vipoIJg971PZIZ5HiwdvYGGvFVFHmGmZ2MxwmQYPXubPl9Up0tfoMQGetXd6mRbvhBw+boZ6WF7Mbv1+GsHRk0fQmPAH1GfmZirbCfDJ61tw3Px8/8pZsPAG4jlVhcPgZ7adwNWBB68lkRQWFiTgFlbnLY3DGGM7izIJIyT/jjIvEJw6fdJTc6krDzh6aMwMP9bvDH4ADSsa9uSWVJkAAAAASUVORK5CYII=);
}
</style></head><body><h1>
NuGet Migration Report - EgtBEAMWALL.ViewerOptimizer</h1><div id="content"><h2 _locID="OverviewTitle">Overview</h2><div class="info-text">Migration to PackageReference was completed successfully. Please build and run your solution to verify that all packages are available.</div><div class="info-text">
If you run into any problems, have feedback, questions, or concerns, please
<a href="https://github.com/NuGet/Home/issues/">file an issue on the NuGet GitHub repository.</a></div><div class="info-text">
Changed files and this report have been backed up here:
<a href="C:\EgtDev\egtbeamwall\MigrationBackup\814cbbc9\EgtBEAMWALL.ViewerOptimizer">C:\EgtDev\egtbeamwall\MigrationBackup\814cbbc9\EgtBEAMWALL.ViewerOptimizer</a></div><div class="info-text"><a href="https://aka.ms/nuget-pc2pr-migrator-rollback">Help me rollback to packages.config</a></div><h2 _locID="PackagesTitle">Packages processed</h2><h3 _locID="IncludePackagesTitle">Top-level dependencies:</h3><div class="issues"><table><tr><th class="issueCell">Package Id</th><th>Version</th></tr><tr><td class="issueCell"><span>BouncyCastle</span></td><td><span>
v1.8.5</span></td></tr><tr><td class="issueCell"><span>DotNetZip</span></td><td><span>
v1.16.0</span></td></tr><tr><td class="issueCell"><span>EntityFramework</span></td><td><span>
v6.4.4</span></td></tr><tr><td class="issueCell"><span>Google.Protobuf</span></td><td><span>
v3.21.9</span></td></tr><tr><td class="issueCell"><span>K4os.Compression.LZ4.Streams</span></td><td><span>
v1.3.5</span></td></tr><tr><td class="issueCell"><span>Microsoft.Windows.SDK.Contracts</span></td><td><span>
v10.0.22621.2428</span></td></tr><tr><td class="issueCell"><span>MySql.Data.EntityFramework</span></td><td><span>
v8.0.21</span></td></tr><tr><td class="issueCell"><span>NLog</span></td><td><span>
v5.0.1</span></td></tr><tr><td class="issueCell"><span>PDFsharp-MigraDoc-wpf</span></td><td><span>
v1.50.5147</span></td></tr><tr><td class="issueCell"><span>Portable.BouncyCastle</span></td><td><span>
v1.9.0</span></td></tr><tr><td class="issueCell"><span>System.IO.Pipelines</span></td><td><span>
v6.0.0</span></td></tr></table></div><p /><h3 _locID="IncludePackagesTitle">Transitive dependencies:</h3><div class="issues"><table><tr><th class="issueCell">Package Id</th><th>Version</th></tr><tr><td class="issueCell"><span>K4os.Compression.LZ4</span></td><td><span>
v1.3.5</span></td></tr><tr><td class="issueCell"><span>K4os.Hash.xxHash</span></td><td><span>
v1.0.8</span></td></tr><tr><td class="issueCell"><span>MySql.Data</span></td><td><span>
v8.0.21</span></td></tr><tr><td class="issueCell"><span>SSH.NET</span></td><td><span>
v2016.1.0</span></td></tr><tr><td class="issueCell"><span>System.Buffers</span></td><td><span>
v4.5.1</span></td></tr><tr><td class="issueCell"><span>System.Memory</span></td><td><span>
v4.5.5</span></td></tr><tr><td class="issueCell"><span>System.Numerics.Vectors</span></td><td><span>
v4.5.0</span></td></tr><tr><td class="issueCell"><span>System.Runtime.CompilerServices.Unsafe</span></td><td><span>
v6.0.0</span></td></tr><tr><td class="issueCell"><span>System.Runtime.InteropServices.WindowsRuntime</span></td><td><span>
v4.3.0</span></td></tr><tr><td class="issueCell"><span>System.Runtime.WindowsRuntime</span></td><td><span>
v4.6.0</span></td></tr><tr><td class="issueCell"><span>System.Runtime.WindowsRuntime.UI.Xaml</span></td><td><span>
v4.6.0</span></td></tr><tr><td class="issueCell"><span>System.Threading.Tasks.Extensions</span></td><td><span>
v4.5.4</span></td></tr></table></div><h2 _locID="IssuesTitle">Package compatibility issues</h2><div class="issues"><table><tr><th /><th class="issueCell" _locID="DescriptionTableHeader">Description</th></tr><tr><td class="IconInfoEncoded" /><td class="issueCell">
No issues were found.
</td></tr></table></div></div></body></html>