Compare commits
53 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b25d73c0cb | |||
| 50d9603598 | |||
| fae8018df9 | |||
| d7c8e8e21d | |||
| 9d11e6e9ca | |||
| 8d90714a82 | |||
| 429d7f58e4 | |||
| 7e15ef9dd1 | |||
| 6060746412 | |||
| 2b4f3d93dc | |||
| f365c7a593 | |||
| fc797ff4a7 | |||
| 63b1f1532a | |||
| b861c647fc | |||
| fa7d95cc53 | |||
| cdb0414097 | |||
| 48ac0a878f | |||
| 804992e485 | |||
| 4ef9497514 | |||
| 3c939a9e5b | |||
| aaddb6897f | |||
| b0db630d56 | |||
| e608fd3a52 | |||
| 573cc1478a | |||
| 25d7516c7a | |||
| 8ac3c4879b | |||
| b551120fcc | |||
| b1846bb804 | |||
| 399a1f466f | |||
| c1ca70adce | |||
| 364520f9a3 | |||
| c0bfe75fd7 | |||
| 1d9618d797 | |||
| 1ac9f823a4 | |||
| 73950690ff | |||
| 2bc79ad2de | |||
| 9ad45b9ea4 | |||
| 89cb9e06f1 | |||
| 3b77f647a6 | |||
| 71c5b20782 | |||
| 08ac48d16e | |||
| 90ac144f2a | |||
| f5b98f803c | |||
| 8f05ef25f6 | |||
| 0022aacbd3 | |||
| ba64c8e231 | |||
| 431c30935c | |||
| 47d0fef508 | |||
| 6decc2f690 | |||
| 2bbd407019 | |||
| abc2c4fe07 | |||
| 402e17b57d | |||
| 08ae91e412 |
@@ -467,7 +467,7 @@ Public Class BTLFeatureM
|
||||
If Param.nType = BTLParamType.DOUBLE_ Or Param.nType = BTLParamType.LENGTH Then
|
||||
Param.SetValue(Param.dDefault)
|
||||
ElseIf Param.nType = BTLParamType.STRING_ Then
|
||||
Param.SetValue("")
|
||||
Param.SetValue(Param.sDefault)
|
||||
ElseIf Param.nType = BTLParamType.COMBO Then
|
||||
Param.nSelValue = Param.dDefault
|
||||
End If
|
||||
|
||||
@@ -129,6 +129,16 @@ Public Class BTLParamM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Protected m_sDefault As String
|
||||
Public Property sDefault As String
|
||||
Get
|
||||
Return m_sDefault
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sDefault = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' tipo della variabile
|
||||
Protected m_nType As BTLParamType
|
||||
Public ReadOnly Property nType As BTLParamType
|
||||
@@ -245,16 +255,18 @@ Public Class BTLParamM
|
||||
End Function
|
||||
|
||||
' new per stringhe
|
||||
Public Shared Function CreateBTLParam(ParentFeature As BTLFeatureM, IsP As Boolean, nType As BTLParamType, sParamName As String, sDescription As String)
|
||||
Public Shared Function CreateBTLParam(ParentFeature As BTLFeatureM, IsP As Boolean, nType As BTLParamType, sParamName As String, sDefault As String, sDescription As String)
|
||||
Dim NewBTLParam As New BTLParamM
|
||||
NewBTLParam.StdInit(ParentFeature, IsP, nType, sParamName, sDescription)
|
||||
NewBTLParam.m_sDefault = sDefault
|
||||
Return NewBTLParam
|
||||
End Function
|
||||
|
||||
' new per stringhe (con tipo Beam o Wall)
|
||||
Public Shared Function CreateBTLParam(ParentFeature As BTLFeatureM, IsP As Boolean, nType As BTLParamType, sParamName As String, sDescription As String, sBWType As String)
|
||||
Public Shared Function CreateBTLParam(ParentFeature As BTLFeatureM, IsP As Boolean, nType As BTLParamType, sParamName As String, sDefault As String, sDescription As String, sBWType As String)
|
||||
Dim NewBTLParam As New BTLParamM
|
||||
NewBTLParam.StdInit(ParentFeature, IsP, nType, sParamName, sDescription)
|
||||
NewBTLParam.m_sDefault = sDefault
|
||||
NewBTLParam.m_sBWType = sBWType
|
||||
Return NewBTLParam
|
||||
End Function
|
||||
|
||||
@@ -1210,7 +1210,7 @@ Public Class BTLPartM
|
||||
Return New List(Of BTLFeatureM)(m_BTLFeatureMList)
|
||||
End Function
|
||||
|
||||
Public Function Rotation(IsPositive As Boolean, SelectedMachineType As MachineType, Optional dAng As Double = 90) As Boolean
|
||||
Public Function Rotation(IsPositive As Boolean, SelectedMachineType As MachineType, Optional bRedraw As Boolean = True, Optional dAng As Double = 90) As Boolean
|
||||
' recupero il box del pezzo
|
||||
Dim nLs As Integer = EgtGetFirstNameInGroup(nPartId, "Box")
|
||||
Dim b3Solid As New BBox3d
|
||||
@@ -1249,7 +1249,7 @@ Public Class BTLPartM
|
||||
' ripristino inversione
|
||||
Inversion(SelectedMachineType)
|
||||
End If
|
||||
EgtDraw()
|
||||
If bRedraw Then EgtDraw()
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ Public Module CalcIntegration
|
||||
End If
|
||||
ElseIf Bar.nProgramPage = ProjectType.PROD Then
|
||||
If Bar.nGlobState = CalcStates.NOTCALCULATED Then
|
||||
Bar.sBarPath = CreateNewProjectFromMachGroup(Bar.nBarId, sProjDirPath)
|
||||
Bar.sBarPath = CreateNewProjectFromMachGroup(Bar.nBarId, sProjDirPath, Bar.nGlobState)
|
||||
Else
|
||||
Dim sMachGroupName As String = ""
|
||||
EgtGetMachGroupName(Bar.nBarId, sMachGroupName)
|
||||
@@ -78,7 +78,7 @@ Public Module CalcIntegration
|
||||
If Bar.nProgramPage = ProjectType.PROJ Then
|
||||
Bar.sBarPath = CreateNewProjectFromPart(Bar.nBarId, sProjDirPath)
|
||||
ElseIf Bar.nProgramPage = ProjectType.PROD Then
|
||||
Bar.sBarPath = CreateNewProjectFromMachGroup(Bar.nBarId, sProjDirPath)
|
||||
Bar.sBarPath = CreateNewProjectFromMachGroup(Bar.nBarId, sProjDirPath, Bar.nGlobState)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
@@ -355,8 +355,14 @@ Public Module CalcIntegration
|
||||
Return If(bOk, sPartFilePath, String.Empty)
|
||||
End Function
|
||||
|
||||
Private Function CreateNewProjectFromMachGroup(nMachGroupId As Integer, sProjDirPath As String) As String
|
||||
If Not m_bIsSupervisor Then
|
||||
Private Function CreateNewProjectFromMachGroup(nMachGroupId As Integer, sProjDirPath As String, nGlobState As Integer) As String
|
||||
' aggiorno cutid e taskid solo fuori dal supervisore o se pezzo ricalcolato
|
||||
If Not m_bIsSupervisor OrElse nGlobState = CalcStates.NOTCALCULATED Then
|
||||
Dim DisableMgr As DisableModifiedMgr = Nothing
|
||||
If m_bIsSupervisor Then
|
||||
' Disabilito segnalazione modificato
|
||||
DisableMgr = New DisableModifiedMgr
|
||||
End If
|
||||
' Aggiorno identificativi per segnalazione errori
|
||||
Dim nOldMachGroup As Integer = EgtGetCurrMachGroup()
|
||||
If nMachGroupId <> nOldMachGroup Then EgtSetCurrMachGroup(nMachGroupId)
|
||||
@@ -378,6 +384,10 @@ Public Module CalcIntegration
|
||||
EgtResetCurrMachGroup()
|
||||
End If
|
||||
End If
|
||||
If m_bIsSupervisor Then
|
||||
' Ripristino stato segnalazione modifica
|
||||
DisableMgr.ReEnable()
|
||||
End If
|
||||
End If
|
||||
|
||||
' Salvo gruppo di lavorazione nel suo progetto
|
||||
|
||||
@@ -395,6 +395,7 @@ Public Class MyMachGroupPanelM
|
||||
nPartId = EgtGetNextPart(nPartId)
|
||||
End While
|
||||
EgtResetCurrMachGroup()
|
||||
Return ToRedrawMachGroupList
|
||||
End Function
|
||||
|
||||
Friend Shared Function DuploGetToDelete(nSouId As Integer, ByRef bToDelete As Boolean) As Boolean
|
||||
|
||||
@@ -35,5 +35,5 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.4.7.1")>
|
||||
<Assembly: AssemblyFileVersion("2.4.7.1")>
|
||||
<Assembly: AssemblyVersion("2.4.8.2")>
|
||||
<Assembly: AssemblyFileVersion("2.4.8.2")>
|
||||
|
||||
@@ -159,7 +159,7 @@ Public Module BTLIniFile
|
||||
IpBTLParam = BTLParamM.CreateBTLParam(IpParentFeature, IsP, ParamType, sBTLParamParams(1), dMin, dMax, dDefault, sBTLParamParams(5))
|
||||
Return Not IsNothing(IpBTLParam)
|
||||
ElseIf sBTLParamParams(0) = "s" Then
|
||||
IpBTLParam = BTLParamM.CreateBTLParam(IpParentFeature, IsP, BTLParamType.STRING_, sBTLParamParams(1), sBTLParamParams(5))
|
||||
IpBTLParam = BTLParamM.CreateBTLParam(IpParentFeature, IsP, BTLParamType.STRING_, sBTLParamParams(1), sBTLParamParams(4), sBTLParamParams(5))
|
||||
Return Not IsNothing(IpBTLParam)
|
||||
ElseIf sBTLParamParams(0) = "c" Then
|
||||
Dim nMin As Integer
|
||||
@@ -212,7 +212,7 @@ Public Module BTLIniFile
|
||||
IpBTLParam = BTLParamM.CreateBTLParam(IpParentFeature, IsP, ParamType, sBTLParamParams(1), dMin, dMax, dDefault, sBTLParamParams(5), sBWQParam)
|
||||
Return Not IsNothing(IpBTLParam)
|
||||
ElseIf sBTLParamParams(0) = "s" Then
|
||||
IpBTLParam = BTLParamM.CreateBTLParam(IpParentFeature, IsP, BTLParamType.STRING_, sBTLParamParams(1), sBTLParamParams(5), sBWQParam)
|
||||
IpBTLParam = BTLParamM.CreateBTLParam(IpParentFeature, IsP, BTLParamType.STRING_, sBTLParamParams(1), sBTLParamParams(4), sBTLParamParams(5), sBWQParam)
|
||||
Return Not IsNothing(IpBTLParam)
|
||||
ElseIf sBTLParamParams(0) = "c" Then
|
||||
Dim nMin As Integer
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.0.29.0" newVersion="8.0.29.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.0.21.0" newVersion="8.0.21.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
|
||||
@@ -22,6 +22,8 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
{
|
||||
// Initialize database context for ADMIN
|
||||
adbCtx = new AdminContext(DbConfig.ADMIN_CONNECTION_STRING);
|
||||
// DB standard utente
|
||||
dbCtx = new AdminContext(DbConfig.CONNECTION_STRING);
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
@@ -39,33 +41,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
{
|
||||
bool answ = false;
|
||||
string domain = isNetwork ? "%" : "localhost";
|
||||
// ricerca utente...
|
||||
var numUser = adbCtx
|
||||
.UserList
|
||||
.Where(x => x.User == username)
|
||||
.ToList()
|
||||
.Count;
|
||||
if (numUser > 0)
|
||||
answ = doCheckCreate(username, pwd, answ, domain, false);
|
||||
if (answ)
|
||||
{
|
||||
answ = true;
|
||||
}
|
||||
if (!answ)
|
||||
{
|
||||
// creo utente
|
||||
string sqlCommand = "FLUSH PRIVILEGES;";
|
||||
//string sqlCommand = $"CREATE USER '{username}'@'{domain}' IDENTIFIED BY '{pwd}'; GRANT ALL ON *.* TO '{username}'@'localhost'; FLUSH PRIVILEGES;";
|
||||
//string sqlCommand = $"CREATE USER '{username}'@'{domain}' IDENTIFIED BY '{pwd}'; GRANT ALL ON *.* TO '{username}'@'localhost'; FLUSH PRIVILEGES;";
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
sqlCommand = $"CREATE USER '{username}'@'{domain}' IDENTIFIED BY '{pwd}';";
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
sqlCommand = $"GRANT ALL ON *.* TO '{username}'@'{domain}';";
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
sqlCommand = "FLUSH PRIVILEGES;";
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
doGrantPriv(username, domain, "ALL ON *.*");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
@@ -85,6 +64,51 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
adbCtx.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifica esistenza views + utente relativo eventualmente ricreandole + fornendo accesso
|
||||
/// all'utente ReadOnly Essetre
|
||||
/// </summary>
|
||||
/// <param name="dbName"></param>
|
||||
/// <param name="username"></param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <returns></returns>
|
||||
public bool refreshViews(string dbName, string username = "S3_User", string pwd = "S3_P4ssw0rd")
|
||||
{
|
||||
bool answ = false;
|
||||
|
||||
// in primis refresh delle view
|
||||
string sqlCommand = @"CREATE OR REPLACE VIEW v_expProdRaw AS
|
||||
SELECT DbId, AlarmDtEvent AS DtEvent, VarValue,
|
||||
SUBSTRING_INDEX(VarValue, ';', 1) AS Prod,
|
||||
SUBSTRING_INDEX(SUBSTRING_INDEX(VarValue, ';', 2), ';', -1) AS MachGroupId,
|
||||
SUBSTRING_INDEX(SUBSTRING_INDEX(VarValue, ';', -2), ';', 1) AS PartId,
|
||||
SUBSTRING_INDEX(VarValue, ';', -1) AS Status
|
||||
FROM logmachine
|
||||
WHERE ResultType = 1
|
||||
AND VarAddress = 1;
|
||||
|
||||
CREATE OR REPLACE VIEW v_expProd AS
|
||||
SELECT vp.DtEvent, vp.Prod, mgl.Name AS mgName, pl.PDN, vp.`Status`
|
||||
FROM v_expProdRaw AS vp
|
||||
INNER JOIN MachGroupList mgl ON vp.MachGroupId = mgl.Id
|
||||
INNER JOIN partlist pl ON vp.PartId = pl.Id;";
|
||||
dbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
|
||||
// ora setup parametri x utente
|
||||
string domain = "%";
|
||||
|
||||
// ora controllo utente con diritti
|
||||
answ = doCheckCreate(username, pwd, answ, domain, true);
|
||||
if (answ)
|
||||
{
|
||||
doGrantPriv(username, domain, "USAGE ON *.*");
|
||||
doGrantPriv(username, domain, $"SELECT ON {dbName}.v_expProd");
|
||||
}
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ATTENZIONE!!!! Procedura di Reset del DB
|
||||
/// </summary>
|
||||
@@ -117,6 +141,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
#region Private Fields
|
||||
|
||||
private AdminContext adbCtx;
|
||||
private AdminContext dbCtx;
|
||||
|
||||
/// <summary>
|
||||
/// Istanza logger
|
||||
@@ -124,5 +149,79 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// Procedura interna effettiva di check utente ed eventuale creazione + grant level
|
||||
/// </summary>
|
||||
/// <param name="username"></param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <param name="answ"></param>
|
||||
/// <param name="domain"></param>
|
||||
/// <param name="force">Force = esegue un drop prima...</param>
|
||||
/// <returns></returns>
|
||||
private bool doCheckCreate(string username, string pwd, bool answ, string domain, bool force)
|
||||
{
|
||||
// ricerca utente...
|
||||
var numUser = adbCtx
|
||||
.UserList
|
||||
.Where(x => x.User == username)
|
||||
.ToList()
|
||||
.Count;
|
||||
if (numUser > 0)
|
||||
{
|
||||
answ = true;
|
||||
}
|
||||
if (!answ)
|
||||
{
|
||||
// creo utente
|
||||
string sqlCommand = $"DROP USER IF EXISTS {username};";
|
||||
if (force)
|
||||
{
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
sqlCommand = "FLUSH PRIVILEGES;";
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
sqlCommand = $"CREATE USER '{username}'@'{domain}' IDENTIFIED BY '{pwd}';";
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
sqlCommand = "FLUSH PRIVILEGES;";
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
answ = true;
|
||||
}
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Procedura interna effettiva di grant level x utente
|
||||
/// </summary>
|
||||
/// <param name="username"></param>
|
||||
/// <param name="domain"></param>
|
||||
/// <param name="grantLevel"></param>
|
||||
/// <returns></returns>
|
||||
private bool doGrantPriv(string username, string domain, string grantLevel)
|
||||
{
|
||||
bool answ = false;
|
||||
|
||||
string sqlCommand = "FLUSH PRIVILEGES;";
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
sqlCommand = $"GRANT {grantLevel} TO '{username}'@'{domain}';";
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
sqlCommand = "FLUSH PRIVILEGES;";
|
||||
adbCtx.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sqlCommand);
|
||||
Thread.Sleep(100);
|
||||
answ = true;
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -58,6 +58,19 @@ namespace EgtBEAMWALL.DataLayer
|
||||
return Controllers.DbController.man.checkCreateUser(DATABASE_USER, DATABASE_PWD, isNetwork);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua verifica presenza view prod + relativo utente
|
||||
/// </summary>
|
||||
/// <param name="nKey"></param>
|
||||
/// <param name="sKey"></param>
|
||||
/// <param name="isNetwork"></param>
|
||||
/// <returns></returns>
|
||||
public static bool CheckViews(string nKey, string sKey)
|
||||
{
|
||||
// esecuzione script di install locale
|
||||
return Controllers.DbController.man.refreshViews(DATABASE_NAME);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Metodo di init standard per DB in rete con Master_Key
|
||||
/// </summary>
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.4.7.1")]
|
||||
[assembly: AssemblyFileVersion("2.4.7.1")]
|
||||
[assembly: AssemblyVersion("2.4.8.2")]
|
||||
[assembly: AssemblyFileVersion("2.4.8.2")]
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6"/>
|
||||
<providers>
|
||||
|
||||
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
|
||||
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, Version=6.10.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
|
||||
</providers>
|
||||
</entityFramework>
|
||||
<connectionStrings>
|
||||
|
||||
@@ -3,8 +3,7 @@ Imports EgtBEAMWALL.Core
|
||||
|
||||
Public Class AboutBoxV
|
||||
|
||||
Private Sub AboutBoxWD_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
||||
Me.Owner = Application.Current.MainWindow
|
||||
Private Sub AboutBoxWD_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||
DescriptionLbl.Text = My.Application.Info.Description.ToString()
|
||||
VersionLbl.Text = "Version : " & My.Application.Info.Version.Major.ToString() &
|
||||
"." & My.Application.Info.Version.Minor.ToString() &
|
||||
@@ -25,6 +24,9 @@ Public Class AboutBoxV
|
||||
sInfo &= sKey & " - " & sKlev & " - " & sOpts & sLeftDays & Environment.NewLine
|
||||
sInfo &= "DataRoot " & Map.refMainWindowVM.MainWindowM.sDataRoot & Environment.NewLine
|
||||
sInfo &= "MachinesRoot " & Map.refMainWindowVM.MainWindowM.sMachinesRoot & Environment.NewLine
|
||||
Dim sOpSys As String = String.Empty
|
||||
EgtGetOsInfo( sOpSys)
|
||||
sInfo &= sOpSys & Environment.NewLine
|
||||
Dim sCPU As String = String.Empty
|
||||
EgtGetCpuInfo( sCPU)
|
||||
sInfo &= sCPU & Environment.NewLine
|
||||
@@ -32,7 +34,7 @@ Public Class AboutBoxV
|
||||
EgtGetSceneInfo(sScene)
|
||||
sInfo &= sScene
|
||||
InfoLbl.Text = sInfo
|
||||
ExitBtn.Content = EgtMsg(constmsg.MSG_MISSINGKEYWD + 4) 'Ok
|
||||
ExitBtn.Content = EgtMsg(MSG_MISSINGKEYWD + 4) 'Ok
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -377,7 +377,8 @@ Public Class CALCPanelVM
|
||||
.nProgramPage = ProjectType.PROD,
|
||||
.nProjType = ProjType,
|
||||
.bBarOk = True,
|
||||
.nMachineName = MachineName}
|
||||
.nMachineName = MachineName,
|
||||
.nGlobState = MachGroup.nGlobalState}
|
||||
Select Case MachGroup.nGlobalState
|
||||
Case Core.CalcStates.OK, Core.CalcStates.INFO
|
||||
Bar.nCmdType = CalcIntegration.CmdTypes.GENERATE
|
||||
@@ -500,7 +501,7 @@ Public Class CALCPanelVM
|
||||
.bBarOk = True,
|
||||
.nMachineName = MachineName,
|
||||
.nCmdType = CalcIntegration.CmdTypes.SIMULATE}
|
||||
If SelMachGroup.nGlobalState <> Core.CalcStates.OK Then
|
||||
If SelMachGroup.nGlobalState = CalcStates.NOTCALCULATED Then
|
||||
Dim sMachGroupFilePath As String = Map.refSupervisorManagerVM.CurrProd.sProdDirPath & "\" & SelMachGroup.Name.ToString() & ".ori.bwe"
|
||||
If File.Exists(sMachGroupFilePath) Then File.Delete(sMachGroupFilePath)
|
||||
End If
|
||||
|
||||
@@ -501,7 +501,9 @@ Public Class NUMAxiumComm
|
||||
|
||||
Private Sub objDGeneralFunction_ProgramActivated(ByVal nerrorCode As Short)
|
||||
EgtOutLog("Part program activated:" & " " & nerrorCode)
|
||||
DbControllers.m_LogMachineController.Create(MachLog.CreateResultLog(CommandTypes.SENDPROG, CommandStates.OK, ResultTypes.EXECUTED, "Part program activated:" & " " & nerrorCode))
|
||||
'DbControllers.m_LogMachineController.Create(MachLog.CreateResultLog(CommandTypes.SENDPROG, CommandStates.OK, ResultTypes.EXECUTED, "Part program activated:" & " " & nerrorCode))
|
||||
' scrivo evento programma attivato
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachCommandLog(LogEvent.MachineCommands.PROGRAM_ACTIVATION, "", nerrorCode, DbControllers.SupervisorId))
|
||||
End Sub
|
||||
|
||||
Private Sub objDGeneralFunction_OnCncStart(ByVal errorCode As Short)
|
||||
|
||||
@@ -255,11 +255,11 @@ Public Class NUMAxiumPcToolkitComm
|
||||
m_MachManaging.SetConnected(True)
|
||||
m_ResultCallbackDlg(CommandTypes.CONNECT, CommandStates.OK, ResultTypes.RESULT, "")
|
||||
End If
|
||||
'''EgtOutLog("Activating program 9000")
|
||||
'EgtOutLog("Activating program 9000")
|
||||
|
||||
' attivo programma main
|
||||
Map.refMachManaging.Num_Axium_PCToolkit.ActivateProg(9000)
|
||||
'''EgtOutLog("Activated program 9000")
|
||||
'EgtOutLog("Activated program 9000")
|
||||
Return True
|
||||
End Function
|
||||
|
||||
@@ -391,9 +391,11 @@ Public Class NUMAxiumPcToolkitComm
|
||||
nRes = WriteObjectVarious2(nPortFileTransfer, ACTIVE_PROG, PartProgramNumberActivate)
|
||||
If nRes <> 0 Then
|
||||
EgtOutLog("Error Activate Program: " & nRes.ToString())
|
||||
Else
|
||||
DbControllers.m_LogMachineController.Create(MachLog.CreateResultLog(CommandTypes.SENDPROG, CommandStates.OK, ResultTypes.EXECUTED, "Part program activated:" & " " & PartProgramNumberActivate))
|
||||
'Else
|
||||
' DbControllers.m_LogMachineController.Create(MachLog.CreateResultLog(CommandTypes.SENDPROG, CommandStates.OK, ResultTypes.EXECUTED, "Part program activated:" & " " & PartProgramNumberActivate))
|
||||
End If
|
||||
' scrivo evento programma attivato
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachCommandLog(LogEvent.MachineCommands.PROGRAM_ACTIVATION, PartProgramNumberActivate, nRes <> 0, DbControllers.SupervisorId))
|
||||
End Sub
|
||||
|
||||
Private Sub ChangeChannel(Channel As Short)
|
||||
@@ -449,16 +451,16 @@ Public Class NUMAxiumPcToolkitComm
|
||||
End Sub
|
||||
|
||||
Friend Sub CloseReadList()
|
||||
'''objDPlcVariables.CloseReadList()
|
||||
'objDPlcVariables.CloseReadList()
|
||||
End Sub
|
||||
|
||||
Private Sub ReadVariablesOnce(Address As String)
|
||||
'Dim _ReadSymbolicPlcVariableOnetime As String = "Application.IOCONFIG_GLOBALS.Flexium_NCK.RCNC.General.Mode"
|
||||
'''Dim _FXReturn As Int16 = objDPlcVariables.ReadVariablesOnce(10, Address)
|
||||
'Dim _FXReturn As Int16 = objDPlcVariables.ReadVariablesOnce(10, Address)
|
||||
|
||||
'''If _FXReturn <> 0 Then
|
||||
''' EgtOutLog("Error ReadVariablesOnce:" & " " & _FXReturn.ToString())
|
||||
'''End If
|
||||
'If _FXReturn <> 0 Then
|
||||
' EgtOutLog("Error ReadVariablesOnce:" & " " & _FXReturn.ToString())
|
||||
'End If
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -512,7 +514,7 @@ Public Class NUMAxiumPcToolkitComm
|
||||
End Sub
|
||||
|
||||
Friend Sub CloseReadELS()
|
||||
'''objDPlcVariables.CloseReadList()
|
||||
'objDPlcVariables.CloseReadList()
|
||||
End Sub
|
||||
|
||||
Public Sub RefreshAllVars()
|
||||
@@ -574,11 +576,11 @@ Public Class NUMAxiumPcToolkitComm
|
||||
Case "%R3.2"
|
||||
nRet = ReadLadderVar(nPortVariables, R2, &H3, 1, MyData, SYN)
|
||||
nRes = If(MyData.data(0) <> 0, 1, 0)
|
||||
'''EgtOutLog("Variabile: " & Var.sAddress & "DVal: " & nRes & " Valore: " & MyData.data(0) & "," & MyData.data(1) & "," & MyData.data(2) & "," & MyData.data(3))
|
||||
'EgtOutLog("Variabile: " & Var.sAddress & "DVal: " & nRes & " Valore: " & MyData.data(0) & "," & MyData.data(1) & "," & MyData.data(2) & "," & MyData.data(3))
|
||||
Case "%R3.1"
|
||||
nRet = ReadLadderVar(nPortVariables, R1, &H3, 1, MyData, SYN)
|
||||
nRes = If(MyData.data(0) <> 0, 1, 0)
|
||||
'''EgtOutLog("Variabile: " & Var.sAddress & "DVal: " & nRes & " Valore: " & MyData.data(0) & "," & MyData.data(1) & "," & MyData.data(2) & "," & MyData.data(3))
|
||||
'EgtOutLog("Variabile: " & Var.sAddress & "DVal: " & nRes & " Valore: " & MyData.data(0) & "," & MyData.data(1) & "," & MyData.data(2) & "," & MyData.data(3))
|
||||
Case "%V800.L"
|
||||
nRet = ReadLadderVar(nPortVariables, VL, &H800, 4, MyData, SYN)
|
||||
nRes = BitConverter.ToInt32(MyData.data, 0)
|
||||
@@ -900,10 +902,11 @@ Public Class NUMAxiumPcToolkitComm
|
||||
Next
|
||||
|
||||
For index As Integer = 0 To ErrorNumber.Count - 1
|
||||
Dim Ind As Integer = index
|
||||
Dim NewMessageInList As ReadMessages = m_ReadFXMessages.FirstOrDefault(Function(x) x.CMsgCncNumber = 0.ToString() AndAlso
|
||||
x.CMsgErrorType = 6.ToString() AndAlso
|
||||
x.CMsgErrorIndex = "" AndAlso
|
||||
x.CMsgErrorNumber = ErrorNumber(index).ToString() AndAlso
|
||||
x.CMsgErrorNumber = ErrorNumber(Ind).ToString() AndAlso
|
||||
x.CMsgErrorLine = "" AndAlso
|
||||
x.CMsgErrorMessage = "")
|
||||
' se il messaggio e' gia' in lista
|
||||
@@ -1113,9 +1116,9 @@ Public Class NUMAxiumPcToolkitComm
|
||||
Friend Sub ReadCncMode()
|
||||
Dim nRet As Short = -1
|
||||
Dim nMode As UInt16
|
||||
'''EgtOutLog("Pre ReadObjectVarious2")
|
||||
'EgtOutLog("Pre ReadObjectVarious2")
|
||||
nRet = ReadObjectVarious2(nPortVariables, eVarious2.MODE, nMode, SYN)
|
||||
'''EgtOutLog("ReadObjectVarious2 Ret: " & nRet & " Mode: " & nMode)
|
||||
'EgtOutLog("ReadObjectVarious2 Ret: " & nRet & " Mode: " & nMode)
|
||||
If nRet <> 0 Then
|
||||
EgtOutLog("Reading CncMode failed! Error: " & nRet)
|
||||
Return
|
||||
|
||||
@@ -53,7 +53,7 @@ Public Class NUMFlexiumComm
|
||||
Private m_ReadFXMessages As New List(Of ReadMessages)
|
||||
Private m_ReadOperatorMessages As New List(Of ReadMessages)
|
||||
' lista variabili in lettura
|
||||
Private Shared m_ReadingVars(100) As CommVar
|
||||
Private Shared m_ReadingVars(230) As CommVar
|
||||
Private m_BytesTransferedCounter As Integer
|
||||
Private m_LinearAxisPrecision As Integer
|
||||
|
||||
@@ -368,6 +368,31 @@ Public Class NUMFlexiumComm
|
||||
|
||||
Friend Sub FileDownload(sFileType As String, sFilePath As String)
|
||||
Dim _Return_Download As Short
|
||||
'' leggo variabile E30099
|
||||
'Dim SendPermissionVariable As Variable = Map.refMachCommandMessagePanelVM.MainVariablesList.FirstOrDefault(Function(x) x.sName = SENDPERMISSION)
|
||||
'Dim dTemp As Double = 0
|
||||
'Dim nSendPermission As Integer = 0
|
||||
'EgtOutLog("Inizio invio programma")
|
||||
'While nSendPermission <> 2
|
||||
' Dim bFirstWriteOne = True
|
||||
' EgtOutLog("Inizio ciclo verifica diverso da 2")
|
||||
' ' leggo valore
|
||||
' If Not IsNothing(SendPermissionVariable.sValue) Then
|
||||
' StringToDouble(SendPermissionVariable.sValue, dTemp)
|
||||
' Integer.TryParse(dTemp, nSendPermission)
|
||||
' EgtOutLog("Lettura variabile E30099: " & nSendPermission)
|
||||
' Else
|
||||
' EgtOutLog("nSendPermission = -1")
|
||||
' nSendPermission = -1
|
||||
' End If
|
||||
' ' se uguale a zero ci scrivo uno
|
||||
' If nSendPermission = 0 And bFirstWriteOne Then
|
||||
' bFirstWriteOne = False
|
||||
' SendPermissionVariable.sValue = 1
|
||||
' EgtOutLog("Scrittura variabile E30099 = 1")
|
||||
' End If
|
||||
' Threading.Thread.Sleep(1000)
|
||||
'End While
|
||||
|
||||
_Return_Download = objDFileTransfer.FileDownload2(10, sFileType, sFilePath, "", 1, 0)
|
||||
|
||||
@@ -451,7 +476,9 @@ Public Class NUMFlexiumComm
|
||||
|
||||
Private Sub objDGeneralFunction_ProgramActivated(ByVal nerrorCode As Short)
|
||||
EgtOutLog("Part program activated:" & " " & nerrorCode)
|
||||
DbControllers.m_LogMachineController.Create(MachLog.CreateResultLog(CommandTypes.SENDPROG, CommandStates.OK, ResultTypes.EXECUTED, "Part program activated:" & " " & nerrorCode))
|
||||
'DbControllers.m_LogMachineController.Create(MachLog.CreateResultLog(CommandTypes.SENDPROG, CommandStates.OK, ResultTypes.EXECUTED, "Part program activated:" & " " & nerrorCode))
|
||||
' scrivo evento programma attivato
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachCommandLog(LogEvent.MachineCommands.PROGRAM_ACTIVATION, "", nerrorCode, DbControllers.SupervisorId))
|
||||
End Sub
|
||||
|
||||
Private Sub objDGeneralFunction_OnCncStart(ByVal errorCode As Short)
|
||||
|
||||
@@ -3,5 +3,7 @@
|
||||
Public Const MDI_MSG As String = "MDI"
|
||||
Public Const PLC_MSG As String = "PLC"
|
||||
Public Const CNC_MSG As String = "CNC"
|
||||
Public Const INPUT_MSG As String = "INPUT"
|
||||
Public Const OUTPUT_MSG As String = "OUTPUT"
|
||||
|
||||
End Module
|
||||
|
||||
@@ -99,6 +99,9 @@
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="APLog">
|
||||
<HintPath>..\ExtLibs\APLog.dll</HintPath>
|
||||
@@ -543,6 +546,7 @@
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.config" />
|
||||
<None Include="app.manifest" />
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Globalization
|
||||
Imports System.IO
|
||||
Imports System.Windows.Threading
|
||||
Imports EgtBEAMWALL.Core
|
||||
@@ -810,6 +811,8 @@ Public Class LeftPanelVM
|
||||
DbControllers.m_PartController.UpdateStatus(Map.refSupervisorManagerVM.CurrProd.nProdId, MachGroup.Id, Part.nPartId, ItemState.WIP)
|
||||
Part.dtStartTime = Time
|
||||
Part.nProduction_State = ItemState.WIP
|
||||
' scrivo evento inizio pezzo su DB
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreatePartStateLog(Time - TimeSpan.FromSeconds(1), Map.refSupervisorManagerVM.CurrProd.nProdId, MachGroup.Id, Part.nPartId, 1, DbControllers.SupervisorId))
|
||||
' se e' il primo ad essere lavorato
|
||||
If Not MachGroup.PartVMList.Any(Function(x) x IsNot Part AndAlso x.dtStartTime > DateTime.MinValue) Then
|
||||
' se non e' gia' in coda per essere prodotto
|
||||
@@ -837,6 +840,8 @@ Public Class LeftPanelVM
|
||||
MachGroup.dtStartTime = Time
|
||||
MachGroup.nProduction_State = ItemState.WIP
|
||||
MachGroup.NotifyPropertyChanged(NameOf(MachGroup.Production_Background))
|
||||
' scrivo evento inizio MachGroup su DB
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachGroupStateLog(Time - TimeSpan.FromSeconds(1), Map.refSupervisorManagerVM.CurrProd.nProdId, MachGroup.Id, 1, DbControllers.SupervisorId))
|
||||
' blocco produzione di tutti gli altri perche' iniziato questo
|
||||
MyMachGroupVM.UpdateProduceIsEnabledForAll()
|
||||
End If
|
||||
@@ -846,6 +851,8 @@ Public Class LeftPanelVM
|
||||
DbControllers.m_PartController.UpdateStatus(Map.refSupervisorManagerVM.CurrProd.nProdId, MachGroup.Id, Part.nPartId, ItemState.Produced)
|
||||
Part.dtEndTime = Time
|
||||
Part.nProduction_State = ItemState.Produced
|
||||
' scrivo evento fine pezzo su DB
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreatePartStateLog(Time, Map.refSupervisorManagerVM.CurrProd.nProdId, MachGroup.Id, Part.nPartId, 2, DbControllers.SupervisorId))
|
||||
If MachGroup.PartVMList.All(Function(x) x.nProduction_State >= ItemState.Produced) Then
|
||||
'aggiorno anche fine MachGroup
|
||||
DbControllers.m_MachGroupController.UpdateEnd(Map.refSupervisorManagerVM.CurrProd.nProdId, MachGroup.Id, Time)
|
||||
@@ -861,6 +868,8 @@ Public Class LeftPanelVM
|
||||
NotifyPropertyChanged(NameOf(DoneRawPart_IsEnabled))
|
||||
NotifyPropertyChanged(NameOf(MoveRawPart_IsEnabled))
|
||||
NotifyPropertyChanged(NameOf(ResetRawPart_IsEnabled))
|
||||
' scrivo evento fine MachGroup su DB
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachGroupStateLog(Time, Map.refSupervisorManagerVM.CurrProd.nProdId, MachGroup.Id, 2, DbControllers.SupervisorId))
|
||||
' se avanzamento singolo, sblocco produzione di tutti gli altri
|
||||
If CurrentMachine.Flow = FlowTypes.ONEBYONE Then
|
||||
MyMachGroupVM.UpdateProduceIsEnabledForAll()
|
||||
@@ -995,14 +1004,41 @@ Public Class LeftPanelVM
|
||||
|
||||
Private Sub CreateDataFile(sFilePath As String, SelPart As PartVM, SelMachGroup As MyMachGroupVM)
|
||||
Dim sFileText As New List(Of String)
|
||||
Dim nBtlInfoId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
|
||||
Dim sInfo As String = ""
|
||||
Dim bOk As Boolean = False
|
||||
' inserisco il capitolo del [Main]
|
||||
sFileText.Add("[Main]")
|
||||
sFileText.Add("Var1=$PRODID$," & Map.refSupervisorManagerVM.CurrProd.sProdId)
|
||||
sFileText.Add("Var2=$MACHGROUPID$," & SelMachGroup.Id)
|
||||
sFileText.Add("Var2=$MACHGROUPID$," & SelMachGroup.nName)
|
||||
sFileText.Add("Var3=$PARTID$," & SelPart.nPDN)
|
||||
sFileText.Add("Var4=$MATERIAL$," & SelPart.sMATERIAL)
|
||||
'sFileText.Add("Var5=$Thickness$," & SelPart.Thickness)
|
||||
'sFileText.Add("Var6=$Storage$," & SelPart.WarehousePosition)
|
||||
bOk = EgtGetInfo(nBtlInfoId, BTL_GEN_PROJNUM, sInfo)
|
||||
sFileText.Add("Var5=$PROJECTNUMBER$," & If(bOk, sInfo, ""))
|
||||
bOk = EgtGetInfo(nBtlInfoId, BTL_GEN_PROJNAME, sInfo)
|
||||
sFileText.Add("Var6=$PROJECTNAME$," & If(bOk, sInfo, ""))
|
||||
bOk = EgtGetInfo(nBtlInfoId, BTL_GEN_CUSTOMER, sInfo)
|
||||
sFileText.Add("Var7=$CUSTOMER$," & If(bOk, sInfo, ""))
|
||||
bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_ASSEMBLYNUM, sInfo)
|
||||
sFileText.Add("Var8=$ASSEMBLYNUMBER$," & If(bOk, sInfo, ""))
|
||||
bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_ORDERNUM, sInfo)
|
||||
sFileText.Add("Var9=$ORDERNUMBER$," & If(bOk, sInfo, ""))
|
||||
bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_DESIGNATION, sInfo)
|
||||
sFileText.Add("Var10=$DESIGNATION$," & If(bOk, sInfo, ""))
|
||||
bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_ANNOTATION, sInfo)
|
||||
sFileText.Add("Var11=$ANNOTATION$," & If(bOk, sInfo, ""))
|
||||
sFileText.Add("Var12=$STOREY$," & SelPart.sSTOREY)
|
||||
sFileText.Add("Var13=$GROUP$," & SelPart.sGROUP)
|
||||
bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_PACKAGE, sInfo)
|
||||
sFileText.Add("Var14=$PACKAGE$," & If(bOk, sInfo, ""))
|
||||
sFileText.Add("Var15=$WHL$," & SelPart.sW & "x" & SelPart.sH & "x" & SelPart.sL)
|
||||
sFileText.Add("Var16=$PRODUCTIONDATE$," & Date.Now().ToString("yyyy-MM-dd"))
|
||||
' calcolo numero settimana corrente secondo ISO 8601
|
||||
Dim time As Date = Date.Now()
|
||||
Dim Day As DayOfWeek = CultureInfo.InvariantCulture.Calendar.GetDayOfWeek(time)
|
||||
If Day >= DayOfWeek.Monday AndAlso Day <= DayOfWeek.Wednesday Then time = time.AddDays(3)
|
||||
Dim nWeekOfYear As Integer = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(time, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday)
|
||||
sFileText.Add("Var18=$PRODUCTIONWEEK$," & nWeekOfYear)
|
||||
Try
|
||||
File.WriteAllLines(sFilePath, sFileText)
|
||||
Catch ex As Exception
|
||||
|
||||
@@ -541,14 +541,18 @@ Public Class MachCommandMessagePanelVM
|
||||
Map.refMachManaging.Num_Axium_APServer.GetGeneralFunctions()
|
||||
End If
|
||||
End If
|
||||
' scrivo evento programma attivato
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachCommandLog(LogEvent.MachineCommands.CONNECTION, "", 0, DbControllers.SupervisorId))
|
||||
End If
|
||||
Case CommandTypes.DISCONNECT
|
||||
If CommandState = CommandStates.OK Then
|
||||
_Connected = False
|
||||
NotifyPropertyChanged(NameOf(Connect_Background))
|
||||
' scrivo evento programma attivato
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachCommandLog(LogEvent.MachineCommands.DISCONNECTION, "", 0, DbControllers.SupervisorId))
|
||||
End If
|
||||
End Select
|
||||
DbControllers.m_LogMachineController.Create(MachLog.CreateResultLog(CommandType, CommandState, ResultType, Params))
|
||||
'DbControllers.m_LogMachineController.Create(MachLog.CreateResultLog(CommandType, CommandState, ResultType, Params))
|
||||
End Sub
|
||||
Friend Sub CloseCallbackDlg(ByRef bCancel As Boolean)
|
||||
' serve?
|
||||
@@ -615,7 +619,8 @@ Public Class MachCommandMessagePanelVM
|
||||
' fermo timer degli allarmi
|
||||
m_AlarmTimer.Stop()
|
||||
End If
|
||||
DbControllers.m_LogMachineController.Create(MachLog.CreateAlarmLog(AlarmOperation, AlarmType, AlarmMessage, AlarmCode, AlarmDateTime))
|
||||
'DbControllers.m_LogMachineController.Create(MachLog.CreateAlarmLog(AlarmOperation, AlarmType, AlarmMessage, AlarmCode, AlarmDateTime))
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateAlarmLog(DateTime.Now(), AlarmOperation & LogEvent.cSeparator & AlarmType & LogEvent.cSeparator & AlarmMessage & LogEvent.cSeparator & AlarmCode & LogEvent.cSeparator & AlarmDateTime, DbControllers.m_SupervisorId))
|
||||
End Sub
|
||||
|
||||
Friend Sub NUMAlarmCallbackDlg(ByVal CncNumber As Integer, ByVal AlarmOperation As Integer, ByVal ErrorTyp As String, ByVal ErrorIndex As String, ByVal ErrorNumber As String, ByVal ErrorLine As String, ByVal ErrorMessage As String, ByVal ErrorAdditional As String)
|
||||
@@ -661,10 +666,17 @@ Public Class MachCommandMessagePanelVM
|
||||
ErrorAdditionalMsg = "Line Number"
|
||||
ErrorNumberMsg = "CN:"
|
||||
End If
|
||||
Dim sErrorMessage As String = ErrorMessage
|
||||
If bMsgTranslationActive Then
|
||||
Dim sTranslatedMsg = MachMsg(MsgParagraphs.CNC, nErrorNumber)
|
||||
If Not String.IsNullOrWhiteSpace(sTranslatedMsg) Then
|
||||
sErrorMessage = sTranslatedMsg
|
||||
End If
|
||||
End If
|
||||
ErrorLineMsg = "Number from the Cnc Block"
|
||||
AlarmMessage = If(nErrorNumber <> 0, ErrorNumberMsg & ": " & nErrorNumber & " - ", "") &
|
||||
If(nErrorExtNumber <> 0, " - " & ErrorExtNumberMsg & ": " & nErrorExtNumber, "") &
|
||||
" " & ErrorMessage
|
||||
" " & sErrorMessage
|
||||
Case NUM_ErrorTypes.Drive_Error
|
||||
ErrorIndexMsg = "Azionamento: Asse"
|
||||
ErrorNumberMsg = "Ext"
|
||||
@@ -785,7 +797,8 @@ Public Class MachCommandMessagePanelVM
|
||||
' fermo timer degli allarmi
|
||||
m_AlarmTimer.Stop()
|
||||
End If
|
||||
DbControllers.m_LogMachineController.Create(MachLog.CreateAlarmLog(AlarmOperation, ErrorTyp, AlarmMessage, AlarmCode, DateTime.Now))
|
||||
'DbControllers.m_LogMachineController.Create(MachLog.CreateAlarmLog(AlarmOperation, ErrorTyp, AlarmMessage, AlarmCode, DateTime.Now))
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateAlarmLog(DateTime.Now(), AlarmOperation & LogEvent.cSeparator & ErrorTyp & LogEvent.cSeparator & AlarmMessage & LogEvent.cSeparator & AlarmCode & LogEvent.cSeparator, DbControllers.m_SupervisorId))
|
||||
End Sub
|
||||
|
||||
Friend Sub AxisCoordinatesCallbackDlg(AxisValue As Double, AxisIndex As Integer)
|
||||
@@ -808,7 +821,8 @@ Public Class MachCommandMessagePanelVM
|
||||
Case NCTypes.NUM_FLEXIUM, NCTypes.NUM_AXIUM_APSERVER, NCTypes.NUM_AXIUM_PCTOOLKIT
|
||||
Map.refLeftPanelVM.SetOPState(NewState)
|
||||
End Select
|
||||
DbControllers.m_LogMachineController.Create(MachLog.CreateOPStateLog(newOpState))
|
||||
'DbControllers.m_LogMachineController.Create(MachLog.CreateOPStateLog(newOpState))
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachineStateLog(newOpState, DbControllers.m_SupervisorId))
|
||||
End Sub
|
||||
|
||||
Friend Sub OpModeCallbackDlg(newOpState As Integer)
|
||||
@@ -821,7 +835,8 @@ Public Class MachCommandMessagePanelVM
|
||||
Case NCTypes.NUM_FLEXIUM, NCTypes.NUM_AXIUM_APSERVER, NCTypes.NUM_AXIUM_PCTOOLKIT
|
||||
Map.refLeftPanelVM.SetOPMode(NewState)
|
||||
End Select
|
||||
DbControllers.m_LogMachineController.Create(MachLog.CreateOPStateLog(newOpState))
|
||||
'DbControllers.m_LogMachineController.Create(MachLog.CreateOPStateLog(newOpState))
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachineModeLog(newOpState, DbControllers.m_SupervisorId))
|
||||
End Sub
|
||||
|
||||
Friend Sub ChannelCallbackDlg(NewChannelId As Short)
|
||||
@@ -840,8 +855,9 @@ Public Class MachCommandMessagePanelVM
|
||||
Case "AsseX", "AsseY", "AsseZ", "AsseC", "AsseB"
|
||||
SetAxisValue(VarName, VarValue)
|
||||
End Select
|
||||
'DbControllers.m_LogMachineController.Create(MachLog.CreateReadLog(CommandExecutedCorrectly, VarAddress, VarValue))
|
||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateReadVarLog(VarAddress, VarValue, DbControllers.SupervisorId))
|
||||
End If
|
||||
DbControllers.m_LogMachineController.Create(MachLog.CreateReadLog(CommandExecutedCorrectly, VarAddress, VarValue))
|
||||
End Sub
|
||||
|
||||
Private Sub SetAxisValue(VarName As String, VarValue As String)
|
||||
|
||||
@@ -362,7 +362,7 @@ Public Class MachManaging
|
||||
Case NCTypes.NUM_AXIUM_PCTOOLKIT
|
||||
' leggo tutte le variabili
|
||||
Num_Axium_PCToolkit.RefreshAllVars()
|
||||
'''EgtOutLog("Post lettura variabili")
|
||||
'EgtOutLog("Post lettura variabili")
|
||||
Dim dTemp As Double = 0
|
||||
Dim nTemp As Integer = 0
|
||||
If Not IsNothing(ResetVariable.sValue) Then
|
||||
@@ -433,7 +433,7 @@ Public Class MachManaging
|
||||
Else
|
||||
nCurrMachIndex = -1
|
||||
End If
|
||||
'''EgtOutLog("Post scrittura variabili lette")
|
||||
'EgtOutLog("Post scrittura variabili lette")
|
||||
' se indice lavorazione positivo, lo aggiorno
|
||||
If nCurrMachIndex > 0 AndAlso nReset_State = 0 Then
|
||||
m_nMachIndex = nCurrMachIndex
|
||||
@@ -706,12 +706,12 @@ Public Class MachManaging
|
||||
For VParIndex = 1 To sVs.Length - 1
|
||||
Dim VPar() As String = sVs(VParIndex).Split("="c)
|
||||
VPar(1) = VPar(1).Trim
|
||||
StringToDouble(VPar(1), dVPars(VParIndex))
|
||||
StringToDouble(VPar(1), dVPars(VParIndex - 1))
|
||||
Next
|
||||
' li scrivo nel CN
|
||||
For Index As Integer = 1 To 10
|
||||
Dim sValue As String = ""
|
||||
DoubleToString(dVPars(Index), sValue)
|
||||
sValue = DoubleToString(dVPars(Index - 1), 2)
|
||||
Tpa.RWVariableManager.WriteVarByName(VPAR & Index.ToString(), sValue)
|
||||
Next
|
||||
m_NextBarId = MyMachGroup.Id
|
||||
@@ -1169,7 +1169,7 @@ Public Class MachManaging
|
||||
EgtUILib.GetPrivateProfileString(IpAppName, IpKeyName, "", sVariable, IpFileName)
|
||||
If String.IsNullOrWhiteSpace(sVariable) Then Return Nothing
|
||||
Dim sVariableValues() As String = sVariable.Split(","c)
|
||||
If Not sVariableValues.Count >= 4 Then Return Nothing
|
||||
'If Not sVariableValues.Count >= 4 Then Return Nothing
|
||||
For Index As Integer = 0 To sVariableValues.Count - 1
|
||||
sVariableValues(Index) = sVariableValues(Index).Trim()
|
||||
Next
|
||||
@@ -1200,7 +1200,25 @@ Public Class MachManaging
|
||||
Case S_OUTPUTVARIABLES
|
||||
Paragraph = Paragraphs.OUTPUT
|
||||
End Select
|
||||
Return New CommVar(sVariableValues(0), sVariableValues(1), ReadType, Type, Paragraph)
|
||||
Dim sDescription As String = ""
|
||||
If sVariableValues.Length >= 5 Then
|
||||
Dim nDescription As Integer
|
||||
If Integer.TryParse(sVariableValues(4), nDescription) Then
|
||||
Dim MsgParagraph As MsgParagraphs
|
||||
Select Case Paragraph
|
||||
Case Paragraphs.INPUT
|
||||
MsgParagraph = MsgParagraphs.INPUT
|
||||
Case Paragraphs.OUTPUT
|
||||
MsgParagraph = MsgParagraphs.OUTPUT
|
||||
Case Else
|
||||
MsgParagraph = MsgParagraphs.INPUT
|
||||
End Select
|
||||
sDescription = MachMsg(MsgParagraph, nDescription)
|
||||
Else
|
||||
sDescription = sVariableValues(4)
|
||||
End If
|
||||
End If
|
||||
Return New CommVar(sVariableValues(0), sVariableValues(1), ReadType, Type, Paragraph, sDescription)
|
||||
End Function
|
||||
|
||||
Private Sub ReadPLCMessages()
|
||||
|
||||
@@ -59,7 +59,7 @@ Public Class RWVariableManager
|
||||
|
||||
Public Shared Function InitVar(Name As String, Address As String, Type As CommVar.ReadTypes) As Integer
|
||||
Dim Index As Integer = Array.IndexOf(m_ReadingVars, Nothing)
|
||||
m_ReadingVars(Index) = New CommVar(Name, Address, Type, CommVar.Types.NULL, CommVar.Paragraphs.NULL)
|
||||
m_ReadingVars(Index) = New CommVar(Name, Address, Type, CommVar.Types.NULL, CommVar.Paragraphs.NULL, "")
|
||||
Return Index
|
||||
End Function
|
||||
|
||||
@@ -101,7 +101,7 @@ Public Class RWVariableManager
|
||||
Case S_OUTPUTVARIABLES
|
||||
Paragraph = Paragraphs.OUTPUT
|
||||
End Select
|
||||
Return New CommVar(sVariableValues(0), sVariableValues(1), Type, CommVar.Types.NULL, Paragraph)
|
||||
Return New CommVar(sVariableValues(0), sVariableValues(1), Type, CommVar.Types.NULL, Paragraph, "")
|
||||
End Function
|
||||
|
||||
Public Sub RefreshVar(Name As String)
|
||||
@@ -266,6 +266,7 @@ Public Class CommVar
|
||||
m_sName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_sAddress As String
|
||||
Public Property sAddress As String
|
||||
Get
|
||||
@@ -275,12 +276,14 @@ Public Class CommVar
|
||||
m_sAddress = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_nReadType As ReadTypes
|
||||
Public ReadOnly Property nReadType As ReadTypes
|
||||
Get
|
||||
Return m_nReadType
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_nType As Types
|
||||
Public ReadOnly Property nType As Types
|
||||
Get
|
||||
@@ -306,6 +309,13 @@ Public Class CommVar
|
||||
If bNewValue Then RaiseEvent NewValue(Me, New NewValueEventArgs(Value))
|
||||
End Sub
|
||||
|
||||
Private m_sDescription As String
|
||||
Public ReadOnly Property sDescription As String
|
||||
Get
|
||||
Return m_sDescription
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bReaded As Boolean
|
||||
Public ReadOnly Property bReaded As Boolean
|
||||
Get
|
||||
@@ -324,12 +334,13 @@ Public Class CommVar
|
||||
' indice usato in liste lettura NUM
|
||||
Friend Index As Integer = -1
|
||||
|
||||
Sub New(Name As String, Address As String, ReadType As ReadTypes, Type As Types, Paragraph As Paragraphs)
|
||||
Sub New(Name As String, Address As String, ReadType As ReadTypes, Type As Types, Paragraph As Paragraphs, sDescription As String)
|
||||
m_sName = Name
|
||||
m_sAddress = Address
|
||||
m_nReadType = ReadType
|
||||
m_nType = Type
|
||||
m_Paragraph = Paragraph
|
||||
m_sDescription = sDescription
|
||||
End Sub
|
||||
|
||||
Friend Sub ResetReading()
|
||||
|
||||
@@ -24,6 +24,26 @@
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Height="30">
|
||||
<ComboBox ItemsSource="{Binding EntityTypeList}"
|
||||
SelectedIndex="{Binding SelEntityType}"
|
||||
Width="70"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource PartParam_ComboBox}"/>
|
||||
<ComboBox ItemsSource="{Binding PartEventTypeList}"
|
||||
SelectedIndex="{Binding SelPartEventType}"
|
||||
Width="70"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource PartParam_ComboBox}"/>
|
||||
<!--<TextBox Text="{Binding MaxRowNumber}"/>-->
|
||||
<Button Grid.Column="1"
|
||||
Command="{Binding Refresh_Command}"
|
||||
Margin="2.5,0,5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/MDIPage/Send.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<EgtBEAMWALLCORE:EgtDataGrid ItemsSource="{Binding MachineLogList}"
|
||||
Grid.Row="1"
|
||||
AutoGenerateColumns="False"
|
||||
@@ -37,7 +57,8 @@
|
||||
BindingColumns="{Binding MachineLogColumns}">
|
||||
<DataGrid.Resources>
|
||||
<!-- Data/ora -->
|
||||
<DataGridTextColumn x:Key="colDATETIME" Binding="{Binding sEventDateTime}">
|
||||
<DataGridTextColumn x:Key="colDATETIME" Binding="{Binding sEventDateTime}"
|
||||
SortMemberPath="sEventTick">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=DataContext.EventDateTime_Msg,
|
||||
@@ -61,7 +82,7 @@
|
||||
<TextBlock Text="{Binding Path=DataContext.EventValue_Msg,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:MachineLogPageV}}}"/>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
</DataGridTextColumn>
|
||||
<!-- SupervisorId -->
|
||||
<DataGridTextColumn x:Key="colSUPERVISORID" Binding="{Binding SupervisorId}">
|
||||
@@ -91,7 +112,7 @@
|
||||
<DataGridTextColumn x:Key="colPART" Binding="{Binding PartId}">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=DataContext.PartId_Msg,
|
||||
<TextBlock Text="{Binding Path=DataContext.PartId_Msg,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:MachineLogPageV}}}"/>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
|
||||
@@ -62,6 +62,42 @@ Public Class MachineLogPageVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_PartEventTypeList As New List(Of String)({"", "Inizio", "Fine"})
|
||||
Public ReadOnly Property PartEventTypeList As List(Of String)
|
||||
Get
|
||||
Return m_PartEventTypeList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelPartEventType As Integer
|
||||
Public Property SelPartEventType As Integer
|
||||
Get
|
||||
Return m_SelPartEventType
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_SelPartEventType = value
|
||||
m_MachineLogList_View.Refresh()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_EntityTypeList As New List(Of String)({"", "Pezzo", "Barra"})
|
||||
Public ReadOnly Property EntityTypeList As List(Of String)
|
||||
Get
|
||||
Return m_EntityTypeList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelEntityType As Integer
|
||||
Public Property SelEntityType As Integer
|
||||
Get
|
||||
Return m_SelEntityType
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_SelEntityType = value
|
||||
m_MachineLogList_View.Refresh()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdRefresh As ICommand
|
||||
|
||||
@@ -139,16 +175,34 @@ Public Class MachineLogPageVM
|
||||
|
||||
Private Function MachineLogFilter(LogEvent As Object) As Boolean
|
||||
Dim CurrLogEvent As LogEvent = DirectCast(LogEvent, LogEvent)
|
||||
Dim bOk As Boolean = True
|
||||
Select Case m_SelEntityType
|
||||
Case 0
|
||||
bOk = bOk And True
|
||||
Case 1
|
||||
bOk = bOk And CurrLogEvent.EventType = MachLogTypes.PART_STATUS
|
||||
Case 2
|
||||
bOk = bOk And CurrLogEvent.EventType = MachLogTypes.MACHGROUP_STATUS
|
||||
End Select
|
||||
If CurrLogEvent.EventType = MachLogTypes.PART_STATUS OrElse CurrLogEvent.EventType = MachLogTypes.MACHGROUP_STATUS Then
|
||||
Select Case m_SelPartEventType
|
||||
Case 0
|
||||
bOk = bOk And True
|
||||
Case 1
|
||||
bOk = bOk And CurrLogEvent.nStatus = 1
|
||||
Case 2
|
||||
bOk = bOk And CurrLogEvent.nStatus = 2
|
||||
End Select
|
||||
End If
|
||||
' se livello utente inferiore a 5, mostro solo eventi pezzo e machgroup
|
||||
If Map.refMainWindowVM.MainWindowM.nUserLevel < 5 Then
|
||||
If CurrLogEvent.EventType = MachLogTypes.PART_STATUS Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
bOk = bOk And CurrLogEvent.EventType = MachLogTypes.PART_STATUS OrElse CurrLogEvent.EventType = MachLogTypes.MACHGROUP_STATUS
|
||||
Else
|
||||
Return True
|
||||
If Not CurrLogEvent.EventType = MachLogTypes.PART_STATUS AndAlso Not CurrLogEvent.EventType = MachLogTypes.MACHGROUP_STATUS Then
|
||||
bOk = True
|
||||
End If
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
Friend Sub LoadMachineLogList()
|
||||
@@ -157,6 +211,12 @@ Public Class MachineLogPageVM
|
||||
m_colMachineLog_Description.ColumnVisibility = Visibility.Collapsed
|
||||
m_colMachineLog_SupervisorId.ColumnVisibility = Visibility.Collapsed
|
||||
End If
|
||||
UpdateMachineLogList()
|
||||
m_MachineLogList_View = CollectionViewSource.GetDefaultView(m_MachineLogList)
|
||||
m_MachineLogList_View.Filter = AddressOf MachineLogFilter
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateMachineLogList()
|
||||
m_MachineLogList = New ObservableCollection(Of LogEvent)(DbControllers.m_LogMachineController.GetCoreDesc(DateTime.Now - TimeSpan.FromDays(300), DateTime.Now).Select(Of LogEvent)(Function(x) New LogEvent(x)).ToList())
|
||||
NotifyPropertyChanged(NameOf(MachineLogList))
|
||||
m_MachineLogList_View = CollectionViewSource.GetDefaultView(m_MachineLogList)
|
||||
@@ -185,7 +245,7 @@ Public Class MachineLogPageVM
|
||||
''' Execute the Open. This method is invoked by the OpenCommand.
|
||||
''' </summary>
|
||||
Friend Sub Refresh()
|
||||
m_MachineLogList_View.Refresh()
|
||||
UpdateMachineLogList()
|
||||
End Sub
|
||||
|
||||
#End Region ' Refresh
|
||||
@@ -195,6 +255,7 @@ Public Class MachineLogPageVM
|
||||
End Class
|
||||
|
||||
Public Class MachLogType
|
||||
Inherits VMBase
|
||||
|
||||
Private m_nId As Integer
|
||||
Public ReadOnly Property nId As Integer
|
||||
|
||||
@@ -3,6 +3,7 @@ Imports System.Math
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
Imports EgtBEAMWALL.Core
|
||||
Imports System.IO
|
||||
|
||||
Public Class MainWindowM
|
||||
|
||||
@@ -18,6 +19,13 @@ Public Class MainWindowM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sDataDir As String = String.Empty
|
||||
Friend ReadOnly Property sDataDir As String
|
||||
Get
|
||||
Return m_sDataDir
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sConfigDir As String = String.Empty
|
||||
Public ReadOnly Property sConfigDir As String
|
||||
Get
|
||||
@@ -190,6 +198,8 @@ Public Class MainWindowM
|
||||
IniFile.m_sIniFile = m_sConfigDir & "\" & Core.ConstIni.INI_FILE_NAME
|
||||
' Impostazione path BTL Ini File
|
||||
BTLIniFile.m_sBTLIniFile = m_sConfigDir & "\" & BTLFEATURES_FILE_NAME
|
||||
' Impostazione path Ini file DataGrid
|
||||
DataGridColumnsIniFile.m_sDataGridColumnsIniFile = m_sConfigDir & "\" & DATAGRIDCOLUMNS_FILE_NAME
|
||||
' Impostazione path Ini file Dimensioni
|
||||
DimensionsIniFile.m_sDimensionsIniFile = m_sConfigDir & "\" & ConstDims.DIMENSIONS_FILE_NAME
|
||||
' Impostazione path resources dir
|
||||
@@ -209,13 +219,10 @@ Public Class MainWindowM
|
||||
If GetMainPrivateProfileString(S_WALL, K_WALLBASEDIR, "", m_sWallRoot) = 0 Then
|
||||
m_sWallRoot = m_sDataRoot & "\" & WALL_DIR
|
||||
End If
|
||||
m_sProjsDir = m_sDataRoot & "\" & PROJS_DIR
|
||||
m_sProdsDir = m_sDataRoot & "\" & PRODS_DIR
|
||||
m_sWarehouseRoot = m_sDataRoot & "\" & WAREHOUSE_DIR
|
||||
' imposto cartelle dei progetti
|
||||
ProjectFileVM.Init(sProjsDir, sProdsDir)
|
||||
' Impostazione path Ini file DataGrid
|
||||
Core.DataGridColumnsIniFile.m_sDataGridColumnsIniFile = m_sConfigDir & "\" & DATAGRIDCOLUMNS_FILE_NAME
|
||||
' Impostazione direttorio magazzino grezzi
|
||||
If GetMainPrivateProfileString(S_GENERAL, K_DATADIR, "", m_sDataDir) = 0 Then
|
||||
m_sDataDir = m_sDataRoot
|
||||
End If
|
||||
' Verifico indice di istanza
|
||||
ManageInstance()
|
||||
' Imposto tipo di chiave
|
||||
@@ -387,6 +394,30 @@ Public Class MainWindowM
|
||||
Core.ProjectFileVM.Init(sProjsDir, sProdsDir)
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdatePathForKey(sKey As String)
|
||||
m_sProjsDir = m_sDataDir & "\" & sKey & "\" & PROJS_DIR
|
||||
m_sProdsDir = m_sDataDir & "\" & sKey & "\" & PRODS_DIR
|
||||
If Not Directory.Exists(m_sDataDir & "\" & sKey) Then
|
||||
Directory.CreateDirectory(m_sDataDir & "\" & sKey & "\" & PROJS_DIR)
|
||||
Directory.CreateDirectory(m_sDataDir & "\" & sKey & "\" & PRODS_DIR)
|
||||
End If
|
||||
' imposto cartelle dei progetti
|
||||
Core.ProjectFileVM.Init(sProjsDir, sProdsDir)
|
||||
End Sub
|
||||
|
||||
Friend Function GetKeyNumber() As Integer
|
||||
Dim sKey As String = ""
|
||||
Dim nKey As Integer = 0
|
||||
EgtGetKeyInfo(sKey)
|
||||
sKey = sKey.Replace(" ", "")
|
||||
If Not IsNothing(sKey) AndAlso sKey.Length > 11 Then
|
||||
If Integer.TryParse(sKey.Substring(3, 6), nKey) AndAlso nKey > 0 Then
|
||||
Return nKey
|
||||
End If
|
||||
End If
|
||||
Return -1
|
||||
End Function
|
||||
|
||||
Friend Sub Close()
|
||||
' Terminazione generale di EgtInterface
|
||||
EgtExit()
|
||||
|
||||
@@ -11,8 +11,23 @@ Imports System.Windows
|
||||
|
||||
' Review the values of the assembly attributes
|
||||
|
||||
<Assembly: AssemblyTitle("EgtBEAMWALL.Supervisor")>
|
||||
<Assembly: AssemblyDescription("")>
|
||||
#If PLATFORM = "x64" Then
|
||||
#If DEBUG Then
|
||||
<Assembly: AssemblyTitle("EgtBEAMWALL.SupervisorD64.exe")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL S Debug 32 bit")>
|
||||
#Else
|
||||
<Assembly: AssemblyTitle("EgtBEAMWALL.SupervisorR64.exe")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL S 32 bit")>
|
||||
#End if
|
||||
#Else
|
||||
#If DEBUG Then
|
||||
<Assembly: AssemblyTitle("EgtBEAMWALL.SupervisorD32.exe")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL S Debug 32 bit")>
|
||||
#Else
|
||||
<Assembly: AssemblyTitle("EgtBEAMWALL.SupervisorR32.exe")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL S 32 bit")>
|
||||
#End if
|
||||
#End if
|
||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||
<Assembly: AssemblyProduct("EgtBEAMWALL.Supervisor")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2020-2022 by Egalware s.r.l.")>
|
||||
@@ -55,5 +70,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.4.7.1")>
|
||||
<Assembly: AssemblyFileVersion("2.4.7.1")>
|
||||
<Assembly: AssemblyVersion("2.4.8.2")>
|
||||
<Assembly: AssemblyFileVersion("2.4.8.2")>
|
||||
|
||||
@@ -28,7 +28,7 @@ Public Class ProjectVM
|
||||
If m_SelTabPage = TabPages.MACHINELOG Then
|
||||
Map.refCALCPanelVM.SetMachineLog(False)
|
||||
End If
|
||||
If SelTabPage Then
|
||||
If SelTabPage = TabPages.MACHINELOG Then
|
||||
Map.refMachineLogPageVM.LoadMachineLogList()
|
||||
End If
|
||||
m_SelTabPage = SelTabPage
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
@@ -77,21 +77,21 @@ Public Class SupervisorManagerVM
|
||||
'Private m_cmdSave As ICommand
|
||||
Private m_cmdGoToProd As ICommand
|
||||
|
||||
'#Region "ToolTip"
|
||||
#Region "ToolTip"
|
||||
|
||||
' 'Proprietà ToolTip
|
||||
' Public ReadOnly Property OpenToolTip As String
|
||||
' Get
|
||||
' Return EgtMsg(MSG_TOPCOMMANDBAR + 2)
|
||||
' End Get
|
||||
' End Property
|
||||
' Public ReadOnly Property SaveToolTip As String
|
||||
' Get
|
||||
' Return EgtMsg(MSG_TOPCOMMANDBAR + 3)
|
||||
' End Get
|
||||
' End Property
|
||||
'Proprietà ToolTip
|
||||
Public ReadOnly Property OpenToolTip As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOPCOMMANDBAR + 2)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property GoToProd_ToolTip As String
|
||||
Get
|
||||
Return EgtMsg(61835)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'#End Region ' ToolTip
|
||||
#End Region ' ToolTip
|
||||
|
||||
#End Region ' Fields & Properties
|
||||
|
||||
@@ -219,6 +219,8 @@ Public Class SupervisorManagerVM
|
||||
CurrProd = Nothing
|
||||
Map.refMainWindowVM.UpdateTitle()
|
||||
m_bLoadingProd = False
|
||||
NotifyPropertyChanged(NameOf(MruFileNames))
|
||||
LoadingWndHelper.CloseLoadingWnd(ActiveIds.OPENPROD)
|
||||
Return
|
||||
End If
|
||||
LoadingWndHelper.OpenLoadingWnd(ActiveIds.OPENPROD, 3, EgtMsg(63000), EgtMsg(63001), 50) 'Project opening 'Loading project geometries
|
||||
@@ -239,11 +241,19 @@ Public Class SupervisorManagerVM
|
||||
MessageBox.Show("Impossibile aprire il file!!")
|
||||
Map.refSceneHostVM.MainController.NewProject()
|
||||
Map.refMainWindowVM.SetTitle("New - EgtBEAMWALL")
|
||||
m_bLoadingProd = False
|
||||
NotifyPropertyChanged(NameOf(MruFileNames))
|
||||
LoadingWndHelper.CloseLoadingWnd(ActiveIds.OPENPROD)
|
||||
Return
|
||||
End If
|
||||
Else
|
||||
MessageBox.Show("File non trovato!!")
|
||||
Map.refSceneHostVM.MainController.NewProject()
|
||||
Map.refMainWindowVM.SetTitle("New - EgtBEAMWALL")
|
||||
m_bLoadingProd = False
|
||||
NotifyPropertyChanged(NameOf(MruFileNames))
|
||||
LoadingWndHelper.CloseLoadingWnd(ActiveIds.OPENPROD)
|
||||
Return
|
||||
End If
|
||||
LoadingWndHelper.UpdateLoadingWnd(ActiveIds.OPENPROD, 3, EgtMsg(63004), 70, 100) ' Loading production data
|
||||
Map.refProjectVM.SupervisorMachGroupPanelVM = New SupervisorMachGroupPanelVM(MachGroupPanelM.CreateNewMachGroupPanel())
|
||||
|
||||
@@ -16,6 +16,8 @@ Public Module CurrentMachine
|
||||
MDI = 1
|
||||
PLC = 2
|
||||
CNC = 3
|
||||
INPUT = 4
|
||||
OUTPUT = 5
|
||||
End Enum
|
||||
|
||||
' Nome macchina corrente
|
||||
@@ -305,6 +307,10 @@ Public Module CurrentMachine
|
||||
sPar = PLC_MSG
|
||||
Case MsgParagraphs.CNC
|
||||
sPar = CNC_MSG
|
||||
Case MsgParagraphs.INPUT
|
||||
sPar = INPUT_MSG
|
||||
Case MsgParagraphs.OUTPUT
|
||||
sPar = OUTPUT_MSG
|
||||
End Select
|
||||
EgtGetStringUtf8FromIni(sPar, nId, nId, sMsg, m_sMachMessagesFile)
|
||||
Return sMsg
|
||||
|
||||
@@ -11,6 +11,13 @@ Module DbControllers
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bNetwork As Boolean = False
|
||||
Friend ReadOnly Property bNetwork As Boolean
|
||||
Get
|
||||
Return m_bNetwork
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public m_ProjController As DataLayer.Controllers.ProjController
|
||||
Public m_ProdController As DataLayer.Controllers.ProdController
|
||||
Public m_MachGroupController As DataLayer.Controllers.MachGroupController
|
||||
@@ -35,7 +42,6 @@ Module DbControllers
|
||||
Dim DbMasterKey As Integer = 0
|
||||
Dim sDbMasterKey As String = ""
|
||||
Dim sSharedFolder As String = ""
|
||||
Dim bNetwork As Boolean = False
|
||||
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
|
||||
GetMainPrivateProfileString(S_GENERAL, K_DBADDRESS, "", DbAddress)
|
||||
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
|
||||
@@ -46,13 +52,25 @@ Module DbControllers
|
||||
DbAddress = "127.0.0.1"
|
||||
DbMasterKey = 0
|
||||
Else
|
||||
bNetwork = True
|
||||
m_bNetwork = True
|
||||
End If
|
||||
End If
|
||||
If Not m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
|
||||
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
|
||||
If DbMasterKey > 0 Then
|
||||
sDbMasterKey = DbMasterKey.ToString("000000")
|
||||
End If
|
||||
ElseIf GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0) = 0 Then
|
||||
Dim nKey As Integer = 0
|
||||
If Integer.TryParse(sKey.Substring(3, 6), nKey) AndAlso nKey > 0 Then
|
||||
WriteMainPrivateProfileString(S_GENERAL, K_DBMASTERKEY, nKey)
|
||||
End If
|
||||
End If
|
||||
DataLayer.DbConfig.InitDb(DbAddress, sUser, sPwd, sDbMasterKey)
|
||||
DataLayer.DbConfig.SetupLogDir(Map.refMainWindowVM.MainWindowM.sTempDir)
|
||||
DataLayer.DbConfig.CheckMigrateDb()
|
||||
DataLayer.DbConfig.CheckUser(sUser, sPwd, Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK))
|
||||
DataLayer.DbConfig.CheckViews(sUser, sPwd)
|
||||
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) And bNetwork Then
|
||||
' imposto cartella condivisa
|
||||
GetMainPrivateProfileString(S_GENERAL, K_SHAREDFOLDER, Map.refMainWindowVM.MainWindowM.sDataRoot, sSharedFolder)
|
||||
@@ -60,6 +78,12 @@ Module DbControllers
|
||||
Dim sSupervisorMachName As String = ""
|
||||
GetMainPrivateProfileString(S_MACH, K_SUPERVISORMACH, "", sSupervisorMachName)
|
||||
If Not String.IsNullOrWhiteSpace(sSupervisorMachName) Then m_SupervisorId = sSupervisorMachName
|
||||
ElseIf Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
|
||||
' imposto cartella chiave master
|
||||
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sDbMasterKey)
|
||||
Else
|
||||
' imposto cartella chiave locale
|
||||
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sKey.Substring(3, 6))
|
||||
End If
|
||||
Catch ex As Exception
|
||||
EgtOutLog("InitDb error: " & ex.ToString())
|
||||
@@ -67,12 +91,6 @@ Module DbControllers
|
||||
End
|
||||
End Try
|
||||
|
||||
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
|
||||
Dim sSupervisorMachName As String = ""
|
||||
GetMainPrivateProfileString(S_MACH, K_SUPERVISORMACH, "", sSupervisorMachName)
|
||||
If Not String.IsNullOrWhiteSpace(sSupervisorMachName) Then m_SupervisorId = sSupervisorMachName
|
||||
End If
|
||||
|
||||
m_ProjController = New DataLayer.Controllers.ProjController
|
||||
m_ProdController = New DataLayer.Controllers.ProdController
|
||||
m_MachGroupController = New DataLayer.Controllers.MachGroupController
|
||||
|
||||
@@ -4,13 +4,7 @@ Imports EgtBEAMWALL.Core
|
||||
Public Class LogEvent
|
||||
Inherits VMBase
|
||||
|
||||
Public ReadOnly Property MachGroupId_Msg As String
|
||||
Get
|
||||
Return "MachGroup"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Const cSeparator As Char = ";"c
|
||||
Public Const cSeparator As Char = ";"c
|
||||
|
||||
Public Enum MachLogTypes
|
||||
PART_STATUS = 1
|
||||
@@ -25,6 +19,12 @@ Public Class LogEvent
|
||||
PROGRAM_SEND = 10
|
||||
End Enum
|
||||
|
||||
Public Enum MachineCommands As Integer
|
||||
CONNECTION = 1
|
||||
DISCONNECTION = 2
|
||||
PROGRAM_ACTIVATION = 3
|
||||
End Enum
|
||||
|
||||
Private m_EventDateTime As DateTime
|
||||
Public ReadOnly Property EventDateTime As DateTime
|
||||
Get
|
||||
@@ -68,6 +68,11 @@ Public Class LogEvent
|
||||
End Get
|
||||
End Property
|
||||
Private m_Status As Integer
|
||||
Public ReadOnly Property nStatus As Integer
|
||||
Get
|
||||
Return m_Status
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property Status As String
|
||||
Get
|
||||
Select Case m_Status
|
||||
@@ -119,6 +124,11 @@ Public Class LogEvent
|
||||
Return m_Value
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property sEventTick As Double
|
||||
Get
|
||||
Return m_EventDateTime.Ticks
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property sPROD As String
|
||||
Get
|
||||
@@ -144,6 +154,8 @@ Public Class LogEvent
|
||||
m_ProdId = sValues(0)
|
||||
m_MachGroupId = DbControllers.m_MachGroupController.FindByMachGroupId(m_ProdId, sValues(1)).Name
|
||||
m_Status = sValues(2)
|
||||
Case MachLogTypes.MACHINE_COMMAND
|
||||
|
||||
End Select
|
||||
End If
|
||||
End Sub
|
||||
@@ -168,4 +180,24 @@ Public Class LogEvent
|
||||
Return CreateMachLog(MachLogTypes.MACHGROUP_STATUS, dtEvent, Prod & cSeparator & MachGroup & cSeparator & State, SupervisorID)
|
||||
End Function
|
||||
|
||||
Public Shared Function CreateMachCommandLog(Command As MachineCommands, sProgramId As String, nError As Integer, SupervisorID As String)
|
||||
Return CreateMachLog(MachLogTypes.MACHINE_COMMAND, DateTime.Now(), Command & cSeparator & sProgramId & cSeparator & nError, SupervisorID)
|
||||
End Function
|
||||
|
||||
Public Shared Function CreateAlarmLog(dtEvent As DateTime, Alarm As String, SupervisorID As String)
|
||||
Return CreateMachLog(MachLogTypes.ALARM, dtEvent, Alarm, SupervisorID)
|
||||
End Function
|
||||
|
||||
Public Shared Function CreateMachineModeLog(MachineMode As Integer, SupervisorID As String)
|
||||
Return CreateMachLog(MachLogTypes.MACHINE_MODE, DateTime.Now(), MachineMode, SupervisorID)
|
||||
End Function
|
||||
|
||||
Public Shared Function CreateMachineStateLog(MachineStatus As Integer, SupervisorID As String)
|
||||
Return CreateMachLog(MachLogTypes.MACHINE_STATUS, DateTime.Now(), MachineStatus, SupervisorID)
|
||||
End Function
|
||||
|
||||
Public Shared Function CreateReadVarLog(VarAddress As String, VarValue As String, SupervisorID As String)
|
||||
Return CreateMachLog(MachLogTypes.READ_VAR, DateTime.Now(), VarAddress & cSeparator & VarValue, SupervisorID)
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<DataGrid ItemsSource="{Binding VariablesList}"
|
||||
AutoGenerateColumns="False">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="Name" Binding="{Binding sName}" Width="1*"/>
|
||||
<DataGridTextColumn Header="Name" Binding="{Binding sDescription}" Width="1*"/>
|
||||
<DataGridTextColumn Header="Address" Binding="{Binding sAddress}" Width="1*"/>
|
||||
<DataGridTextColumn Header="Value" Binding="{Binding sValue}" Width="1*"/>
|
||||
</DataGrid.Columns>
|
||||
|
||||
@@ -44,6 +44,12 @@ Public Class Variable
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property sDescription As String
|
||||
Get
|
||||
Return CommVar.sDescription
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Property sAddress As String
|
||||
Get
|
||||
Return CommVar.sAddress
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.0.29.0" newVersion="8.0.29.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.0.21.0" newVersion="8.0.21.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
@@ -46,7 +46,7 @@
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="MySql.Data.MySqlClient" />
|
||||
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.29.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
|
||||
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.21.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup></configuration>
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC Manifest Options
|
||||
If you want to change the Windows User Account Control level replace the
|
||||
requestedExecutionLevel node with one of the following.
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
Specifying requestedExecutionLevel element will disable file and registry virtualization.
|
||||
Remove this element if your application requires this virtualization for backwards
|
||||
compatibility.
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- A list of the Windows versions that this application has been tested on
|
||||
and is designed to work with. Uncomment the appropriate elements
|
||||
and Windows will automatically select the most compatible environment. -->
|
||||
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
|
||||
<!-- Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
|
||||
|
||||
<!-- Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
|
||||
|
||||
<!-- Windows 10 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
|
||||
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
|
||||
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
|
||||
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
|
||||
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config.
|
||||
|
||||
Makes the application long-path aware. See https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
|
||||
<!--
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
-->
|
||||
|
||||
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
|
||||
<!--
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
</assembly>
|
||||
@@ -43,7 +43,7 @@
|
||||
<TextBox Name="InfoLbl" Grid.Column="1" Grid.Row="6" HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch" FontSize="12" IsReadOnly="True" TextWrapping="Wrap"/>
|
||||
<Button Name="ExitBtn" Grid.Column="1" Grid.Row="8" IsCancel="True"
|
||||
Margin="100,0"/>
|
||||
Margin="100,0"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
Imports EgtUILib
|
||||
Imports EgtBEAMWALL.Core
|
||||
|
||||
Public Class AboutBoxV
|
||||
|
||||
Private Sub AboutBoxWD_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
||||
Me.Owner = Application.Current.MainWindow
|
||||
Private Sub AboutBoxWD_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||
DescriptionLbl.Text = My.Application.Info.Description.ToString()
|
||||
VersionLbl.Text = "Version : " & My.Application.Info.Version.Major.ToString() &
|
||||
"." & My.Application.Info.Version.Minor.ToString() &
|
||||
@@ -24,6 +24,9 @@ Public Class AboutBoxV
|
||||
sInfo &= sKey & " - " & sKlev & " - " & sOpts & sLeftDays & Environment.NewLine
|
||||
sInfo &= "DataRoot " & Map.refMainWindowVM.MainWindowM.sDataRoot & Environment.NewLine
|
||||
sInfo &= "MachinesRoot " & Map.refMainWindowVM.MainWindowM.sMachinesRoot & Environment.NewLine
|
||||
Dim sOpSys As String = String.Empty
|
||||
EgtGetOsInfo( sOpSys)
|
||||
sInfo &= sOpSys & Environment.NewLine
|
||||
Dim sCPU As String = String.Empty
|
||||
EgtGetCpuInfo( sCPU)
|
||||
sInfo &= sCPU & Environment.NewLine
|
||||
|
||||
@@ -132,7 +132,7 @@ Public Class AddSectionXMaterialWndVM
|
||||
' carico le colonne della datagrid
|
||||
LoadColumns(Map.refProjectVM.BTLStructureVM.nPROJTYPE)
|
||||
NewSectionXMaterialList = New ObservableCollection(Of SectionXMaterialToBeAdded)(SectXMatList)
|
||||
WhSectXMatList = Map.refWarehouseWndVM.GetSectionXMaterialsFromWarehouse()
|
||||
WhSectXMatList = WarehouseWndVM.GetSectionXMaterialsFromWarehouse()
|
||||
' Prendo i SectionXMaterial appena messi nella Lista di questa finestra e li confronto con ciascuno di quelli presenti in Warehouse.
|
||||
' Se le sezioni sono uguali carico i materiali relativi alla medesima sezione.
|
||||
' Se i materiali di quella medesima sezione non ci sono disabilito la CheckBox Alias.
|
||||
|
||||
@@ -7,10 +7,9 @@
|
||||
<entityFramework>
|
||||
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
|
||||
<providers>
|
||||
|
||||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.21.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
|
||||
</provider></providers>
|
||||
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.21.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
|
||||
</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" />
|
||||
@@ -19,7 +18,7 @@
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.0.29.0" newVersion="8.0.29.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.0.21.0" newVersion="8.0.21.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
@@ -42,7 +41,7 @@
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="MySql.Data.MySqlClient" />
|
||||
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.29.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
|
||||
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.21.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup></configuration>
|
||||
|
||||
@@ -40,7 +40,6 @@ Public Class BTLFeatureVM
|
||||
' rendo non calcolata questa feature
|
||||
ResetCalcFeature()
|
||||
End If
|
||||
NotifyPropertyChanged("nSelGRP")
|
||||
NotifyPropertyChanged(NameOf(nSelGRP))
|
||||
EgtDraw()
|
||||
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
|
||||
@@ -214,7 +213,7 @@ Public Class BTLFeatureVM
|
||||
m_SelQParam = value
|
||||
If Not IsNothing(m_SelQParam) Then
|
||||
' imposto path disegno da mostrare in BottomPanel
|
||||
Map.refBottomPanelVM.SetCurrDraw(sDrawPath)
|
||||
Map.refBottomPanelVM.SetCurrDraw(m_SelQParam.sDrawPath)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(SelQBTLParam))
|
||||
End Set
|
||||
@@ -222,7 +221,7 @@ Public Class BTLFeatureVM
|
||||
|
||||
Public ReadOnly Property Edit_Visibility As Visibility
|
||||
Get
|
||||
Return If(Map.refMainWindowVM.MainWindowM.nUserLevel > 5 AndAlso BTLFeatureM.IsFreeContour AndAlso Not Map.refFreeContourManagerVM.bIsActive, Visibility.Visible, Visibility.Collapsed)
|
||||
Return If(BTLFeatureM.IsFreeContour AndAlso Not Map.refFreeContourManagerVM.bIsActive, Visibility.Visible, Visibility.Collapsed)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property SaveCancel_Visibility As Visibility
|
||||
|
||||
@@ -1629,9 +1629,9 @@ Public Class BTLPartVM
|
||||
AddHandler m_BTLFeatureVMList.CollectionChanged, AddressOf OnBTLFeatureVMListChanged
|
||||
End Sub
|
||||
|
||||
Public Sub Rotation(IsPositive As Boolean, SelectedMachineType As MachineType, Optional dAng As Double = 90, Optional bVerifyDuplo As Boolean = True)
|
||||
Public Sub Rotation(IsPositive As Boolean, SelectedMachineType As MachineType, Optional bRedraw As Boolean = True, Optional dAng As Double = 90, Optional bVerifyDuplo As Boolean = True)
|
||||
Dim OldSection As SectionXMaterial = Section
|
||||
If m_BTLPartM.Rotation(IsPositive, SelectedMachineType, dAng) Then
|
||||
If m_BTLPartM.Rotation(IsPositive, SelectedMachineType, bRedraw, dAng) Then
|
||||
' aggiorno visualizzazione dimensioni
|
||||
NotifyPropertyChanged(NameOf(sW))
|
||||
NotifyPropertyChanged(NameOf(sH))
|
||||
@@ -1985,11 +1985,11 @@ Public Class BTLPartVM
|
||||
BackRotation(True)
|
||||
End Sub
|
||||
|
||||
Public Sub BackRotation(Optional bUpdateSection As Boolean = False)
|
||||
Public Sub BackRotation(Optional bUpdateSection As Boolean = False, Optional bRedraw As Boolean = True)
|
||||
' salvo sezione impostata
|
||||
Dim CurrSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SelSection
|
||||
' ruoto
|
||||
Rotation(False, Map.refProjectVM.BTLStructureVM.nPROJTYPE)
|
||||
Rotation(False, Map.refProjectVM.BTLStructureVM.nPROJTYPE, bRedraw)
|
||||
' imposto lock
|
||||
bLockRotation = True
|
||||
' se progetto travi e sezione precedente diversa da vuota (tutti i pezzi)
|
||||
@@ -2017,10 +2017,10 @@ Public Class BTLPartVM
|
||||
ForwardRotation(True)
|
||||
End Sub
|
||||
|
||||
Public Sub ForwardRotation(Optional bUpdateSection As Boolean = False)
|
||||
Public Sub ForwardRotation(Optional bUpdateSection As Boolean = False, Optional bRedraw As Boolean = True)
|
||||
' salvo sezione impostata
|
||||
Dim CurrSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SelSection
|
||||
Rotation(True, Map.refProjectVM.BTLStructureVM.nPROJTYPE)
|
||||
Rotation(True, Map.refProjectVM.BTLStructureVM.nPROJTYPE, bRedraw)
|
||||
' imposto lock
|
||||
bLockRotation = True
|
||||
' se progetto travi e sezione precedente diversa da vuota (tutti i pezzi)
|
||||
@@ -2160,6 +2160,9 @@ Public Class BTLPartVM
|
||||
Select Case e.PropertyName
|
||||
Case NameOf(sender.nSelGRP), NameOf(sender.nSelSIDE)
|
||||
CalcGlobalUpdate(True)
|
||||
' imposto path disegno da mostrare in BottomPanel
|
||||
Dim SelPBTLParam As BTLParamVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.SelPBTLParam
|
||||
If Not IsNothing(SelPBTLParam) Then Map.refBottomPanelVM.SetCurrDraw(SelPBTLParam.sDrawPath)
|
||||
Case NameOf(sender.bDO)
|
||||
NotifyPropertyChanged(NameOf(bDOALL))
|
||||
' setto pezzo da ricalcolare
|
||||
|
||||
@@ -400,7 +400,7 @@ Public Class ConfigurationPageVM
|
||||
Dim FilePath As String = CurrentMachine.sMachDir & "\" & If(CurrentMachine.nType = MachineType.BEAM, BEAM_DIR, WALL_DIR) & "\" & TS3DATA_FILE
|
||||
Dim sBakFilePath As String = Path.ChangeExtension(FilePath, ".bak")
|
||||
If File.Exists(sBakFilePath) Then File.Delete(sBakFilePath)
|
||||
File.Move(FilePath, sBakFilePath)
|
||||
If File.Exists(FilePath) Then File.Move(FilePath, sBakFilePath)
|
||||
File.WriteAllLines(FilePath, NewTs3DataFileContent, Text.Encoding.UTF8)
|
||||
' se macchina di tipo BOTH copio il file appena scritto nella cartella Wall nella cartella Beam
|
||||
If CurrentMachine.nType = MachineType.BOTH Then
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
Module ConstMsg
|
||||
|
||||
Public Const MSG_SETUPERRORS As Integer = 5000 + 1470
|
||||
|
||||
Public Const MSG_MISSINGKEYWD As Integer = 10100
|
||||
Public Const MSG_NUMERICKEYBOARDWD As Integer = 10200
|
||||
Public Const MSG_MESSAGEBOX As Integer = 15000
|
||||
Public Const MSG_EGTSAVEFILEDIALOG As Integer = 30000
|
||||
|
||||
Public Const MSG_OMAGCUT As Integer = 90000
|
||||
Public Const MSG_GENERAL As Integer = MSG_OMAGCUT
|
||||
Public Const MSG_WORKINPROGRESSPAGEUC As Integer = MSG_OMAGCUT + 100
|
||||
Public Const MSG_DIRECTCUTPAGEUC As Integer = MSG_OMAGCUT + 200
|
||||
Public Const MSG_MANUALAXESMOVEPAGEUC As Integer = MSG_OMAGCUT + 220
|
||||
Public Const MSG_CADCUTPAGEUC As Integer = MSG_OMAGCUT + 300
|
||||
Public Const MSG_NESTPAGEUC As Integer = MSG_OMAGCUT + 330
|
||||
Public Const MSG_SPLITPAGEUC As Integer = MSG_OMAGCUT + 340
|
||||
Public Const MSG_MOVERAWPAGEUC As Integer = MSG_OMAGCUT + 360
|
||||
Public Const MSG_DRAWPAGEUC As Integer = MSG_OMAGCUT + 380
|
||||
Public Const MSG_COMPONENTPAGEUC As Integer = MSG_OMAGCUT + 400
|
||||
Public Const MSG_IMPORTPAGEUC As Integer = MSG_OMAGCUT + 450
|
||||
Public Const MSG_OPENPAGEUC As Integer = MSG_OMAGCUT + 490
|
||||
Public Const MSG_RAWPARTPAGEUC As Integer = MSG_OMAGCUT + 500
|
||||
Public Const MSG_CHOOSEMACHININGPAGEUC As Integer = MSG_OMAGCUT + 535
|
||||
Public Const MSG_SIMULATIONPAGEUC As Integer = MSG_OMAGCUT + 550
|
||||
Public Const MSG_FRAMECUTPAGEUC As Integer = MSG_OMAGCUT + 600
|
||||
Public Const MSG_MACHINEPAGEUC As Integer = MSG_OMAGCUT + 700
|
||||
Public Const MSG_TOOLSDBPAGEUC As Integer = MSG_OMAGCUT + 720
|
||||
Public Const MSG_MACHININGSDBPAGEUC As Integer = MSG_OMAGCUT + 760
|
||||
Public Const MSG_COMBOBOXPARAM As Integer = MSG_OMAGCUT + 800
|
||||
Public Const MSG_ALARMSPAGEUC As Integer = MSG_OMAGCUT + 900
|
||||
Public Const MSG_MACHINECNPAGEUC As Integer = MSG_OMAGCUT + 950
|
||||
Public Const MSG_OPTIONSPAGEUC As Integer = MSG_OMAGCUT + 980
|
||||
Public Const MSG_EGTMSGBOX As Integer = MSG_OMAGCUT + 1100
|
||||
Public Const MSG_CSVPAGEUC As Integer = MSG_OMAGCUT + 1200
|
||||
|
||||
Public Const MSG_OMAGOFFICE As Integer = 91400
|
||||
Public Const MSG_OPTIONPANEL As Integer = MSG_OMAGOFFICE
|
||||
Public Const MSG_MYMACHININGDBWINDOW As Integer = MSG_OMAGOFFICE + 50
|
||||
Public Const MSG_TOPCMDBAR As Integer = MSG_OMAGOFFICE + 100
|
||||
Public Const MSG_RAWPARTTAB As Integer = MSG_OMAGOFFICE + 150
|
||||
Public Const MSG_VEINMATCHING As Integer = MSG_OMAGOFFICE + 200
|
||||
Public Const MSG_GENERIC As Integer = MSG_OMAGOFFICE + 250
|
||||
|
||||
Public Const MSG_EGTWPFLIB5 As Integer = 30000
|
||||
Public Const MSG_TOPCOMMANDBAR As Integer = MSG_EGTWPFLIB5 + 500
|
||||
Public Const MSG_GRIDVIEWPANEL As Integer = MSG_EGTWPFLIB5 + 800
|
||||
Public Const MSG_TOOLDB As Integer = MSG_EGTWPFLIB5 + 1000
|
||||
Public Const MSG_TOOLDBERRORS As Integer = MSG_EGTWPFLIB5 + 1100
|
||||
Public Const MSG_MACHININGDB As Integer = MSG_EGTWPFLIB5 + 1200
|
||||
Public Const MSG_MACHININGDBERRORS As Integer = MSG_EGTWPFLIB5 + 1400
|
||||
Public Const MSG_SIMULATION As Integer = MSG_EGTWPFLIB5 + 1600
|
||||
|
||||
End Module
|
||||
@@ -102,6 +102,9 @@
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Resources\EgtBEAMWALL.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="BouncyCastle.Crypto, Version=1.8.5.0, Culture=neutral, PublicKeyToken=0e99375e54769942">
|
||||
<HintPath>..\packages\BouncyCastle.1.8.5\lib\BouncyCastle.Crypto.dll</HintPath>
|
||||
@@ -615,7 +618,6 @@
|
||||
<Compile Include="ItemParamList\RawPartListV.xaml.vb">
|
||||
<DependentUpon>RawPartListV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Constants\ConstMsg.vb" />
|
||||
<Compile Include="FeatureManager\FeatureManagerV.xaml.vb">
|
||||
<DependentUpon>FeatureManagerV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -732,6 +734,7 @@
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
</EmbeddedResource>
|
||||
<None Include="App.config" />
|
||||
<None Include="app.manifest" />
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
|
||||
@@ -18,8 +18,12 @@ Public Class FeatureManagerVM
|
||||
|
||||
Public ReadOnly Property Edit_IsEnabled As Boolean
|
||||
Get
|
||||
Return m_FeatureManager_IsEnabled AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refProjectVM.BTLStructureVM.SelBTLParts.Count > 0 AndAlso
|
||||
Map.refProjectVM.BTLStructureVM.SelBTLParts(0).SelBTLFeatureVM.BTLFeatureM.IsFreeContour() AndAlso Map.refProjectVM.BTLStructureVM.SelBTLParts(0).SelBTLFeatureVM.bDO
|
||||
Return m_FeatureManager_IsEnabled AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso
|
||||
Map.refProjectVM.BTLStructureVM.SelBTLParts.Count > 0 AndAlso
|
||||
Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLParts(0)) AndAlso
|
||||
Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLParts(0).SelBTLFeatureVM) AndAlso
|
||||
Map.refProjectVM.BTLStructureVM.SelBTLParts(0).SelBTLFeatureVM.BTLFeatureM.IsFreeContour() AndAlso
|
||||
Map.refProjectVM.BTLStructureVM.SelBTLParts(0).SelBTLFeatureVM.bDO
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<TextBox Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}"
|
||||
Width="200"
|
||||
Visibility="{Binding Text_Visibility}" Margin="5,0,5,0">
|
||||
Visibility="{Binding Text_Visibility}" Margin="5,0,5,0"
|
||||
Style="{StaticResource FreeContour_TextBox}">
|
||||
<TextBox.InputBindings>
|
||||
<KeyBinding Key="Enter" Command="{Binding Done_Command, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<KeyBinding Key="S" Modifiers="Control" Command="{Binding Show_Command}"/>
|
||||
|
||||
@@ -271,12 +271,12 @@ Public Class FreeContourManagerVM
|
||||
Private m_cmdDelete As ICommand
|
||||
Private m_cmdModifyCurve As ICommand
|
||||
Private m_cmdAddPointCurve As ICommand
|
||||
Private m_cmdRemovePointCurve As ICommand
|
||||
Private m_cmdArcflip As ICommand
|
||||
Private m_cmdMove As ICommand
|
||||
Private m_cmdRotate As ICommand
|
||||
Private m_cmdMirror As ICommand
|
||||
Private m_cmdScale As ICommand
|
||||
Private m_cmdRemovePointCurve As ICommand
|
||||
Private m_cmdChangeStart As ICommand
|
||||
Private m_cmdInvertCurve As ICommand
|
||||
Private m_cmdTextAngle As ICommand
|
||||
@@ -596,6 +596,12 @@ Public Class FreeContourManagerVM
|
||||
Friend Sub UpdateUi()
|
||||
' se attiva operazione in piu' passaggi, esco
|
||||
If Map.refSceneHostVM.MainController.GetContinue() Then Return
|
||||
' se finita creazione curva (è stata chiusa)
|
||||
If Map.refFreeContourManagerVM.bIsCreatingPath Then
|
||||
Dim nNewPathLayerId As Integer = EgtGetFirstNameInGroup(nSelPartId, "NewPathLayer")
|
||||
Dim nNewPathId As Integer = EgtGetFirstInGroup(nNewPathLayerId)
|
||||
If EgtGetType(nNewPathId) = GDB_TY.CRV_COMPO Then Map.refFreeContourManagerVM.CreatingPathEnd()
|
||||
End If
|
||||
' se non ci sono piu' i percorsi, permetto di aggiungerli
|
||||
If EgtGetType(m_nNewPathId) = GDB_TY.NONE Then
|
||||
m_nNewPathId = GDB_ID.NULL
|
||||
@@ -925,6 +931,8 @@ Public Class FreeContourManagerVM
|
||||
Return sLayerName = PATH_SIDEANGLAYER
|
||||
ElseIf Map.refFreeContourManagerVM.bIsOpeningCurveCompo Then
|
||||
Return nId = m_nNewPathId
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
@@ -974,13 +982,21 @@ Public Class FreeContourManagerVM
|
||||
''' Execute the Line2P. This method is invoked by the Line2PCommand.
|
||||
''' </summary>
|
||||
Public Sub Line2P(ByVal param As Object)
|
||||
Dim nNewPathLayerId As Integer = EgtCreateGroup(nSelPartId)
|
||||
' cancello eventuale gruppo precedente
|
||||
Dim nNewPathLayerId As Integer = EgtGetFirstNameInGroup(nSelPartId, "NewPathLayer")
|
||||
If nNewPathLayerId <> GDB_ID.NULL Then
|
||||
EgtEmptyGroup(nNewPathLayerId)
|
||||
Else
|
||||
nNewPathLayerId = EgtCreateGroup(nSelPartId)
|
||||
End If
|
||||
EgtSetName(nNewPathLayerId, "NewPathLayer")
|
||||
EgtSetCurrPartLayer(nSelPartId, nNewPathLayerId)
|
||||
InitCommand(True)
|
||||
InitCommand(False)
|
||||
Map.refSceneHostVM.MainController.SetContinue()
|
||||
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.LINE2P) Then
|
||||
m_bIsCreatingPath = True
|
||||
Else
|
||||
EgtErase(nNewPathLayerId)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -270,15 +270,42 @@ Public Class LeftPanelVM
|
||||
Public Sub NewRawPart()
|
||||
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
||||
Dim SelPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.SelBTLPart
|
||||
If IsNothing(SelPart) Then Return
|
||||
Dim SelParts As List(Of BTLPartVM) = Map.refProjectVM.BTLStructureVM.SelBTLParts.ToList()
|
||||
If IsNothing(SelParts) OrElse SelParts.Count <= 0 Then Return
|
||||
' verifico che abbiano tutti la stessa sezione
|
||||
Dim dHSection As Double = SelParts(0).dH
|
||||
Dim dWSection As Double = SelParts(0).dW
|
||||
For PartIndex = 0 To SelParts.Count - 1
|
||||
Dim Part As BTLPartVM = SelParts(PartIndex)
|
||||
If Not IsNothing(Part) Then
|
||||
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
|
||||
If Part.dH <> dHSection OrElse Part.dW <> dWSection Then
|
||||
MessageBox.Show(EgtMsg(61970), EgtMsg(30007))
|
||||
Return
|
||||
End If
|
||||
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL Then
|
||||
If Part.dH <> dHSection Then
|
||||
MessageBox.Show(EgtMsg(61970), EgtMsg(30007))
|
||||
Return
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
SelParts.Remove(Part)
|
||||
End If
|
||||
Next
|
||||
' se pareti e piu' di uno selezionato, esco
|
||||
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL And SelParts.Count > 1 Then
|
||||
MessageBox.Show(EgtMsg(61971), EgtMsg(30007))
|
||||
Return
|
||||
End If
|
||||
' se nessun grezzo, rendo tutti i pezzi visibili
|
||||
If Map.refProjectVM.MachGroupPanelVM.MachGroupVMList.Count = 0 Then
|
||||
Map.refProjectVM.BTLStructureVM.ShowAll(False)
|
||||
End If
|
||||
' verifico se sono gia' stati messi tutti i pezzi richiesti
|
||||
If Not VerifyPartCount(SelPart) Then Return
|
||||
Dim dRawL As Double = SelPart.dL
|
||||
Dim dRawW As Double = SelPart.dW
|
||||
If Not VerifyPartCount(SelParts) Then Return
|
||||
Dim dRawL As Double = SelParts(0).dL
|
||||
Dim dRawW As Double = SelParts(0).dW
|
||||
Dim dStartOffset As Double = 0
|
||||
Dim dKerf As Double = 0
|
||||
Dim dOffset As Double = WarehouseHelper.GetOffset(Map.refProjectVM.BTLStructureVM.nPROJTYPE)
|
||||
@@ -313,7 +340,7 @@ Public Class LeftPanelVM
|
||||
WarehouseHelper.GetCurrentDimensions(Map.refProjectVM.BTLStructureVM.nPROJTYPE, dRawW, dRawL)
|
||||
Case WarehouseType.MEDIUM
|
||||
Dim SectionList As List(Of SParam) = WarehouseHelper.GetSectionList()
|
||||
Dim SParamlist As List(Of SParam) = SectionList.FindAll(Function(x) x.SectXMat = SelPart.Section)
|
||||
Dim SParamlist As List(Of SParam) = SectionList.FindAll(Function(x) x.SectXMat = SelParts(0).Section)
|
||||
If SParamlist.Count = 0 Then
|
||||
' apro finestra con solo edit
|
||||
If AddRawPartWnd(AddRawPartWndVM.EditTypes.ONLY_TEXT, SParamlist, dRawW, dRawL, dStartOffset, dOffset, dKerf) Then
|
||||
@@ -366,17 +393,37 @@ Public Class LeftPanelVM
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
|
||||
' verifico se lunghezza barra e' maggiore della lunghezza dei pezzi
|
||||
Dim dTotLen As Double = WarehouseHelper.GetStartOffset()
|
||||
For PartIndex = 0 To SelParts.Count - 1
|
||||
If PartIndex <> 0 Then
|
||||
dTotLen += WarehouseHelper.GetOffset(BWType.BEAM)
|
||||
End If
|
||||
dTotLen += SelParts(PartIndex).dL
|
||||
Next
|
||||
If dTotLen > dRawL Then
|
||||
MessageBox.Show(EgtMsg(61972), EgtMsg(30007))
|
||||
Return
|
||||
End If
|
||||
End If
|
||||
' creo nuovo gruppo di lavorazione
|
||||
Map.refMachGroupPanelVM.AddMachGroup()
|
||||
Dim nCurrMachGroup As Integer = EgtGetCurrMachGroup()
|
||||
Dim sCurrMachGroupName As String = ""
|
||||
EgtGetMachGroupName(nCurrMachGroup, sCurrMachGroupName)
|
||||
' creo copia del pezzo
|
||||
Dim nPartDuploId As Integer = EgtDuploNew(SelPart.nPartId)
|
||||
' elimino valori calcolo dell'originale
|
||||
MyMachGroupPanelVM.DuploRemoveProjCalc(nPartDuploId)
|
||||
' lo rendo std
|
||||
EgtSetMode(nPartDuploId, GDB_MD.STD)
|
||||
' ordino i pezzi per lunghezza
|
||||
SelParts = SelParts.OrderBy(Function(x) x.dL).ToList
|
||||
' creo copie dei pezzi
|
||||
Dim nPartDuploIdList As New List(Of Integer)
|
||||
For Each Part In SelParts
|
||||
Dim nDuploId As Integer = EgtDuploNew(Part.nPartId)
|
||||
' elimino valori calcolo dell'originale
|
||||
MyMachGroupPanelVM.DuploRemoveProjCalc(nDuploId)
|
||||
' lo rendo std
|
||||
EgtSetMode(nDuploId, GDB_MD.STD)
|
||||
nPartDuploIdList.Add(nDuploId)
|
||||
Next
|
||||
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
|
||||
' scrivo dati per variabili P di comunicazione con la macchina in gruppo di lavorazione
|
||||
EgtSetInfo(nCurrMachGroup, MGR_RPT_PRODID, Map.refProdManagerVM.CurrProd.nProdId)
|
||||
@@ -385,13 +432,26 @@ Public Class LeftPanelVM
|
||||
' scrivo dati costruzione grezzo in gruppo di lavorazione
|
||||
EgtSetInfo(nCurrMachGroup, MGR_RPT_BARLEN, dRawL)
|
||||
EgtSetInfo(nCurrMachGroup, MGR_RPT_MATERIAL, SelPart.sMATERIAL)
|
||||
EgtSetInfo(nCurrMachGroup, MGR_RPT_PART & 1, nPartDuploId & "," & DoubleToString(dStartOffset, 3))
|
||||
' scrivo dati di tutti i pezzi
|
||||
Dim dPosX As Double = WarehouseHelper.GetStartOffset()
|
||||
' ciclo sui pezzi
|
||||
For nIndex = 0 To nPartDuploIdList.Count - 1
|
||||
' se non è primo, aggiungo offset tra barre standard
|
||||
If nIndex <> 0 Then
|
||||
dPosX += WarehouseHelper.GetOffset(BWType.BEAM)
|
||||
End If
|
||||
EgtSetInfo(nCurrMachGroup, MGR_RPT_PART & nIndex + 1, nPartDuploIdList(nIndex) & "," & DoubleToString(dPosX, 3))
|
||||
' incremento posizione della sua lunghezza
|
||||
dPosX += SelParts(nIndex).dL
|
||||
Next
|
||||
Dim BeamMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.GetLastMachGroup()
|
||||
' eseguo script creazione grezzo
|
||||
Dim nERR As Integer = 0
|
||||
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
|
||||
' elimino duplo e gruppo di lavorazione
|
||||
EgtErase(nPartDuploId)
|
||||
For Each nDuploId In nPartDuploIdList
|
||||
EgtErase(nDuploId)
|
||||
Next
|
||||
BeamMachGroup.DeleteMachGroup()
|
||||
If File.Exists(sLogPath) Then
|
||||
Dim LogFile As String() = File.ReadAllLines(sLogPath)
|
||||
@@ -399,7 +459,7 @@ Public Class LeftPanelVM
|
||||
MessageBox.Show(LogFile(1), EgtMsg(30007), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
Else
|
||||
MessageBox.Show("Impossible creating rawpart", EgtMsg(30007), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
MessageBox.Show(EgtMsg(61973), EgtMsg(30007), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
' se nessun grezzo, rimetto tutti i pezzi invisibili
|
||||
If Map.refProjectVM.MachGroupPanelVM.MachGroupVMList.Count = 0 Then
|
||||
@@ -407,10 +467,14 @@ Public Class LeftPanelVM
|
||||
End If
|
||||
Return
|
||||
End If
|
||||
EgtSetInfo(nPartDuploId, MGR_PRT_ROT, SelPart.nROTATED)
|
||||
EgtSetInfo(nPartDuploId, MGR_PRT_FLIP, SelPart.nINVERTED)
|
||||
For nDuploIndex = 0 To SelParts.Count - 1
|
||||
EgtSetInfo(nPartDuploIdList(nDuploIndex), MGR_PRT_ROT, SelParts(nDuploIndex).nROTATED)
|
||||
EgtSetInfo(nPartDuploIdList(nDuploIndex), MGR_PRT_FLIP, SelParts(nDuploIndex).nINVERTED)
|
||||
Next
|
||||
' aggiorno contatore pezzi usati in Prod
|
||||
SelPart.RefreshPartInProd()
|
||||
For Each SelPart In SelParts
|
||||
SelPart.RefreshPartInProd()
|
||||
Next
|
||||
'aggiorno lista pezzi
|
||||
BeamMachGroup.MyMachGroupM.RefreshPartList()
|
||||
BeamMachGroup.MyMachGroupM.RefreshGroupData()
|
||||
@@ -418,6 +482,7 @@ Public Class LeftPanelVM
|
||||
BeamMachGroup.UpdateUsage()
|
||||
Core.ViewPanelVM.BWSetView(VT.ISO_SW, False)
|
||||
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
|
||||
Dim nPartDuploId As Integer = EgtDuploNew(SelPart.nPartId)
|
||||
' scrivo dati in gruppo di lavorazione
|
||||
Dim dPosX As Double = dKerf
|
||||
Dim dPosY As Double = dKerf
|
||||
@@ -438,7 +503,7 @@ Public Class LeftPanelVM
|
||||
MessageBox.Show(LogFile(1), EgtMsg(30007), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
Else
|
||||
MessageBox.Show("Impossible creating rawpart", EgtMsg(30007), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
MessageBox.Show(EgtMsg(61973), EgtMsg(30007), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
' se nessun grezzo, rimetto tutti i pezzi invisibili
|
||||
If Map.refProjectVM.MachGroupPanelVM.MachGroupVMList.Count = 0 Then
|
||||
@@ -484,13 +549,26 @@ Public Class LeftPanelVM
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Function VerifyPartCount(SelPart As BTLPartVM) As Boolean
|
||||
Private Function VerifyPartCount(SelParts As List(Of BTLPartVM)) As Boolean
|
||||
' verifico se ci sono pezzi da aggiungere
|
||||
If Not SelPart.CanAddPartToCount Then
|
||||
' se non ci sono, chiedo se aggiungerne uno nuovo
|
||||
If MessageBox.Show(EgtMsg(61863) &
|
||||
SelPart.nCNT & EgtMsg(61864) & SelPart.nADDED & EgtMsg(61865), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
SelPart.AddNewPartToAdded()
|
||||
Dim ToAddList As New List(Of String)
|
||||
Dim ToAddVM As New List(Of BTLPartVM)
|
||||
For Each SelPart In SelParts
|
||||
If Not SelPart.CanAddPartToCount Then
|
||||
ToAddList.Add(SelPart.nCNT & EgtMsg(61864) & SelPart.nADDED & EgtMsg(61865))
|
||||
ToAddVM.Add(SelPart)
|
||||
End If
|
||||
Next
|
||||
' se non ci sono, chiedo se aggiungerne uno nuovo
|
||||
If ToAddList.Count > 0 Then
|
||||
Dim sMessage As String = EgtMsg(61863) & Environment.NewLine
|
||||
For Each sPart In ToAddList
|
||||
sMessage &= " - " & sPart & Environment.NewLine
|
||||
Next
|
||||
If MessageBox.Show(sMessage & EgtMsg(61893), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
For Each PartVM In ToAddVM
|
||||
PartVM.AddNewPartToAdded()
|
||||
Next
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
@@ -520,13 +598,25 @@ Public Class LeftPanelVM
|
||||
Public Sub AddToRawPart()
|
||||
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
||||
Dim SelPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.SelBTLPart
|
||||
Dim SelParts As List(Of BTLPartVM) = Map.refProjectVM.BTLStructureVM.SelBTLParts.ToList()
|
||||
For Index = 0 To SelParts.Count() - 1
|
||||
If IsNothing(SelParts(Index)) Then
|
||||
SelParts.RemoveAt(Index)
|
||||
End If
|
||||
Next
|
||||
If IsNothing(SelPart) Then Return
|
||||
If IsNothing(SelParts) OrElse SelParts.Count <= 0 Then Return
|
||||
Dim SelMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
||||
If IsNothing(SelMachGroup) Then Return
|
||||
' se pareti e piu' di uno selezionato, esco
|
||||
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL And SelParts.Count > 1 Then
|
||||
MessageBox.Show(EgtMsg(61971), EgtMsg(30007))
|
||||
Return
|
||||
End If
|
||||
' se MachGroup gia' mandato in produzione, esco
|
||||
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
|
||||
' verifico se sono gia' stati messi tutti i pezzi richiesti
|
||||
If Not VerifyPartCount(SelPart) Then Return
|
||||
If Not VerifyPartCount(SelParts) Then Return
|
||||
' verifico se impostato gruppo di lavorazione
|
||||
Dim nCurrMachgroupId As Integer = EgtGetCurrMachGroup()
|
||||
' se nullo o diverso da quello selezionato in lista
|
||||
@@ -537,18 +627,22 @@ Public Class LeftPanelVM
|
||||
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
|
||||
Dim BeamMachGroup As MyMachGroupVM = SelMachGroup
|
||||
' verifico sezione e materiale
|
||||
If SelPart.Section <> BeamMachGroup.Section Then
|
||||
MessageBox.Show(EgtMsg(61866), EgtMsg(30007))
|
||||
Return
|
||||
End If
|
||||
For Each Part In SelParts
|
||||
If Part.Section <> BeamMachGroup.Section Then
|
||||
MessageBox.Show(EgtMsg(61866), EgtMsg(30007))
|
||||
Return
|
||||
End If
|
||||
Next
|
||||
' verifico lunghezza totale
|
||||
If Not VerifyTotLength(BeamMachGroup, SelPart) Then
|
||||
If Not VerifyTotLength(BeamMachGroup, SelParts) Then
|
||||
MessageBox.Show(EgtMsg(61867), EgtMsg(30007))
|
||||
Return
|
||||
End If
|
||||
If AddPartToBeam(BeamMachGroup, SelPart) Then
|
||||
If AddPartToBeam(BeamMachGroup, SelParts) Then
|
||||
' aggiorno contatore pezzi usati in Prod
|
||||
SelPart.RefreshPartInProd()
|
||||
For Each Part In SelParts
|
||||
Part.RefreshPartInProd()
|
||||
Next
|
||||
' resetto stato di calc
|
||||
SelMachGroup.ResetCalcMachGroup()
|
||||
End If
|
||||
@@ -575,74 +669,93 @@ Public Class LeftPanelVM
|
||||
EgtZoom(ZM.ALL)
|
||||
End Sub
|
||||
|
||||
Friend Function VerifyTotLength(BeamMachGroup As MyMachGroupVM, PartToAdd As BTLPartVM) As Boolean
|
||||
Friend Function VerifyTotLength(BeamMachGroup As MyMachGroupVM, PartsToAdd As List(Of BTLPartVM)) As Boolean
|
||||
Dim dNewPartPos As Double = 0
|
||||
If BeamMachGroup.PartVMList.Count > 0 Then
|
||||
Dim LastPart As PartVM = BeamMachGroup.PartVMList(BeamMachGroup.PartVMList.Count - 1)
|
||||
dNewPartPos += LastPart.dPOSX + LastPart.dL
|
||||
End If
|
||||
dNewPartPos += WarehouseHelper.GetOffset(BeamMachGroup.nType) + PartToAdd.dL
|
||||
For Each Part In PartsToAdd
|
||||
dNewPartPos += WarehouseHelper.GetOffset(BeamMachGroup.nType) + Part.dL
|
||||
Next
|
||||
Return dNewPartPos < BeamMachGroup.dL
|
||||
End Function
|
||||
|
||||
Friend Function AddPartToBeam(BeamMachGroup As MyMachGroupVM, PartToAdd As BTLPartVM) As Boolean
|
||||
' creo copia del pezzo
|
||||
Dim nPartDuploId As Integer = EgtDuploNew(PartToAdd.nPartId)
|
||||
' lo rendo std
|
||||
EgtSetMode(nPartDuploId, GDB_MD.STD)
|
||||
Friend Function AddPartToBeam(BeamMachGroup As MyMachGroupVM, PartsToAdd As List(Of BTLPartVM)) As Boolean
|
||||
' ordino i pezzi da aggiungere
|
||||
PartsToAdd = PartsToAdd.OrderBy(Function(x) x.dL).ToList()
|
||||
' creo copie dei pezzi
|
||||
Dim nPartDuploIdList As New List(Of Integer)
|
||||
For Each Part In PartsToAdd
|
||||
Dim nDuploId As Integer = EgtDuploNew(Part.nPartId)
|
||||
' elimino valori calcolo dell'originale
|
||||
MyMachGroupPanelVM.DuploRemoveProjCalc(nDuploId)
|
||||
' lo rendo std
|
||||
EgtSetMode(nDuploId, GDB_MD.STD)
|
||||
nPartDuploIdList.Add(nDuploId)
|
||||
Next
|
||||
' calcolo posizione nuovo pezzo per rispettare ordine lunghezze
|
||||
Dim nInsertIndex As Integer
|
||||
' scrivo dati di tutti i pezzi
|
||||
Dim dPosX As Double = BeamMachGroup.dStartCut
|
||||
Dim bPartAdded As Boolean = False
|
||||
Dim nPartIndex As Integer = 0
|
||||
Dim nIndex As Integer
|
||||
' ciclo sui pezzi
|
||||
For nIndex = 0 To BeamMachGroup.PartVMList.Count - 1
|
||||
' se non ancora aggiunto e lunghezza minore del pezzo corrente, lo aggiungo
|
||||
If Not bPartAdded AndAlso BeamMachGroup.PartVMList(nIndex).dL > PartToAdd.dL Then
|
||||
' se non è primo, aggiungo offset tra barre standard
|
||||
If nIndex <> 0 Then
|
||||
dPosX += WarehouseHelper.GetOffset(BeamMachGroup.nType)
|
||||
For PartsToAddIndex = nPartIndex To PartsToAdd.Count - 1
|
||||
Dim Part As BTLPartVM = PartsToAdd(PartsToAddIndex)
|
||||
' se non ancora aggiunto e lunghezza minore del pezzo corrente, lo aggiungo
|
||||
If nPartIndex < nPartDuploIdList.Count() AndAlso BeamMachGroup.PartVMList(nIndex).dL > Part.dL Then
|
||||
' se non è primo, aggiungo offset tra barre standard
|
||||
If nIndex <> 0 OrElse nPartIndex <> 0 Then
|
||||
dPosX += WarehouseHelper.GetOffset(BeamMachGroup.nType)
|
||||
End If
|
||||
EgtSetInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + nPartIndex + 1, nPartDuploIdList(nPartIndex) & "," & DoubleToString(dPosX, 3))
|
||||
' incremento posizione della sua lunghezza
|
||||
dPosX += Part.dL
|
||||
' conservo indice d'inserimento
|
||||
nInsertIndex = nIndex
|
||||
nPartIndex += 1
|
||||
Else
|
||||
Exit For
|
||||
End If
|
||||
EgtSetInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1, nPartDuploId & "," & DoubleToString(dPosX, 3))
|
||||
' incremento posizione della sua lunghezza
|
||||
dPosX += PartToAdd.dL
|
||||
' conservo indice d'inserimento
|
||||
nInsertIndex = nIndex
|
||||
bPartAdded = True
|
||||
End If
|
||||
Next
|
||||
' se non è primo, aggiungo offset del pezzo
|
||||
If nIndex <> 0 Then
|
||||
dPosX += BeamMachGroup.PartVMList(nIndex).dOffset
|
||||
' se sono a indice primo ed è stato aggiunto pezzo nuovo
|
||||
ElseIf nIndex = 0 AndAlso bPartAdded Then
|
||||
ElseIf nIndex = 0 AndAlso nPartIndex > 0 Then
|
||||
' aggiungo offset tra barre standard
|
||||
dPosX += WarehouseHelper.GetOffset(BeamMachGroup.nType)
|
||||
End If
|
||||
EgtSetInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + If(bPartAdded, 2, 1), BeamMachGroup.PartVMList(nIndex).nPartId & "," & DoubleToString(dPosX, 3))
|
||||
EgtSetInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + nPartIndex + 1, BeamMachGroup.PartVMList(nIndex).nPartId & "," & DoubleToString(dPosX, 3))
|
||||
' incremento posizione della sua lunghezza
|
||||
dPosX += BeamMachGroup.PartVMList(nIndex).dL
|
||||
Next
|
||||
' se non è ancora stato aggiunto
|
||||
If Not bPartAdded Then
|
||||
For PartsToAddIndex = nPartIndex To PartsToAdd.Count - 1
|
||||
' aggiungo offset tra barre standard
|
||||
dPosX += WarehouseHelper.GetOffset(BeamMachGroup.nType)
|
||||
' lo aggiungo in fondo
|
||||
EgtSetInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1, nPartDuploId & "," & DoubleToString(dPosX, 3))
|
||||
EgtSetInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + nPartIndex + 1, nPartDuploIdList(nPartIndex) & "," & DoubleToString(dPosX, 3))
|
||||
' conservo indice d'inserimento
|
||||
nInsertIndex = nIndex
|
||||
End If
|
||||
nPartIndex += 1
|
||||
Next
|
||||
' elimino vecchio grezzo ed eseguo script creazione nuovo
|
||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||
While nRawId <> GDB_ID.NULL
|
||||
EgtRemoveRawPart(nRawId)
|
||||
nRawId = EgtGetFirstRawPart()
|
||||
End While
|
||||
If Not ExecBeam(Map.refMainWindowVM.MainWindowM.sTempDir, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
|
||||
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
|
||||
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
|
||||
Return False
|
||||
End If
|
||||
EgtSetInfo(nPartDuploId, MGR_PRT_ROT, PartToAdd.nROTATED)
|
||||
EgtSetInfo(nPartDuploId, MGR_PRT_FLIP, PartToAdd.nINVERTED)
|
||||
For nDuploIndex = 0 To PartsToAdd.Count - 1
|
||||
EgtSetInfo(nPartDuploIdList(nDuploIndex), MGR_PRT_ROT, PartsToAdd(nDuploIndex).nROTATED)
|
||||
EgtSetInfo(nPartDuploIdList(nDuploIndex), MGR_PRT_FLIP, PartsToAdd(nDuploIndex).nINVERTED)
|
||||
Next
|
||||
' aggiorno lista pezzi
|
||||
BeamMachGroup.MyMachGroupM.RefreshPartList()
|
||||
' seleziono pezzo aggiunto
|
||||
@@ -756,7 +869,7 @@ Public Class LeftPanelVM
|
||||
Dim NewPart As BTLPartM = SelPart.Copy()
|
||||
If Not IsNothing(NewPart) Then
|
||||
' selezione ultimo che e' quello appena creato
|
||||
Map.refProjectVM.BTLStructureVM.SetSelBTLPart(Map.refProjectVM.BTLStructureVM.BTLPartVMList(Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1))
|
||||
Map.refProjectVM.BTLStructureVM.SetSelBTLPart(Map.refProjectVM.BTLStructureVM.BTLPartVMList(Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1), False, True)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -945,16 +1058,25 @@ Public Class LeftPanelVM
|
||||
If IsNothing(Map.refProjManagerVM.CurrProj) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) Then Return
|
||||
' salvo sezione impostata
|
||||
Dim CurrSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SelSection
|
||||
' se modalita' assemblato
|
||||
Dim bShowBuilding As Boolean = Map.refShowBeamPanelVM.ShowBuilding_IsChecked
|
||||
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()
|
||||
Part.BackRotation(False, False)
|
||||
Next
|
||||
' se assemblato lo ripristino
|
||||
If bShowBuilding Then Map.refProjectVM.BTLStructureVM.ShowBuilding(True, False)
|
||||
' se progetto travi e sezione precedente diversa da vuota (tutti i pezzi)
|
||||
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM AndAlso CurrSection <> SectionXMaterial.Empty Then
|
||||
' se esiste, imposto sezione inversa
|
||||
Dim InverseSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x.dH = CurrSection.dW AndAlso x.dW = CurrSection.dH AndAlso x.sMaterial(0) = CurrSection.sMaterial(0))
|
||||
If Not IsNothing(InverseSection) Then Map.refProjectVM.BTLStructureVM.SetSelSection(InverseSection)
|
||||
End If
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
#End Region ' BackRotation
|
||||
@@ -980,16 +1102,25 @@ Public Class LeftPanelVM
|
||||
If IsNothing(Map.refProjManagerVM.CurrProj) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) Then Return
|
||||
' salvo sezione impostata
|
||||
Dim CurrSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SelSection
|
||||
' se modalita' assemblato
|
||||
Dim bShowBuilding As Boolean = Map.refShowBeamPanelVM.ShowBuilding_IsChecked
|
||||
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()
|
||||
Part.ForwardRotation(False, False)
|
||||
Next
|
||||
' se assemblato lo ripristino
|
||||
If bShowBuilding Then Map.refProjectVM.BTLStructureVM.ShowBuilding(True, False)
|
||||
' se progetto travi e sezione precedente diversa da vuota (tutti i pezzi)
|
||||
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM AndAlso CurrSection <> SectionXMaterial.Empty Then
|
||||
' se esiste, imposto sezione inversa
|
||||
Dim InverseSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SectionList.FirstOrDefault(Function(x) x.dH = CurrSection.dW AndAlso x.dW = CurrSection.dH AndAlso x.sMaterial(0) = CurrSection.sMaterial(0))
|
||||
If Not IsNothing(InverseSection) Then Map.refProjectVM.BTLStructureVM.SetSelSection(InverseSection)
|
||||
End If
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
#End Region ' ForwardRotation
|
||||
|
||||
@@ -305,7 +305,7 @@ Public Class MyMachGroupVM
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function Copy(Optional Qty As Integer = 1) As Core.MyMachGroupVM
|
||||
Public Shadows Function Copy(Optional Qty As Integer = 1) As Core.MyMachGroupVM
|
||||
Dim BeamWallMachGroup As MyMachGroupVM = Nothing
|
||||
If nType = BWType.BEAM Then
|
||||
EgtResetCurrMachGroup()
|
||||
@@ -479,7 +479,8 @@ Public Class MyMachGroupVM
|
||||
EgtRemoveRawPart(nRawId)
|
||||
nRawId = EgtGetFirstRawPart()
|
||||
End While
|
||||
If Not ExecBeam(Map.refMainWindowVM.MainWindowM.sTempDir, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then Return False
|
||||
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
|
||||
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then Return False
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
@@ -17,7 +17,7 @@ Public Class PartVM
|
||||
' variabile che indica se almeno un pezzo e' stato modificato durante il caricamento del progetto
|
||||
Private Shared m_PartModifiedOnLoading As Boolean = False
|
||||
|
||||
Public ReadOnly Property dVolume As Double
|
||||
Public Overloads ReadOnly Property dVolume As Double
|
||||
Get
|
||||
Return dVolume
|
||||
End Get
|
||||
@@ -72,6 +72,7 @@ Public Class PartVM
|
||||
BeamMachGroup.dStartCut = dOldValue
|
||||
BeamMachGroup.ReDrawBeamMachgroup()
|
||||
End If
|
||||
EgtDraw()
|
||||
' resetto validazione del pezzo
|
||||
ResetCalcPart()
|
||||
ParentMachGroupVM.UpdateUsage()
|
||||
|
||||
@@ -227,8 +227,8 @@ Public Class MainWindowM
|
||||
' Verifico abilitazione nesting automatico
|
||||
m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey)
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5327, 2407, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5327, 2407, 1, m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5327, 2408, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5327, 2408, 1, m_nKeyOptions)
|
||||
' Inizializzazione generale di EgtInterface
|
||||
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
|
||||
m_sLogFile = m_sTempDir & "\" & VWOPTGENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
|
||||
|
||||
@@ -14,18 +14,18 @@ Imports System.Windows
|
||||
#If PLATFORM = "x64" Then
|
||||
#If DEBUG Then
|
||||
<Assembly: AssemblyTitle("EgtBEAMWALL.ViewerOptimizerD64.exe")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL.ViewerOptimizer Debug 64 bit")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL VO Debug 64 bit")>
|
||||
#Else
|
||||
<Assembly: AssemblyTitle("EgtBEAMWALL.ViewerOptimizerR64.exe")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL.ViewerOptimizer 64 bit")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL VO 64 bit")>
|
||||
#End if
|
||||
#Else
|
||||
#If DEBUG Then
|
||||
<Assembly: AssemblyTitle("EgtBEAMWALL.ViewerOptimizerD32.exe")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL Debug 32 bit")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL VO Debug 32 bit")>
|
||||
#Else
|
||||
<Assembly: AssemblyTitle("EgtBEAMWALL.ViewerOptimizerR32.exe")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL 32 bit")>
|
||||
<Assembly: AssemblyDescription("EgtBEAMWALL VO 32 bit")>
|
||||
#End If
|
||||
#End If
|
||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||
@@ -70,5 +70,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.4.7.1")>
|
||||
<Assembly: AssemblyFileVersion("2.4.7.1")>
|
||||
<Assembly: AssemblyVersion("2.4.8.2")>
|
||||
<Assembly: AssemblyFileVersion("2.4.8.2")>
|
||||
|
||||
@@ -114,6 +114,11 @@ Public Class ProdManagerVM
|
||||
Return EgtMsg(61922)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property GoToSupervisor_ToolTip As String
|
||||
Get
|
||||
Return EgtMsg(61974)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' ToolTip
|
||||
|
||||
|
||||
@@ -643,7 +643,7 @@ Public Class ProjManagerVM
|
||||
Dim Machine As Machine = Nothing
|
||||
Dim nType As BWType = BWType.NULL
|
||||
Dim ProjectTypeWndVM As New ProjectTypeWndVM()
|
||||
If ProjectTypeWndVM.MachineList.Count = 1 And DirectCast(ProjectTypeWndVM.SelMachine, MyMachine).nType <> MachineType.BOTH Then
|
||||
If ProjectTypeWndVM.MachineList.Count = 1 AndAlso DirectCast(ProjectTypeWndVM.SelMachine, MyMachine).nType <> MachineType.BOTH Then
|
||||
Machine = ProjectTypeWndVM.SelMachine
|
||||
nType = DirectCast(Machine, MyMachine).nType
|
||||
Else
|
||||
@@ -709,7 +709,7 @@ Public Class ProjManagerVM
|
||||
If nType = BWType.WALL AndAlso (CurrentMachine.ViewDir = VT.ISO_NW OrElse CurrentMachine.ViewDir = VT.ISO_NE) Then
|
||||
' ruoto le pareti di 180 per raddrizzarle rispetto alla vista
|
||||
For Each Wall In Map.refProjectVM.BTLStructureVM.BTLPartVMList
|
||||
Wall.Rotation(True, Map.refProjectVM.BTLStructureVM.nPROJTYPE, 180, False)
|
||||
Wall.Rotation(True, Map.refProjectVM.BTLStructureVM.nPROJTYPE, True, 180, False)
|
||||
Next
|
||||
End If
|
||||
' calcolo volumi pezzi
|
||||
@@ -1270,7 +1270,7 @@ Public Class ProjManagerVM
|
||||
' se progetto pareti e vista ruotata
|
||||
If nType = BWType.WALL AndAlso (CurrentMachine.ViewDir = VT.ISO_NW OrElse CurrentMachine.ViewDir = VT.ISO_NE) Then
|
||||
' ruoto le pareti di 180 per raddrizzarle rispetto alla vista
|
||||
AddedBTLPart.Rotation(True, Map.refProjectVM.BTLStructureVM.nPROJTYPE, 180, False)
|
||||
AddedBTLPart.Rotation(True, Map.refProjectVM.BTLStructureVM.nPROJTYPE, True, 180, False)
|
||||
End If
|
||||
' verifico se aggiungere sezione alla lista
|
||||
If Not Map.refProjectVM.BTLStructureVM.SectionList.Contains(AddedBTLPart.Section) Then
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
@@ -3,6 +3,7 @@ Imports System.ComponentModel
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
Imports EgtBEAMWALL.Core
|
||||
|
||||
Public Class SetUpVM
|
||||
Inherits VMBase
|
||||
|
||||
@@ -4,7 +4,7 @@ Imports System.Reflection
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
Imports EgtBEAMWALL.Core.ConstGen
|
||||
Imports EgtBEAMWALL.Core
|
||||
|
||||
Public Class MyToolDbWindowVM
|
||||
Inherits ToolDbWindowVM
|
||||
|
||||
@@ -292,7 +292,7 @@ Public Class TopPanelVM
|
||||
Public Sub ProduceAllRawPart()
|
||||
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
|
||||
' se attiva opzione e non ancora calcolato
|
||||
If GetMainPrivateProfileInt(S_GENERAL, K_FASTPRODUCE, 0) = 1 And Map.refMachGroupPanelVM.MachGroupVMList.Any(Function(x As MyMachGroupVM) x.nGlobalState = CalcStates.NOTCALCULATED) Then
|
||||
If GetMainPrivateProfileInt(S_GENERAL, K_FASTPRODUCE, 0) = 1 And Map.refMachGroupPanelVM.MachGroupVMList.Any(Function(x As MyMachGroupVM) x.nProduction_State = ItemState.ND AndAlso x.nGlobalState = CalcStates.NOTCALCULATED) Then
|
||||
Map.refCALCPanelVM.SetFromProduce(CALCPanelVM.ProduceType.PRODUCEALL)
|
||||
Map.refCALCPanelVM.VerifyAll()
|
||||
Return
|
||||
|
||||
@@ -5,93 +5,94 @@ Imports EgtBEAMWALL.ViewerOptimizer
|
||||
|
||||
Public Module DbControllers
|
||||
|
||||
Friend m_SupervisorId As String = "1"
|
||||
Private m_bNetwork As Boolean = False
|
||||
Friend ReadOnly Property bNetwork As Boolean
|
||||
Get
|
||||
Return m_bNetwork
|
||||
End Get
|
||||
End Property
|
||||
Friend m_SupervisorId As String = "1"
|
||||
Private m_bNetwork As Boolean = False
|
||||
Friend ReadOnly Property bNetwork As Boolean
|
||||
Get
|
||||
Return m_bNetwork
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public m_ProjController As DataLayer.Controllers.ProjController
|
||||
Public m_ProdController As DataLayer.Controllers.ProdController
|
||||
Public m_MachGroupController As DataLayer.Controllers.MachGroupController
|
||||
Public m_StatusMapController As DataLayer.Controllers.StatusMapController
|
||||
Public m_PartController As DataLayer.Controllers.PartController
|
||||
Public m_ProjController As DataLayer.Controllers.ProjController
|
||||
Public m_ProdController As DataLayer.Controllers.ProdController
|
||||
Public m_MachGroupController As DataLayer.Controllers.MachGroupController
|
||||
Public m_StatusMapController As DataLayer.Controllers.StatusMapController
|
||||
Public m_PartController As DataLayer.Controllers.PartController
|
||||
|
||||
Sub Init()
|
||||
End Sub
|
||||
Sub Init()
|
||||
End Sub
|
||||
|
||||
Sub New()
|
||||
Sub New()
|
||||
|
||||
' se demo--> server = db.steamware.net, nKey e sKey come le hai...
|
||||
' se demo--> server = db.steamware.net, nKey e sKey come le hai...
|
||||
|
||||
Dim sKey = "", sUser = "", sPwd = ""
|
||||
Dim sKey = "", sUser = "", sPwd = ""
|
||||
|
||||
EgtGetKeyInfo(sKey)
|
||||
sKey = sKey.Replace(" ", "")
|
||||
If Not IsNothing(sKey) AndAlso sKey.Length > 11 Then
|
||||
sUser = sKey.Substring(3, 6)
|
||||
sPwd = sKey.Substring(10, sKey.Length - 10).Replace("(", "").Replace(")", "")
|
||||
End If
|
||||
Try
|
||||
Dim DbAddress As String = "127.0.0.1"
|
||||
Dim DbMasterKey As Integer = 0
|
||||
Dim sDbMasterKey As String = ""
|
||||
Dim sSharedFolder As String = ""
|
||||
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
|
||||
GetMainPrivateProfileString(S_GENERAL, K_DBADDRESS, "", DbAddress)
|
||||
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
|
||||
If DbMasterKey > 0 Then
|
||||
sDbMasterKey = DbMasterKey.ToString("000000")
|
||||
EgtGetKeyInfo(sKey)
|
||||
sKey = sKey.Replace(" ", "")
|
||||
If Not IsNothing(sKey) AndAlso sKey.Length > 11 Then
|
||||
sUser = sKey.Substring(3, 6)
|
||||
sPwd = sKey.Substring(10, sKey.Length - 10).Replace("(", "").Replace(")", "")
|
||||
End If
|
||||
Try
|
||||
Dim DbAddress As String = "127.0.0.1"
|
||||
Dim DbMasterKey As Integer = 0
|
||||
Dim sDbMasterKey As String = ""
|
||||
Dim sSharedFolder As String = ""
|
||||
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
|
||||
GetMainPrivateProfileString(S_GENERAL, K_DBADDRESS, "", DbAddress)
|
||||
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
|
||||
If DbMasterKey > 0 Then
|
||||
sDbMasterKey = DbMasterKey.ToString("000000")
|
||||
End If
|
||||
If String.IsNullOrWhiteSpace(DbAddress) OrElse DbMasterKey <= 0 Then
|
||||
DbAddress = "127.0.0.1"
|
||||
DbMasterKey = 0
|
||||
Else
|
||||
m_bNetwork = True
|
||||
End If
|
||||
End If
|
||||
If String.IsNullOrWhiteSpace(DbAddress) OrElse DbMasterKey <= 0 Then
|
||||
DbAddress = "127.0.0.1"
|
||||
DbMasterKey = 0
|
||||
Else
|
||||
m_bNetwork = True
|
||||
If Not m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
|
||||
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
|
||||
If DbMasterKey > 0 Then
|
||||
sDbMasterKey = DbMasterKey.ToString("000000")
|
||||
End If
|
||||
ElseIf GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0) = 0 Then
|
||||
Dim nKey As Integer = 0
|
||||
If Integer.TryParse(sKey.Substring(3, 6), nKey) AndAlso nKey > 0 Then
|
||||
WriteMainPrivateProfileString(S_GENERAL, K_DBMASTERKEY, nKey)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
If Not m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
|
||||
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
|
||||
If DbMasterKey > 0 Then
|
||||
sDbMasterKey = DbMasterKey.ToString("000000")
|
||||
End If
|
||||
ElseIf GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0) = 0 Then
|
||||
Dim nKey As Integer = 0
|
||||
If Integer.TryParse(sKey.Substring(3, 6), nKey) AndAlso nKey > 0 Then
|
||||
WriteMainPrivateProfileString(S_GENERAL, K_DBMASTERKEY, nKey)
|
||||
End If
|
||||
End If
|
||||
DataLayer.DbConfig.InitDb(DbAddress, sUser, sPwd, sDbMasterKey)
|
||||
DataLayer.DbConfig.SetupLogDir(Map.refMainWindowVM.MainWindowM.sTempDir)
|
||||
DataLayer.DbConfig.CheckMigrateDb()
|
||||
DataLayer.DbConfig.CheckUser(sUser, sPwd, Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK))
|
||||
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) And bNetwork Then
|
||||
' imposto cartella condivisa
|
||||
GetMainPrivateProfileString(S_GENERAL, K_SHAREDFOLDER, Map.refMainWindowVM.MainWindowM.sDataDir, sSharedFolder)
|
||||
Map.refMainWindowVM.MainWindowM.UpdatePathForNetwork(sSharedFolder)
|
||||
Dim sSupervisorMachName As String = ""
|
||||
GetMainPrivateProfileString(S_MACH, K_SUPERVISORMACH, "", sSupervisorMachName)
|
||||
If Not String.IsNullOrWhiteSpace(sSupervisorMachName) Then m_SupervisorId = sSupervisorMachName
|
||||
ElseIf Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
|
||||
' imposto cartella chiave master
|
||||
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sDbMasterKey)
|
||||
Else
|
||||
' imposto cartella chiave locale
|
||||
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sKey.Substring(3, 6))
|
||||
End If
|
||||
Catch ex As Exception
|
||||
EgtOutLog("InitDb error: " & ex.ToString())
|
||||
MessageBox.Show(Application.Current.MainWindow, "Db connection error!!", "Error")
|
||||
End
|
||||
End Try
|
||||
DataLayer.DbConfig.SetupLogDir(Map.refMainWindowVM.MainWindowM.sTempDir)
|
||||
DataLayer.DbConfig.CheckMigrateDb()
|
||||
DataLayer.DbConfig.CheckUser(sUser, sPwd, Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK))
|
||||
DataLayer.DbConfig.CheckViews(sUser, sPwd)
|
||||
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) And bNetwork Then
|
||||
' imposto cartella condivisa
|
||||
GetMainPrivateProfileString(S_GENERAL, K_SHAREDFOLDER, Map.refMainWindowVM.MainWindowM.sDataDir, sSharedFolder)
|
||||
Map.refMainWindowVM.MainWindowM.UpdatePathForNetwork(sSharedFolder)
|
||||
Dim sSupervisorMachName As String = ""
|
||||
GetMainPrivateProfileString(S_MACH, K_SUPERVISORMACH, "", sSupervisorMachName)
|
||||
If Not String.IsNullOrWhiteSpace(sSupervisorMachName) Then m_SupervisorId = sSupervisorMachName
|
||||
ElseIf Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
|
||||
' imposto cartella chiave master
|
||||
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sDbMasterKey)
|
||||
Else
|
||||
' imposto cartella chiave locale
|
||||
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sKey.Substring(3, 6))
|
||||
End If
|
||||
Catch ex As Exception
|
||||
EgtOutLog("InitDb error: " & ex.ToString())
|
||||
MessageBox.Show(Application.Current.MainWindow, "Db connection error!!", "Error")
|
||||
End
|
||||
End Try
|
||||
|
||||
m_ProjController = New DataLayer.Controllers.ProjController
|
||||
m_ProdController = New DataLayer.Controllers.ProdController
|
||||
m_MachGroupController = New DataLayer.Controllers.MachGroupController
|
||||
m_StatusMapController = New DataLayer.Controllers.StatusMapController
|
||||
m_PartController = New DataLayer.Controllers.PartController
|
||||
End Sub
|
||||
m_ProjController = New DataLayer.Controllers.ProjController
|
||||
m_ProdController = New DataLayer.Controllers.ProdController
|
||||
m_MachGroupController = New DataLayer.Controllers.MachGroupController
|
||||
m_StatusMapController = New DataLayer.Controllers.StatusMapController
|
||||
m_PartController = New DataLayer.Controllers.PartController
|
||||
End Sub
|
||||
|
||||
End Module
|
||||
|
||||
@@ -383,7 +383,7 @@
|
||||
<Setter Property="Margin" Value="5"/>
|
||||
</Style>
|
||||
|
||||
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
|
||||
<Style x:Key="FreeContour_TextBox" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
|
||||
<Setter Property="Height" Value="22"/>
|
||||
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||||
<Setter Property="HorizontalContentAlignment" Value="Right"/>
|
||||
|
||||
@@ -4,7 +4,7 @@ Public Class PartsObservableCollection(Of T)
|
||||
Inherits ObservableCollection(Of T)
|
||||
|
||||
Public Sub AddToList(item As T)
|
||||
If Contains(item) Then Return
|
||||
If IsNothing(item) OrElse Contains(item) Then Return
|
||||
Add(item)
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC Manifest Options
|
||||
If you want to change the Windows User Account Control level replace the
|
||||
requestedExecutionLevel node with one of the following.
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
Specifying requestedExecutionLevel element will disable file and registry virtualization.
|
||||
Remove this element if your application requires this virtualization for backwards
|
||||
compatibility.
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- A list of the Windows versions that this application has been tested on
|
||||
and is designed to work with. Uncomment the appropriate elements
|
||||
and Windows will automatically select the most compatible environment. -->
|
||||
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
|
||||
<!-- Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
|
||||
|
||||
<!-- Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
|
||||
|
||||
<!-- Windows 10 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
|
||||
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
|
||||
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
|
||||
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
|
||||
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config.
|
||||
|
||||
Makes the application long-path aware. See https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
|
||||
<!--
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
-->
|
||||
|
||||
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
|
||||
<!--
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
</assembly>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,389 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>MySql.Data.Entity.EF6</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:MySql.Data.Entity.SqlFragmentVisitor">
|
||||
<summary>
|
||||
Visitor for SqlFragment and derived classes, useful for postprocessing and optimizations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.ReplaceTableNameVisitor">
|
||||
<summary>
|
||||
Visitor to replace old table names with new table names. Used as part postprocessing of the code for fusing nested selects.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.OpType">
|
||||
<summary>
|
||||
Specifies the operation types supported.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.SelectGenerator.TryFlatteningGroupBy(MySql.Data.Entity.SqlFragment)">
|
||||
<summary>
|
||||
If input sqlFragment is a group by structure, is flattened to remove some nested correlation queries.
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.SqlGenerator.TryFusingSelect(MySql.Data.Entity.InputFragment)">
|
||||
<summary>
|
||||
If current fragment is select and its from clause is another select, try fuse the inner select with the outer select.
|
||||
(Thus removing a nested query, which may have bad performance in Mysql).
|
||||
</summary>
|
||||
<param name="f">The fragment to probe and posibly optimize</param>
|
||||
<returns>The fragment fused, or the original one.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.SqlGenerator.TryPromoteToLike(System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.String)">
|
||||
<summary>
|
||||
Examines a binary expression to see if it is an special case suitable to conversion
|
||||
to a more efficient and equivalent LIKE sql expression.
|
||||
</summary>
|
||||
<param name="left"></param>
|
||||
<param name="right"></param>
|
||||
<param name="op"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlConnectionFactory">
|
||||
<summary>
|
||||
Used for creating connections in Code First 4.3.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlDependencyResolver">
|
||||
<summary>
|
||||
Provides the capability to resolve a dependency.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlDependencyResolver.GetService(System.Type,System.Object)">
|
||||
<summary>
|
||||
Attempts to resolve a dependency for a given contract type and optionally a given key.
|
||||
</summary>
|
||||
<param name="type">The base class that defines the dependency to be resolved.</param>
|
||||
<param name="key">Optionally, the key of the dependency to be resolved.</param>
|
||||
<returns>The resolved dependency.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlDependencyResolver.GetServices(System.Type,System.Object)">
|
||||
<summary>
|
||||
Attempts to resolve a dependency for all of the registered services with the given type and key combination.
|
||||
</summary>
|
||||
<param name="type">The base class that defines the dependency to be resolved.</param>
|
||||
<param name="key">Optionally, the key of the dependency to be resolved.</param>
|
||||
<returns>All services that resolve the dependency.</returns>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlProviderInvariantName">
|
||||
<summary>
|
||||
Used to resolve a provider invariant name from a provider factory.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MySql.Data.Entity.MySqlProviderInvariantName.Name">
|
||||
<summary>
|
||||
Gets the name of the provider.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MySql.Data.Entity.MySqlProviderInvariantName.ProviderName">
|
||||
<summary>
|
||||
Gets the name of the provider.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlProviderFactoryResolver">
|
||||
<summary>
|
||||
Service that obtains the provider factory from a given connection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlProviderFactoryResolver.ResolveProviderFactory(System.Data.Common.DbConnection)">
|
||||
<summary>
|
||||
Returns the <see cref="T:System.Data.Common.DbProviderFactory"/> for the given connection.
|
||||
</summary>
|
||||
<param name="connection">The database connection.</param>
|
||||
<returns>The provider factory for the connection.</returns>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlManifestTokenResolver">
|
||||
<summary>
|
||||
Gets a provider manifest token for the given connection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlManifestTokenResolver.ResolveManifestToken(System.Data.Common.DbConnection)">
|
||||
<summary>
|
||||
Returns the manifest token to use for the given connection.
|
||||
</summary>
|
||||
<param name="connection">The connection for which a manifest token is required.</param>
|
||||
<returns>The manifest token to use.</returns>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlModelCacheKey">
|
||||
<summary>
|
||||
Represents a key value that uniquely identifies an Entity Framework model that has been loaded into memory.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlModelCacheKey.Equals(System.Object)">
|
||||
<summary>
|
||||
Determines whether the current cached model key is equal to the specified cached
|
||||
model key.
|
||||
</summary>
|
||||
<param name="other">The cached model key to compare to the current cached model key.</param>
|
||||
<returns><c>true</c> if the current cached model key is equal to the specified cached model key;
|
||||
otherwise, <c>false</c>.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlModelCacheKey.GetHashCode">
|
||||
<summary>
|
||||
Returns the hash function for this cached model key.
|
||||
</summary>
|
||||
<returns>The hash function for this cached model key.</returns>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlEFConfiguration">
|
||||
<summary>
|
||||
Defines the configuration of an application to be used with Entity Framework.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlEFConfiguration.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of <see cref="T:MySql.Data.Entity.MySqlEFConfiguration"/> class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlExecutionStrategy">
|
||||
<summary>
|
||||
An execution strategy tailored for handling MySql Server transient errors.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:MySql.Data.Entity.MySqlExecutionStrategy.errorsToRetryOn">
|
||||
<summary>
|
||||
Different back off algorithms used for different errors.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.BackoffAlgorithm">
|
||||
<summary>
|
||||
The base class for backoff algorithms.
|
||||
</summary>
|
||||
<remarks>Different transient error conditions require different approaches.</remarks>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.BackoffAlgorithm.GetNextDelay">
|
||||
<summary>
|
||||
The default implementation is an exponential delay backoff.
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.BackoffAlgorithm.Reset">
|
||||
<summary>
|
||||
Resets a backoff algorithm, so they can be reused.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1040">
|
||||
<summary>
|
||||
Back-off algorithm customized for the MySql error code 1040 - Too many connections.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1614">
|
||||
<summary>
|
||||
Back-off algorithm for the Mysql error code 1614 - Transaction branch was rolled back: deadlock was detected.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1205">
|
||||
<summary>
|
||||
Back-off algorithm customized for the MySql error code 1205 - Lock wait timeout exceeded; try restarting transaction.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr1213">
|
||||
<summary>
|
||||
Back-off algorithm customized for MySql error code 1213 - Deadlock found when trying to get lock; try restarting transaction.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr2006">
|
||||
<summary>
|
||||
Back-off algorithm customized for MySql error code 2006 - MySQL server has gone away.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.BackoffAlgorithmErr2013">
|
||||
<summary>
|
||||
Back-off algorithm customized for MySql error code 2013 - Lost connection to MySQL server during query.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.BackoffAlgorithmNdb">
|
||||
<summary>
|
||||
Back-off algorithm customized for MySql Cluster (NDB) errors.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlHistoryContext">
|
||||
<summary>
|
||||
Reads and writes migration history from the database during code first migrations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlLogger">
|
||||
<summary>
|
||||
Enables the creation of MySQL logs for applications.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlMigrationCodeGenerator">
|
||||
<summary>
|
||||
Class used to customized code generation
|
||||
to avoid dbo. prefix added on table names.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.MySqlMigrationSqlGenerator">
|
||||
<summary>
|
||||
Implementation of a MySql's Sql generator for EF 4.3 data migrations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddColumnOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to add a column.
|
||||
</summary>
|
||||
<param name="op">The operation that represents a column being added to a table.</param>
|
||||
<returns>A migration operation to add a column.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropColumnOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to drop a column.
|
||||
</summary>
|
||||
<param name="op">The operation that represents a column being dropped from a table.</param>
|
||||
<returns>The migration operation to drop a column.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterColumnOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to alter a column.
|
||||
</summary>
|
||||
<param name="op">The operation that represents altering an existing column.</param>
|
||||
<returns>A migration operation to alter a column.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameColumnOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to rename a column.
|
||||
</summary>
|
||||
<param name="op">The operation that represents a column being renamed.</param>
|
||||
<returns>A migration operation to rename a column.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddForeignKeyOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to add a foreign key.
|
||||
</summary>
|
||||
<param name="op">the operation that represents a foreing key constraint being added to a table.</param>
|
||||
<returns>A migration operation to add a foreign key constraint.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.ColumnModel)">
|
||||
<summary>
|
||||
Generates an SQL statement of a column model.
|
||||
</summary>
|
||||
<param name="op">The model that represents a column.</param>
|
||||
<returns>A string containing an SQL statement of a column model.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropForeignKeyOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to drop a foreign key constraint from a table.
|
||||
</summary>
|
||||
<param name="op">The operation that represents a foreign key being added from a table.</param>
|
||||
<returns>A migration operation to drop a foreign key.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateIndexOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to create a database index.
|
||||
</summary>
|
||||
<param name="op">The operation that represents creating a database index.</param>
|
||||
<returns>A migration operation to create a database index.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropIndexOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to drop an existing database index.
|
||||
</summary>
|
||||
<param name="op">The operation that represents dropping am existing database index.</param>
|
||||
<returns>A migration operation to drop an existing database index.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateTableOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to create a table.
|
||||
</summary>
|
||||
<param name="op">The operation that represents creating a table.</param>
|
||||
<returns>A migration operation to create a table.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropTableOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to drop an existing table.
|
||||
</summary>
|
||||
<param name="op">The operation that represents dropping an existing table.</param>
|
||||
<returns>A migration operation to drop an existing table.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddPrimaryKeyOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to add a primary key to a table.
|
||||
</summary>
|
||||
<param name="op">The operation that represents adding a primary key to a table.</param>
|
||||
<returns>A migration operation to add a primary key to a table.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropPrimaryKeyOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to drpo an existing primary key.
|
||||
</summary>
|
||||
<param name="op">The operation that represents dropping an existing primary key.</param>
|
||||
<returns>A migration operation to drop an existing primary key.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameTableOperation)">
|
||||
<summary>
|
||||
Generates a migration operation to rename an existing table.
|
||||
</summary>
|
||||
<param name="op">The operation that represents renaming an existing table.</param>
|
||||
<returns>A migration operation to rename an existing table.</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MoveTableOperation)">
|
||||
<summary>
|
||||
Not implemented yet.
|
||||
</summary>
|
||||
<param name="op">NA</param>
|
||||
<returns>NA</returns>
|
||||
</member>
|
||||
<member name="M:MySql.Data.Entity.MySqlMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.SqlOperation)">
|
||||
<summary>
|
||||
Generates a migration operation with a MySQL statement to be executed.
|
||||
</summary>
|
||||
<param name="op">The operation representing a MySQL statement to be executed directly against the database.</param>
|
||||
<returns>A migration operation with a MySQL statement to be executed.</returns>
|
||||
</member>
|
||||
<member name="T:MySql.Data.Entity.Properties.Resources">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MySql.Data.Entity.Properties.Resources.ResourceManager">
|
||||
<summary>
|
||||
Returns the cached ResourceManager instance used by this class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MySql.Data.Entity.Properties.Resources.Culture">
|
||||
<summary>
|
||||
Overrides the current thread's CurrentUICulture property for all
|
||||
resource lookups using this strongly typed resource class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MySql.Data.Entity.Properties.Resources.ConnectionMustBeOfTypeMySqlConnection">
|
||||
<summary>
|
||||
Looks up a localized string similar to The connection parameter must reference an object of type MySql.Data.MySqlConnection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MySql.Data.Entity.Properties.Resources.NoStoreTypeForEdmType">
|
||||
<summary>
|
||||
Looks up a localized string similar to There is no store type corresponding to the EDM type '{0}' of primitive type '{1}'..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MySql.Data.Entity.Properties.Resources.TypeNotSupported">
|
||||
<summary>
|
||||
Looks up a localized string similar to The underlying provider does not support the type '{0}'..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MySql.Data.Entity.Properties.Resources.WrongFunctionResultType">
|
||||
<summary>
|
||||
Looks up a localized string similar to Result type of a function is expected to be a collection of RowType or PrimitiveType.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:MySql.Data.MySqlClient.MySqlProviderServices.SetExpectedTypes(System.Data.Entity.Core.Common.CommandTrees.DbCommandTree,MySql.Data.Entity.EFMySqlCommand)">
|
||||
<summary>
|
||||
Sets the expected column types
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:MySql.Data.MySqlClient.MySqlProviderServices.SetQueryExpectedTypes(System.Data.Entity.Core.Common.CommandTrees.DbQueryCommandTree,MySql.Data.Entity.EFMySqlCommand)">
|
||||
<summary>
|
||||
Sets the expected column types for a given query command tree
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:MySql.Data.MySqlClient.MySqlProviderServices.SetFunctionExpectedTypes(System.Data.Entity.Core.Common.CommandTrees.DbFunctionCommandTree,MySql.Data.Entity.EFMySqlCommand)">
|
||||
<summary>
|
||||
Sets the expected column types for a given function command tree
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Reference in New Issue
Block a user