Merge remote-tracking branch 'CMS/develop' into develop
This commit is contained in:
+6
-12
@@ -1,21 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Client.Config
|
||||
namespace Client.Config
|
||||
{
|
||||
|
||||
|
||||
public static class Config
|
||||
{
|
||||
|
||||
public static SubModels.Client ClientConfig;
|
||||
public static SubModels.Connection ConnectionConfig;
|
||||
public static SubModels.VendorHmi VendorHmiConfig;
|
||||
public static SubModels.Client ClientConfig;
|
||||
public static SubModels.Connection ConnectionConfig;
|
||||
public static SubModels.VendorHmi VendorHmiConfig;
|
||||
public static SubModels.ProdSoftware ProdSoftwareConfig { get; set; }
|
||||
public static string TextEditorPath { get; set; }
|
||||
public static SubModels.Software[] ExtSoftwaresConfig { get; set; }
|
||||
public static SubModels.Software[] ExtSoftwaresConfig { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<RenderingMethod>GPU</RenderingMethod> <!-- GPU/CPU -->
|
||||
<ShowVirtualKeyboard>false</ShowVirtualKeyboard>
|
||||
<RunningOnSecondaryScreen>false</RunningOnSecondaryScreen>
|
||||
<DeveloperMode>false</DeveloperMode>
|
||||
<DeveloperMode>true</DeveloperMode>
|
||||
</Client>
|
||||
<Connection>
|
||||
<ServerUrl>localhost</ServerUrl>
|
||||
|
||||
+270
-274
@@ -1,280 +1,276 @@
|
||||
using Client.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Linq;
|
||||
using System.Xml.Schema;
|
||||
|
||||
namespace Client.Config
|
||||
{
|
||||
public class ConfigController
|
||||
{
|
||||
const String ChromeScheme = "chrome";
|
||||
|
||||
public static void ReadStartupConfig()
|
||||
{
|
||||
// Read validation file
|
||||
XmlSchemaSet readerSettings = new XmlSchemaSet();
|
||||
|
||||
// Add Schema
|
||||
readerSettings.Add(null, Constants.STARTUP_CONFIG_SCHEMA_PATH);
|
||||
// Open file reader
|
||||
XDocument xmlConfigFile = XDocument.Load(Constants.STARTUP_CONFIG_PATH);
|
||||
|
||||
// Validate file
|
||||
xmlConfigFile.Validate(readerSettings, ValidationHandler);
|
||||
|
||||
// Read XML Config
|
||||
Config.ClientConfig = xmlConfigFile
|
||||
.Descendants(Constants.CLIENT_CONFIG_KEY)
|
||||
.Select(x => new SubModels.Client()
|
||||
{
|
||||
TranspColor = ValidateTranspColor(x.Element("TranspColor").Value),
|
||||
RenderingMethod = ValidateRendering(x.Element("RenderingMethod").Value),
|
||||
RunningOnSecondaryScreen = ValidateSecScreen(x.Element("RunningOnSecondaryScreen").Value),
|
||||
ShowVirtualKeyboard = ValidateVirtualKeyboard(x.Element("ShowVirtualKeyboard").Value),
|
||||
DeveloperMode = ValidateDeveloperMode(x.Element("DeveloperMode").Value),
|
||||
IsSCM = ValidateIsSCM(x.Element("IsSCM").Value)
|
||||
}).FirstOrDefault();
|
||||
|
||||
Config.ConnectionConfig = xmlConfigFile
|
||||
.Descendants(Constants.CONNECTION_CONFIG_KEY)
|
||||
.Select(x => new SubModels.Connection()
|
||||
{
|
||||
ServerUrl = ValidateServerUrl(x.Element("ServerUrl").Value),
|
||||
ServerPort = ValidateServerPort(x.Element("ServerPort").Value),
|
||||
Id = ValidateClientID(x.Element("Id").Value),
|
||||
DeleteCahceFolderOnStartup = ValidateDelCache(x.Element("DeleteCahceFolderOnStartup").Value),
|
||||
}).FirstOrDefault();
|
||||
|
||||
Config.VendorHmiConfig = xmlConfigFile
|
||||
.Descendants(Constants.VENDORHMI_CONFIG_KEY)
|
||||
.Select(x => new SubModels.VendorHmi()
|
||||
{
|
||||
FollowNcWindow = ValidateFollowNcWin(x.Element("FollowNcWindow").Value)
|
||||
}).FirstOrDefault();
|
||||
|
||||
Config.ProdSoftwareConfig = new SubModels.ProdSoftware();
|
||||
Config.ExtSoftwaresConfig = new SubModels.Software[] { };
|
||||
|
||||
//ReadConfig Url compositing
|
||||
Config.ConnectionConfig.ReadConfigUrl = "http://" + Config.ConnectionConfig.ServerUrl + ":" + Config.ConnectionConfig.ServerPort + "/" + Constants.ConfigPage;
|
||||
Config.ConnectionConfig.StartingUrl = "http://" + Config.ConnectionConfig.ServerUrl + ":" + Config.ConnectionConfig.ServerPort + "/" + Constants.StartingPage;
|
||||
|
||||
//ErrorPage content
|
||||
if (File.Exists(Constants.errorPageFile))
|
||||
Config.ConnectionConfig.ErrorPage = File.ReadAllText(Constants.errorPageFile);
|
||||
else
|
||||
throw new Exception(@"File Error: """ + Constants.errorPageFile + @""" not found");
|
||||
|
||||
}
|
||||
|
||||
private static void ValidationHandler(object sender, ValidationEventArgs e)
|
||||
{
|
||||
throw new Exception(@"Configuration Error: " + e.Message);
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
#region PROPERTIES_VALIDATOR
|
||||
|
||||
private static String ValidateServerUrl(String value)
|
||||
{
|
||||
if (!String.IsNullOrWhiteSpace(value))
|
||||
return value;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Connection - ServerUrl"" is not a valid URL");
|
||||
}
|
||||
|
||||
|
||||
private static ushort ValidateServerPort(String value)
|
||||
{
|
||||
if (ushort.TryParse(value, out ushort Port))
|
||||
return Port;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Connection - ServerPort"" is not a valid Id of CMS-Client");
|
||||
}
|
||||
|
||||
|
||||
private static String ValidateArgumentUrl(String value)
|
||||
{
|
||||
Uri NewUrl;
|
||||
if (Uri.TryCreate(value, UriKind.Absolute, out NewUrl) && (NewUrl.Scheme == Uri.UriSchemeHttp || NewUrl.Scheme == Uri.UriSchemeHttps || NewUrl.Scheme == Uri.UriSchemeFile || NewUrl.Scheme == ChromeScheme))
|
||||
return value;
|
||||
else
|
||||
throw new Exception(@"Argument Url Error: is not a valid URL");
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static Color ValidateTranspColor(String value)
|
||||
{
|
||||
Color color;
|
||||
try
|
||||
{
|
||||
color = ColorTranslator.FromHtml(value);
|
||||
return color;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
throw new Exception(@"Configuration Error: ""Client - TranspColor"" is not a valid Hex Color");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static Constants.Rendering ValidateRendering(string value)
|
||||
{
|
||||
if (value.ToUpper().Equals("CPU"))
|
||||
return Constants.Rendering.CPU;
|
||||
else if (value.ToUpper().Equals("GPU"))
|
||||
return Constants.Rendering.GPU;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Client - RenderingMethod"" is not a valid Rendering Method");
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static bool ValidateSecScreen(string value)
|
||||
{
|
||||
Boolean secScreen;
|
||||
if (Boolean.TryParse(value, out secScreen))
|
||||
return secScreen;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Client - RunningOnSecondaryScreen"" is not a valid Boolean Type");
|
||||
|
||||
}
|
||||
private static bool ValidateIsSCM(string value)
|
||||
{
|
||||
Boolean IsSCM;
|
||||
if (Boolean.TryParse(value, out IsSCM))
|
||||
return IsSCM;
|
||||
using Client.Utils;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
using System.Xml.Schema;
|
||||
|
||||
namespace Client.Config
|
||||
{
|
||||
public class ConfigController
|
||||
{
|
||||
const String ChromeScheme = "chrome";
|
||||
|
||||
public static void ReadStartupConfig()
|
||||
{
|
||||
// Read validation file
|
||||
XmlSchemaSet readerSettings = new XmlSchemaSet();
|
||||
|
||||
// Add Schema
|
||||
readerSettings.Add(null, Constants.STARTUP_CONFIG_SCHEMA_PATH);
|
||||
// Open file reader
|
||||
XDocument xmlConfigFile = XDocument.Load(Constants.STARTUP_CONFIG_PATH);
|
||||
|
||||
// Validate file
|
||||
xmlConfigFile.Validate(readerSettings, ValidationHandler);
|
||||
|
||||
// Read XML Config
|
||||
Config.ClientConfig = xmlConfigFile
|
||||
.Descendants(Constants.CLIENT_CONFIG_KEY)
|
||||
.Select(x => new SubModels.Client()
|
||||
{
|
||||
TranspColor = ValidateTranspColor(x.Element("TranspColor").Value),
|
||||
RenderingMethod = ValidateRendering(x.Element("RenderingMethod").Value),
|
||||
RunningOnSecondaryScreen = ValidateSecScreen(x.Element("RunningOnSecondaryScreen").Value),
|
||||
ShowVirtualKeyboard = ValidateVirtualKeyboard(x.Element("ShowVirtualKeyboard").Value),
|
||||
DeveloperMode = ValidateDeveloperMode(x.Element("DeveloperMode").Value),
|
||||
IsSCM = ValidateIsSCM(x.Element("IsSCM").Value)
|
||||
}).FirstOrDefault();
|
||||
|
||||
Config.ConnectionConfig = xmlConfigFile
|
||||
.Descendants(Constants.CONNECTION_CONFIG_KEY)
|
||||
.Select(x => new SubModels.Connection()
|
||||
{
|
||||
ServerUrl = ValidateServerUrl(x.Element("ServerUrl").Value),
|
||||
ServerPort = ValidateServerPort(x.Element("ServerPort").Value),
|
||||
Id = ValidateClientID(x.Element("Id").Value),
|
||||
DeleteCahceFolderOnStartup = ValidateDelCache(x.Element("DeleteCahceFolderOnStartup").Value),
|
||||
}).FirstOrDefault();
|
||||
|
||||
Config.VendorHmiConfig = xmlConfigFile
|
||||
.Descendants(Constants.VENDORHMI_CONFIG_KEY)
|
||||
.Select(x => new SubModels.VendorHmi()
|
||||
{
|
||||
FollowNcWindow = ValidateFollowNcWin(x.Element("FollowNcWindow").Value)
|
||||
}).FirstOrDefault();
|
||||
|
||||
Config.ProdSoftwareConfig = new SubModels.ProdSoftware();
|
||||
Config.ExtSoftwaresConfig = new SubModels.Software[] { };
|
||||
|
||||
//ReadConfig Url compositing
|
||||
Config.ConnectionConfig.ReadConfigUrl = "http://" + Config.ConnectionConfig.ServerUrl + ":" + Config.ConnectionConfig.ServerPort + "/" + Constants.ConfigPage;
|
||||
Config.ConnectionConfig.StartingUrl = "http://" + Config.ConnectionConfig.ServerUrl + ":" + Config.ConnectionConfig.ServerPort + "/" + Constants.StartingPage;
|
||||
|
||||
//ErrorPage content
|
||||
if (File.Exists(Constants.errorPageFile))
|
||||
Config.ConnectionConfig.ErrorPage = File.ReadAllText(Constants.errorPageFile);
|
||||
else
|
||||
throw new Exception(@"File Error: """ + Constants.errorPageFile + @""" not found");
|
||||
|
||||
}
|
||||
|
||||
private static void ValidationHandler(object sender, ValidationEventArgs e)
|
||||
{
|
||||
throw new Exception(@"Configuration Error: " + e.Message);
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
#region PROPERTIES_VALIDATOR
|
||||
|
||||
private static String ValidateServerUrl(String value)
|
||||
{
|
||||
if (!String.IsNullOrWhiteSpace(value))
|
||||
return value;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Connection - ServerUrl"" is not a valid URL");
|
||||
}
|
||||
|
||||
|
||||
private static ushort ValidateServerPort(String value)
|
||||
{
|
||||
if (ushort.TryParse(value, out ushort Port))
|
||||
return Port;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Connection - ServerPort"" is not a valid Id of CMS-Client");
|
||||
}
|
||||
|
||||
|
||||
private static String ValidateArgumentUrl(String value)
|
||||
{
|
||||
Uri NewUrl;
|
||||
if (Uri.TryCreate(value, UriKind.Absolute, out NewUrl) && (NewUrl.Scheme == Uri.UriSchemeHttp || NewUrl.Scheme == Uri.UriSchemeHttps || NewUrl.Scheme == Uri.UriSchemeFile || NewUrl.Scheme == ChromeScheme))
|
||||
return value;
|
||||
else
|
||||
throw new Exception(@"Argument Url Error: is not a valid URL");
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static Color ValidateTranspColor(String value)
|
||||
{
|
||||
Color color;
|
||||
try
|
||||
{
|
||||
color = ColorTranslator.FromHtml(value);
|
||||
return color;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
throw new Exception(@"Configuration Error: ""Client - TranspColor"" is not a valid Hex Color");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static Constants.Rendering ValidateRendering(string value)
|
||||
{
|
||||
if (value.ToUpper().Equals("CPU"))
|
||||
return Constants.Rendering.CPU;
|
||||
else if (value.ToUpper().Equals("GPU"))
|
||||
return Constants.Rendering.GPU;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Client - RenderingMethod"" is not a valid Rendering Method");
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static bool ValidateSecScreen(string value)
|
||||
{
|
||||
Boolean secScreen;
|
||||
if (Boolean.TryParse(value, out secScreen))
|
||||
return secScreen;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Client - RunningOnSecondaryScreen"" is not a valid Boolean Type");
|
||||
|
||||
}
|
||||
private static bool ValidateIsSCM(string value)
|
||||
{
|
||||
Boolean IsSCM;
|
||||
if (Boolean.TryParse(value, out IsSCM))
|
||||
return IsSCM;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Client - IsSCM"" is not a valid Boolean Type");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static bool ValidateVirtualKeyboard(string value)
|
||||
{
|
||||
Boolean keyboard;
|
||||
if (Boolean.TryParse(value, out keyboard))
|
||||
return keyboard;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Client - ShowVirtualKeyboard"" is not a valid Boolean Type");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static bool ValidateDeveloperMode(string value)
|
||||
{
|
||||
Boolean DeveloperMode;
|
||||
if (Boolean.TryParse(value, out DeveloperMode))
|
||||
return DeveloperMode;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Client - DeveloperMode"" is not a valid Boolean Type");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static Boolean ValidateFollowNcWin(String value)
|
||||
{
|
||||
Boolean FollowNc;
|
||||
if (Boolean.TryParse(value, out FollowNc))
|
||||
return FollowNc;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""VendorHmi - FollowNcWindow"" is not a valid Boolean Type");
|
||||
}
|
||||
|
||||
|
||||
private static ushort ValidateClientID(String value)
|
||||
{
|
||||
ushort Client;
|
||||
if (ushort.TryParse(value, out Client))
|
||||
return Client;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Connection - Id"" is not a valid Id of CMS-Client");
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static Boolean ValidateDelCache(String value)
|
||||
{
|
||||
Boolean DelCache;
|
||||
if (Boolean.TryParse(value, out DelCache))
|
||||
return DelCache;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Connection - DeleteCahceFolderOnStartup"" is not a valid Boolean Type");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static String ValidateSFTPath(String value)
|
||||
{
|
||||
if (File.Exists(value))
|
||||
return value;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: File """ + value + @""" not found");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static String ValidateSFTSName(String value)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(value))
|
||||
{
|
||||
if (value.Count() <= 3)
|
||||
return value;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: Short Name """ + value + @""" cannot be over 3 Letters");
|
||||
}
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Client - IsSCM"" is not a valid Boolean Type");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static bool ValidateVirtualKeyboard(string value)
|
||||
{
|
||||
Boolean keyboard;
|
||||
if (Boolean.TryParse(value, out keyboard))
|
||||
return keyboard;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Client - ShowVirtualKeyboard"" is not a valid Boolean Type");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static bool ValidateDeveloperMode(string value)
|
||||
{
|
||||
Boolean DeveloperMode;
|
||||
if (Boolean.TryParse(value, out DeveloperMode))
|
||||
return DeveloperMode;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Client - DeveloperMode"" is not a valid Boolean Type");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static Boolean ValidateFollowNcWin(String value)
|
||||
{
|
||||
Boolean FollowNc;
|
||||
if (Boolean.TryParse(value, out FollowNc))
|
||||
return FollowNc;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""VendorHmi - FollowNcWindow"" is not a valid Boolean Type");
|
||||
}
|
||||
|
||||
|
||||
private static ushort ValidateClientID(String value)
|
||||
{
|
||||
ushort Client;
|
||||
if (ushort.TryParse(value, out Client))
|
||||
return Client;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Connection - Id"" is not a valid Id of CMS-Client");
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static Boolean ValidateDelCache(String value)
|
||||
{
|
||||
Boolean DelCache;
|
||||
if (Boolean.TryParse(value, out DelCache))
|
||||
return DelCache;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: ""Connection - DeleteCahceFolderOnStartup"" is not a valid Boolean Type");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static String ValidateSFTPath(String value)
|
||||
{
|
||||
if(File.Exists(value))
|
||||
return value;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: File """+ value + @""" not found");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static String ValidateSFTSName(String value)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(value))
|
||||
{
|
||||
if (value.Count() <= 3)
|
||||
return value;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: Short Name """ + value + @""" cannot be over 3 Letters");
|
||||
}
|
||||
else
|
||||
throw new Exception(@"Configuration Error: Software Short Name Must be setted");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static bool ValidateInMainMenuBar(String value)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(value))
|
||||
{
|
||||
return Boolean.Parse(value);
|
||||
}
|
||||
else
|
||||
}
|
||||
|
||||
|
||||
private static bool ValidateInMainMenuBar(String value)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(value))
|
||||
{
|
||||
return Boolean.Parse(value);
|
||||
}
|
||||
else
|
||||
throw new Exception(@"Configuration Error: In-Main-Menu-Bar Must be setted");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static String ValidateSFTLName(String value)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(value))
|
||||
return value;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: Software Long Name Must be setted");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static String ExtractBase64Icon(String value)
|
||||
{
|
||||
Image im = Icon.ExtractAssociatedIcon(value).ToBitmap();
|
||||
MemoryStream m = new MemoryStream();
|
||||
im.Save(m, ImageFormat.Png);
|
||||
return "data:image/png;base64," + Convert.ToBase64String(m.ToArray());
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static String ValidateSFTLName(String value)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(value))
|
||||
return value;
|
||||
else
|
||||
throw new Exception(@"Configuration Error: Software Long Name Must be setted");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static String ExtractBase64Icon(String value)
|
||||
{
|
||||
Image im = Icon.ExtractAssociatedIcon(value).ToBitmap();
|
||||
MemoryStream m = new MemoryStream();
|
||||
im.Save(m, ImageFormat.Png);
|
||||
return "data:image/png;base64," + Convert.ToBase64String(m.ToArray());
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Le informazioni generali relative a un assembly sono controllate dal seguente
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Client.Utils.Constants;
|
||||
|
||||
namespace Client.Config.SubModels
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Client.Config.SubModels
|
||||
{
|
||||
@@ -15,6 +11,6 @@ namespace Client.Config.SubModels
|
||||
public string ReadConfigUrl { get; set; }
|
||||
public Boolean DeleteCahceFolderOnStartup { get; set; }
|
||||
public Boolean BypassReadConfiguration { get; set; }
|
||||
public string ErrorPage { get; set; }
|
||||
public string ErrorPage { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Client.Config.SubModels
|
||||
namespace Client.Config.SubModels
|
||||
{
|
||||
public class ProdSoftware
|
||||
{
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Client.Config.SubModels
|
||||
{
|
||||
@@ -15,8 +11,8 @@ namespace Client.Config.SubModels
|
||||
public string ProdEnabled { get; set; }
|
||||
public string ProdPath { get; set; }
|
||||
public string Autorun { get; set; }
|
||||
public string EditorPath { get; set; }
|
||||
|
||||
public string EditorPath { get; set; }
|
||||
|
||||
public List<Software> ExtSoftwares { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Client.Config.SubModels
|
||||
{
|
||||
[DataContract]
|
||||
public class Software
|
||||
{
|
||||
{
|
||||
[DataMember]
|
||||
public string id { get; set; }
|
||||
[DataMember]
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Client.Config.SubModels
|
||||
{
|
||||
|
||||
+25
-30
@@ -1,44 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Client.Utils
|
||||
namespace Client.Utils
|
||||
{
|
||||
public static class Constants
|
||||
{
|
||||
|
||||
//Folders
|
||||
public static string BASE_PATH = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\";
|
||||
public static string BROWSER_CACHE_FOLDER = BASE_PATH + "LocalStorage";
|
||||
public static string BASE_PATH = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + "\\";
|
||||
//public static string BASE_PATH = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\";
|
||||
public static string BROWSER_CACHE_FOLDER = BASE_PATH + "LocalStorage";
|
||||
public static string STARTUP_CONFIG_SCHEMA_PATH = BASE_PATH + "ClientValidator.xsd";
|
||||
public static string STARTUP_CONFIG_PATH = BASE_PATH + "Config.xml";
|
||||
public static string CEF_PATH = BASE_PATH + "CEF";
|
||||
public static string CEF_X86_PATH = BASE_PATH + "CEF\\Release_X86";
|
||||
public static string CEF_X64_PATH = BASE_PATH + "CEF\\Release_X64";
|
||||
public static string CEF_LOCALES_PATH = BASE_PATH + "CEF\\Resources\\locales";
|
||||
public static string CEF_EXCEPTIONLOG_PATH = BASE_PATH + "ExceptionLog";
|
||||
public static string errorPageFile = BASE_PATH + "error.pg";
|
||||
public static string JOB_OPENING_PATH = "C:\\CMS\\ACTIVE\\TMP\\clientTmpJob\\";
|
||||
public static string PART_PRG_FOLDER = "C:\\PartPrg";
|
||||
public static string STARTUP_CONFIG_PATH = BASE_PATH + "lib\\Config.xml";
|
||||
public static string CEF_PATH = BASE_PATH + "CEF";
|
||||
public static string CEF_X86_PATH = BASE_PATH + "CEF\\Release_X86";
|
||||
public static string CEF_X64_PATH = BASE_PATH + "CEF\\Release_X64";
|
||||
public static string CEF_LOCALES_PATH = BASE_PATH + "CEF\\Resources\\locales";
|
||||
public static string CEF_EXCEPTIONLOG_PATH = BASE_PATH + "ExceptionLog";
|
||||
public static string errorPageFile = BASE_PATH + "error.pg";
|
||||
public static string JOB_OPENING_PATH = "C:\\CMS\\ThermoActive\\TMP\\clientTmpJob\\";
|
||||
public static string PART_PRG_FOLDER = "C:\\PartPrg";
|
||||
|
||||
//Config Names
|
||||
public const string CONFIG_KEY = "Config";
|
||||
public const string CLIENT_CONFIG_KEY = "Client";
|
||||
public const string CONNECTION_CONFIG_KEY = "Connection";
|
||||
public const string VENDORHMI_CONFIG_KEY = "VendorHmi";
|
||||
public const string EXTSFT_CONFIG_KEY = "ExtSoftwares";
|
||||
public const string SFT_CONFIG_KEY = "Software";
|
||||
public const string JOB_MAIN_FILENAME = "main.cnc";
|
||||
public const string JOB_METADATA_FILENAME = "metadata.json";
|
||||
public enum Rendering {GPU = 0, CPU = 1 };
|
||||
public const string CONFIG_KEY = "Config";
|
||||
public const string CLIENT_CONFIG_KEY = "Client";
|
||||
public const string CONNECTION_CONFIG_KEY = "Connection";
|
||||
public const string VENDORHMI_CONFIG_KEY = "VendorHmi";
|
||||
public const string EXTSFT_CONFIG_KEY = "ExtSoftwares";
|
||||
public const string SFT_CONFIG_KEY = "Software";
|
||||
public const string JOB_MAIN_FILENAME = "main.cnc";
|
||||
public const string JOB_METADATA_FILENAME = "metadata.json";
|
||||
public enum Rendering { GPU = 0, CPU = 1 };
|
||||
|
||||
|
||||
|
||||
//BROWSER OBJECT NAME -> The first letter must be Lower-Case (CEF Settings)
|
||||
public const string BROWSER_JS_OBJ_NAME = "cmsClient";
|
||||
|
||||
|
||||
//Nc States
|
||||
public enum NcState { HIDE = 0, SHOW = 1, SHOWPROD = 2 };
|
||||
|
||||
@@ -68,13 +63,13 @@ namespace Client.Utils
|
||||
|
||||
//KEYBOARD Constants
|
||||
public const int KEYB_HEIGHT = 377;
|
||||
public const int KEYB_WIDTH = 1134;
|
||||
public const int KEYB_WIDTH = 1134;
|
||||
public const int KEYB_Y_OFFSET = 15;
|
||||
public const string KEYB_EXE_NAME = "OSK.EXE";
|
||||
public const string KEYB_PROC_NAME = "OSK";
|
||||
|
||||
public const string StartingPage = "index.html";
|
||||
public const string UPLOAD_PAGE = "/api/file_manager/upload";
|
||||
public const string UPLOAD_PAGE = "/api/file_manager/upload";
|
||||
public const string UPLOAD_ADD_QUEUE = "/api/file_manager/queue/add";
|
||||
public const string ConfigPage = "api/configuration/client";
|
||||
public const string errorPageUrl = @"error://error/";
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Le informazioni generali relative a un assembly sono controllate dal seguente
|
||||
|
||||
+8
-3
@@ -1,6 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
|
||||
</startup>
|
||||
</configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<probing privatePath="lib;libs" />
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -1,13 +1,13 @@
|
||||
using Chromium;
|
||||
using Active_Client.Browser_Tools.Models;
|
||||
using Active_Client.Browser_Tools.Models.Errors;
|
||||
using Active_Client.Browser_Tools.Models.Metadata;
|
||||
using Active_Client.View;
|
||||
using Chromium;
|
||||
using Chromium.Remote;
|
||||
using Chromium.Remote.Event;
|
||||
using Chromium.WebBrowser;
|
||||
using Client.Config;
|
||||
using Client.Config.SubModels;
|
||||
using Client.Utils;
|
||||
using Active_Client.Browser_Tools.Models;
|
||||
using Active_Client.Browser_Tools.Models.Errors;
|
||||
using Active_Client.Browser_Tools.Models.Metadata;
|
||||
using Active_Client.View;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -15,13 +15,12 @@ using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Management;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using static Client.Utils.Constants;
|
||||
using System.Management;
|
||||
using Chromium.Remote;
|
||||
using System.Text;
|
||||
|
||||
namespace Active_Client.Browser_Tools
|
||||
{
|
||||
@@ -56,7 +55,7 @@ namespace Active_Client.Browser_Tools
|
||||
{
|
||||
mainForm = f;
|
||||
|
||||
AddDynamicProperty("RECENT_FOLDER_KEY").PropertyGet += getProp;
|
||||
AddDynamicProperty("RECENT_FOLDER_KEY").PropertyGet += getProp;
|
||||
|
||||
AddFunction("minimizeForm").Execute += minimizeForm;
|
||||
AddFunction("maximizeForm").Execute += maximizeForm;
|
||||
@@ -383,7 +382,7 @@ namespace Active_Client.Browser_Tools
|
||||
Path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\",
|
||||
Type = "SPFO"
|
||||
});
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
// Network Folders
|
||||
@@ -429,7 +428,7 @@ namespace Active_Client.Browser_Tools
|
||||
|
||||
try
|
||||
{
|
||||
if(p == RECENT_FOLDER_KEY)
|
||||
if (p == RECENT_FOLDER_KEY)
|
||||
{
|
||||
filelist = GetLastUploadedFiles();
|
||||
}
|
||||
@@ -556,9 +555,9 @@ namespace Active_Client.Browser_Tools
|
||||
// }
|
||||
//}
|
||||
|
||||
foreach(FileModel file in files)
|
||||
foreach (FileModel file in files)
|
||||
{
|
||||
if(!file.IsMain)
|
||||
if (!file.IsMain)
|
||||
form.Add(new ByteArrayContent(File.ReadAllBytes(file.AbsolutePath)), "file", Path.GetFileName(file.AbsolutePath));
|
||||
}
|
||||
|
||||
@@ -745,13 +744,13 @@ namespace Active_Client.Browser_Tools
|
||||
func = e.Arguments[1],
|
||||
file = p
|
||||
};
|
||||
|
||||
|
||||
Thread t = new Thread(startNewEditor);
|
||||
t.Start();
|
||||
}
|
||||
|
||||
public void startNewEditor()
|
||||
{
|
||||
{
|
||||
Process proc = new Process
|
||||
{
|
||||
StartInfo = new ProcessStartInfo()
|
||||
@@ -769,7 +768,7 @@ namespace Active_Client.Browser_Tools
|
||||
|
||||
public void cleanFileWatcher(object sender, CfrV8HandlerExecuteEventArgs e)
|
||||
{
|
||||
if(watcher != null)
|
||||
if (watcher != null)
|
||||
{
|
||||
watcher.EnableRaisingEvents = false;
|
||||
|
||||
@@ -832,7 +831,7 @@ namespace Active_Client.Browser_Tools
|
||||
else
|
||||
isFirst = false;
|
||||
|
||||
stringBuilder.Append(stringVal);
|
||||
stringBuilder.Append(stringVal);
|
||||
}
|
||||
|
||||
File.WriteAllLines(RECENT_FILE_PATH, stringBuilder.ToString()
|
||||
@@ -865,7 +864,7 @@ namespace Active_Client.Browser_Tools
|
||||
{
|
||||
if (file.FileExist && !file.IsMain)
|
||||
files.Add(file);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
// Check if software need to upload all the files
|
||||
@@ -881,7 +880,7 @@ namespace Active_Client.Browser_Tools
|
||||
files.Add(new FileModel()
|
||||
{
|
||||
AbsolutePath = subfileName,
|
||||
FileExist = true,
|
||||
FileExist = true,
|
||||
IsDirectory = false,
|
||||
IsMain = false,
|
||||
Name = Path.GetFileName(subfileName),
|
||||
@@ -969,7 +968,7 @@ namespace Active_Client.Browser_Tools
|
||||
//Task to execute
|
||||
var task = new CfrTask();
|
||||
task.Execute += (s, e) =>
|
||||
{
|
||||
{
|
||||
context.Enter();
|
||||
var args = new CfrV8Value[] { arguments };
|
||||
functionIstance.ExecuteFunction(null, args); //execute callback, nothing happens here
|
||||
@@ -1176,7 +1175,7 @@ namespace Active_Client.Browser_Tools
|
||||
{
|
||||
// Find metadata.json file
|
||||
var file = zipArchive.Entries.Where(x => x.FullName == JOB_METADATA_FILENAME).FirstOrDefault();
|
||||
if(file == null)
|
||||
if (file == null)
|
||||
{
|
||||
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("error_corrupted_model")));
|
||||
return;
|
||||
@@ -1342,7 +1341,7 @@ namespace Active_Client.Browser_Tools
|
||||
{
|
||||
ZipFile.CreateFromDirectory(JOB_OPENING_PATH, jobPath);
|
||||
}
|
||||
catch(Exception ex)
|
||||
catch (Exception ex)
|
||||
{
|
||||
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("error_save_file")));
|
||||
return;
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models
|
||||
{
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models.Errors
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models
|
||||
namespace Active_Client.Browser_Tools.Models
|
||||
{
|
||||
public class FileModel
|
||||
{
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models
|
||||
{
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
using Active_Client.Browser_Tools.Models.Metadata;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models
|
||||
{
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models.Metadata
|
||||
{
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models.Metadata
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models.Metadata
|
||||
namespace Active_Client.Browser_Tools.Models.Metadata
|
||||
{
|
||||
public class ImageParam
|
||||
{
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models.Metadata
|
||||
{
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models.Metadata
|
||||
{
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
using Active_Client.Browser_Tools.Models.Metadata;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Active_Client.Browser_Tools.Models
|
||||
{
|
||||
|
||||
@@ -288,4 +288,10 @@
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Target Name="AfterBuild">
|
||||
<ItemGroup>
|
||||
<MoveToLibFolder Exclude="Config.xml" Include="$(OutputPath)*.dll ; $(OutputPath)*.pdb ; $(OutputPath)*.xml" />
|
||||
</ItemGroup>
|
||||
<Move SourceFiles="@(MoveToLibFolder)" DestinationFolder="$(OutputPath)lib" OverwriteReadOnlyFiles="true" />
|
||||
</Target>
|
||||
</Project>
|
||||
+28
-31
@@ -1,21 +1,17 @@
|
||||
using Chromium;
|
||||
using Active_Client.View;
|
||||
using Chromium;
|
||||
using Chromium.Event;
|
||||
using Chromium.WebBrowser;
|
||||
using Chromium.WebBrowser.Event;
|
||||
using Client.Config;
|
||||
using Client.Utils;
|
||||
using Active_Client.View;
|
||||
using Microsoft.Win32;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Management;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Active_Client
|
||||
@@ -37,8 +33,8 @@ namespace Active_Client
|
||||
|
||||
//Crate General Exception Handler
|
||||
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(GeneralExMethod);
|
||||
|
||||
//Read App Configuration
|
||||
|
||||
//Read App Configuration
|
||||
readConfiguration();
|
||||
|
||||
//Initialize Chromium
|
||||
@@ -66,9 +62,9 @@ namespace Active_Client
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
|
||||
//Check Graphic Card in Energy Saving mode
|
||||
checkGraphicCard();
|
||||
|
||||
//Run the Loading Form
|
||||
checkGraphicCard();
|
||||
|
||||
//Run the Loading Form
|
||||
Application.Run(new OpeningForm());
|
||||
|
||||
//Run the Main-Browser Form
|
||||
@@ -76,14 +72,14 @@ namespace Active_Client
|
||||
|
||||
//Force show Taskbar
|
||||
NcWindow.ShowTaskBar();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
#region CONFIG_METHODS
|
||||
|
||||
//Sub-Method used to read the configuration
|
||||
|
||||
//Sub-Method used to read the configuration
|
||||
static private void readConfiguration()
|
||||
{
|
||||
//Read the Config
|
||||
@@ -107,7 +103,8 @@ namespace Active_Client
|
||||
{
|
||||
//Prepare List of Cards
|
||||
String Cardlist = "";
|
||||
foreach (ManagementObject card in VideoCards){
|
||||
foreach (ManagementObject card in VideoCards)
|
||||
{
|
||||
Cardlist = Cardlist + " - " + card["Name"] + "\n";
|
||||
}
|
||||
|
||||
@@ -121,7 +118,7 @@ namespace Active_Client
|
||||
{
|
||||
//code if key Not Exist add it and restart
|
||||
Registry.SetValue(keyName, valueName, "GpuPreference=1;");
|
||||
MessageBox.Show("Active has foundthis Graphic Cards:\n\n" + Cardlist +"\nThe graphic configuration has been setted. Press Ok to restart the Application",Application.ProductName);
|
||||
MessageBox.Show("Active has foundthis Graphic Cards:\n\n" + Cardlist + "\nThe graphic configuration has been setted. Press Ok to restart the Application", Application.ProductName);
|
||||
Application.Restart();
|
||||
Environment.Exit(0);
|
||||
}
|
||||
@@ -143,10 +140,10 @@ namespace Active_Client
|
||||
if (CfxRuntime.PlatformArch == CfxPlatformArch.x64)
|
||||
CfxRuntime.LibCefDirPath = Constants.CEF_X64_PATH;
|
||||
else
|
||||
CfxRuntime.LibCefDirPath = Constants.CEF_X86_PATH;
|
||||
|
||||
|
||||
//Add the event variables
|
||||
CfxRuntime.LibCefDirPath = Constants.CEF_X86_PATH;
|
||||
|
||||
|
||||
//Add the event variables
|
||||
ChromiumWebBrowser.OnBeforeCfxInitialize += Chromium_OnBeforeCfxInitialize;
|
||||
ChromiumWebBrowser.OnBeforeCommandLineProcessing += Chromium_OnBeforeCommandLineProcessing;
|
||||
|
||||
@@ -167,11 +164,11 @@ namespace Active_Client
|
||||
static void Chromium_OnBeforeCommandLineProcessing(CfxOnBeforeCommandLineProcessingEventArgs e)
|
||||
{
|
||||
if (Config.ClientConfig.RenderingMethod == Constants.Rendering.CPU)
|
||||
e.CommandLine.AppendSwitch("--disable-gpu");
|
||||
|
||||
e.CommandLine.AppendSwitch("--disable-gpu");
|
||||
|
||||
e.CommandLine.AppendSwitch("--enable-transparent-visuals");
|
||||
e.CommandLine.AppendSwitch("--disable-pinch");
|
||||
e.CommandLine.AppendSwitch("--enable-media-stream");
|
||||
e.CommandLine.AppendSwitch("--enable-media-stream");
|
||||
e.CommandLine.AppendSwitch("--enable-usermedia-screen-capture");
|
||||
e.CommandLine.AppendSwitch("--no-proxy-server");
|
||||
|
||||
@@ -188,7 +185,7 @@ namespace Active_Client
|
||||
e.Settings.CachePath = Constants.BROWSER_CACHE_FOLDER;
|
||||
e.Settings.LocalesDirPath = Constants.CEF_LOCALES_PATH;
|
||||
e.Settings.ResourcesDirPath = CfxRuntime.LibCefDirPath;
|
||||
e.Settings.Locale = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName ;
|
||||
e.Settings.Locale = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
|
||||
}
|
||||
|
||||
|
||||
@@ -218,10 +215,10 @@ namespace Active_Client
|
||||
MessageBoxDefaultButton.Button1
|
||||
);
|
||||
Environment.Exit(-1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void GeneralExMethod(object sender, UnhandledExceptionEventArgs args)
|
||||
{
|
||||
Exception e = (Exception)args.ExceptionObject;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Le informazioni generali relative a un assembly sono controllate dal seguente
|
||||
|
||||
@@ -1,26 +1,14 @@
|
||||
using Microsoft.WindowsAPICodePack.Taskbar;
|
||||
using Client.Config;
|
||||
using Client.Config;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Client.Utils;
|
||||
using System.IO;
|
||||
|
||||
namespace Active_Client.View
|
||||
{
|
||||
public partial class LoadingForm : MetroFramework.Forms.MetroForm
|
||||
{
|
||||
|
||||
//Constructor
|
||||
{
|
||||
|
||||
//Constructor
|
||||
public LoadingForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -37,7 +25,7 @@ namespace Active_Client.View
|
||||
}
|
||||
|
||||
//Set window Position
|
||||
this.Location = new Point((Screen.PrimaryScreen.Bounds.Width / 2) - (this.Width / 2), (Screen.PrimaryScreen.Bounds.Height / 2) - (this.Height / 2));
|
||||
this.Location = new Point((Screen.PrimaryScreen.Bounds.Width / 2) - (this.Width / 2), (Screen.PrimaryScreen.Bounds.Height / 2) - (this.Height / 2));
|
||||
}
|
||||
|
||||
|
||||
|
||||
+21
-22
@@ -1,16 +1,15 @@
|
||||
using Chromium;
|
||||
using Active_Client.Browser_Tools;
|
||||
using Chromium;
|
||||
using Chromium.Event;
|
||||
using Chromium.Remote.Event;
|
||||
using Chromium.WebBrowser;
|
||||
using Client.Config;
|
||||
using Client.Utils;
|
||||
using Active_Client.Browser_Tools;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using static Client.Utils.Constants;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Active_Client.View
|
||||
{
|
||||
@@ -31,7 +30,7 @@ namespace Active_Client.View
|
||||
private LoadingForm LdFrm;
|
||||
private static IntPtr MainHandle;
|
||||
private static IntPtr NcHandle;
|
||||
private static IntPtr ProdHandle;
|
||||
private static IntPtr ProdHandle;
|
||||
private int X = 0, Y = 0;
|
||||
private string BrokenUrl;
|
||||
private Boolean closeRight = false;
|
||||
@@ -54,7 +53,7 @@ namespace Active_Client.View
|
||||
//Setup the Icon
|
||||
if (Config.ClientConfig.IsSCM)
|
||||
this.Icon = Properties.Resources.MAESTRO_ACTIVE_ICON;
|
||||
|
||||
|
||||
//Start Client Setting
|
||||
InitializeClientSettings();
|
||||
|
||||
@@ -83,7 +82,7 @@ namespace Active_Client.View
|
||||
{
|
||||
var candidate = Screen.PrimaryScreen;
|
||||
// If primary screen is not full HD find another screen
|
||||
if(candidate.WorkingArea.Width != 1920)
|
||||
if (candidate.WorkingArea.Width != 1920)
|
||||
{
|
||||
foreach (var s in Screen.AllScreens)
|
||||
{
|
||||
@@ -125,7 +124,7 @@ namespace Active_Client.View
|
||||
|
||||
if (Config.VendorHmiConfig.Type == 3)
|
||||
NcWindow.MinimizeNcWindow();
|
||||
|
||||
|
||||
if (Config.VendorHmiConfig.Enabled)
|
||||
NcFrm.Hide();
|
||||
if (Config.ProdSoftwareConfig.Enabled)
|
||||
@@ -148,7 +147,7 @@ namespace Active_Client.View
|
||||
{
|
||||
ShowNCWindow();
|
||||
}
|
||||
else if(NcWindow.State == NcState.SHOWPROD)
|
||||
else if (NcWindow.State == NcState.SHOWPROD)
|
||||
{
|
||||
ShowProdWindow();
|
||||
}
|
||||
@@ -172,7 +171,7 @@ namespace Active_Client.View
|
||||
//Close the NC HMI && Stop Following Nc
|
||||
if (Config.VendorHmiConfig.Enabled)
|
||||
NcWindow.CloseNcWindow(false);
|
||||
|
||||
|
||||
|
||||
if (Config.ProdSoftwareConfig.Enabled)
|
||||
NcWindow.CloseProdWindow(false);
|
||||
@@ -186,7 +185,7 @@ namespace Active_Client.View
|
||||
try
|
||||
{
|
||||
CfxRuntime.Shutdown();
|
||||
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
@@ -197,7 +196,7 @@ namespace Active_Client.View
|
||||
|
||||
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if(!closeRight)
|
||||
if (!closeRight)
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
@@ -272,7 +271,7 @@ namespace Active_Client.View
|
||||
|
||||
private void BeforeDownload(object sender, CfxOnBeforeDownloadEventArgs e)
|
||||
{
|
||||
e.Callback.Continue("",true);
|
||||
e.Callback.Continue("", true);
|
||||
}
|
||||
|
||||
//On browser Load-Error. Event Handler called by Browser
|
||||
@@ -478,7 +477,7 @@ namespace Active_Client.View
|
||||
private void ShowWindow()
|
||||
{
|
||||
|
||||
if(Config.ClientConfig.DeveloperMode && Width < 1920 && Height < 1080)
|
||||
if (Config.ClientConfig.DeveloperMode && Width < 1920 && Height < 1080)
|
||||
{
|
||||
double ratio = (((double)Width) / 1920.0) * 100.0;
|
||||
//Funzione sperimentale presa da Forum CEF
|
||||
@@ -513,7 +512,7 @@ namespace Active_Client.View
|
||||
w = NcFrm.Width;
|
||||
h = NcFrm.Height;
|
||||
}
|
||||
else if(Config.ProdSoftwareConfig.Enabled)
|
||||
else if (Config.ProdSoftwareConfig.Enabled)
|
||||
{
|
||||
w = ProdFrm.Width;
|
||||
h = ProdFrm.Height;
|
||||
@@ -560,8 +559,8 @@ namespace Active_Client.View
|
||||
if (InvokeRequired)
|
||||
Invoke((MethodInvoker)delegate ()
|
||||
{
|
||||
//Set Message Status
|
||||
LdFrm.Show(Message);
|
||||
//Set Message Status
|
||||
LdFrm.Show(Message);
|
||||
LdFrm.Focus();
|
||||
});
|
||||
else
|
||||
@@ -705,7 +704,7 @@ namespace Active_Client.View
|
||||
//Hide NC Method
|
||||
public void HideAUXWindow()
|
||||
{
|
||||
if ((!Config.VendorHmiConfig.Enabled && !Config.ProdSoftwareConfig.Enabled) || (NcFrm==null && ProdFrm == null))
|
||||
if ((!Config.VendorHmiConfig.Enabled && !Config.ProdSoftwareConfig.Enabled) || (NcFrm == null && ProdFrm == null))
|
||||
return;
|
||||
|
||||
//Invoke method if is needed or call the method in STD mode
|
||||
@@ -728,7 +727,7 @@ namespace Active_Client.View
|
||||
|
||||
else
|
||||
{
|
||||
if (NcFrm != null && NcFrm.Owner != null)
|
||||
if (NcFrm != null && NcFrm.Owner != null)
|
||||
NcFrm.Owner = null;
|
||||
if (ProdFrm != null && ProdFrm.Owner != null)
|
||||
ProdFrm.Owner = null;
|
||||
@@ -770,7 +769,7 @@ namespace Active_Client.View
|
||||
if (ss.Bounds.Width != 1920 && ss.Bounds.Height != 1080)
|
||||
{
|
||||
HideLoadingWindow();
|
||||
if(Config.VendorHmiConfig.Enabled)
|
||||
if (Config.VendorHmiConfig.Enabled)
|
||||
NcWindow.CloseNcWindow(false);
|
||||
if (Config.ProdSoftwareConfig.Enabled)
|
||||
NcWindow.CloseProdWindow(false);
|
||||
@@ -778,8 +777,8 @@ namespace Active_Client.View
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
else
|
||||
{
|
||||
if (Config.ClientConfig.DeveloperMode)
|
||||
{
|
||||
//Set the Prymary screen Size
|
||||
@@ -789,7 +788,7 @@ namespace Active_Client.View
|
||||
this.Height = ps.Bounds.Height;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ps.Bounds.Width != 1920 && ps.Bounds.Height != 1080)
|
||||
|
||||
+3
-10
@@ -1,18 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Active_Client.View
|
||||
{
|
||||
public partial class NcForm : Form
|
||||
{
|
||||
public NcForm(Color TranspColor,int PosX,int PosY)
|
||||
public NcForm(Color TranspColor, int PosX, int PosY)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
@@ -37,7 +30,7 @@ namespace Active_Client.View
|
||||
|
||||
private void NcForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if(e.CloseReason == CloseReason.UserClosing)
|
||||
if (e.CloseReason == CloseReason.UserClosing)
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
+30
-31
@@ -1,9 +1,8 @@
|
||||
using Chromium.Remote;
|
||||
using Active_Client.Properties;
|
||||
using Chromium.Remote;
|
||||
using Client.Config;
|
||||
using Client.Utils;
|
||||
using Active_Client.Properties;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
@@ -60,7 +59,7 @@ namespace Active_Client.View
|
||||
private static int LastX, LastY;
|
||||
private static int LastWidth = 1024, LastHeight = 768;
|
||||
private static IntPtr hhook;
|
||||
private static IntPtr hhookWindow;
|
||||
private static IntPtr hhookWindow;
|
||||
private static IntPtr keybhook;
|
||||
private static IntPtr MainViewHandle;
|
||||
private static IntPtr TaskBarHandle;
|
||||
@@ -70,7 +69,7 @@ namespace Active_Client.View
|
||||
private static uint ProdProcessPID;
|
||||
private static uint ActualPID;
|
||||
private static WinEventDelegate procDelegate;
|
||||
private static WinEventDelegate procDelegateWindow;
|
||||
private static WinEventDelegate procDelegateWindow;
|
||||
private static keyboardHookProc keybDelegate;
|
||||
private static uint LastdwmsEventTime;
|
||||
private static uint LastHookedPID;
|
||||
@@ -102,13 +101,13 @@ namespace Active_Client.View
|
||||
private static int ActiveWindowNCWindowStyle;
|
||||
private static int ActiveWindowNCWindowBorder;
|
||||
private static uint ActiveWindowNCPopUp;
|
||||
private static uint ActiveNCWindowNCPopUp;
|
||||
|
||||
|
||||
private static uint ActiveNCWindowNCPopUp;
|
||||
|
||||
|
||||
public static MainForm mainFrm;
|
||||
private static string prodEXEname;
|
||||
|
||||
|
||||
private static string prodEXEname;
|
||||
|
||||
|
||||
public static NcState State { get { return state; } }
|
||||
private static NcState state;
|
||||
|
||||
@@ -263,8 +262,8 @@ namespace Active_Client.View
|
||||
|
||||
//Maximize Window if is Osai
|
||||
if (Config.VendorHmiConfig.Type == 3)
|
||||
ShowWindow(ncprocess.MainWindowHandle, SW_SHOWMAXIMIZED);
|
||||
|
||||
ShowWindow(ncprocess.MainWindowHandle, SW_SHOWMAXIMIZED);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -681,8 +680,8 @@ namespace Active_Client.View
|
||||
|
||||
//Stop following Nc Window (bring-to-font the main window) -> ONLY FOR OSAI System!
|
||||
public static void StopNcFollowing()
|
||||
{
|
||||
//Detach the hook
|
||||
{
|
||||
//Detach the hook
|
||||
if (hhook != IntPtr.Zero)
|
||||
UnhookWinEvent(hhook);
|
||||
|
||||
@@ -984,9 +983,9 @@ namespace Active_Client.View
|
||||
#region WINDOWS_EVENT_OVERRIDE
|
||||
|
||||
private static void WinEventProcWindow(IntPtr hWinEventHook, uint eventType, IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime)
|
||||
{
|
||||
|
||||
//Read the actual ID of the Process
|
||||
{
|
||||
|
||||
//Read the actual ID of the Process
|
||||
GetWindowThreadProcessId(hwnd, out ActualWindowPID);
|
||||
if (ActualWindowPID == NcProcessPID && NcProcessPID != 0 && hWinEventHook != ncprocess.MainWindowHandle)
|
||||
{
|
||||
@@ -998,7 +997,7 @@ namespace Active_Client.View
|
||||
ActiveWindowNCPopUp = ((uint)ActiveWindowNCWindowStyle & WS_POPUP);
|
||||
|
||||
//if it has the border and a title execute focus
|
||||
if (ActiveWindowNCWindowStyle != 0 && (((ActiveWindowNCWindowBorder == WS_BORDER) && ReadWindowTitle(hwnd) != "") || (ActiveWindowNCPopUp == WS_POPUP) ))
|
||||
if (ActiveWindowNCWindowStyle != 0 && (((ActiveWindowNCWindowBorder == WS_BORDER) && ReadWindowTitle(hwnd) != "") || (ActiveWindowNCPopUp == WS_POPUP)))
|
||||
{
|
||||
if (eventType == EVENT_OBJECT_CREATE)
|
||||
{
|
||||
@@ -1006,8 +1005,8 @@ namespace Active_Client.View
|
||||
}
|
||||
else if (eventType == EVENT_OBJECT_DESTROY)
|
||||
SetWindowPos(MainViewHandle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_SHOWWINDOW);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1036,13 +1035,13 @@ namespace Active_Client.View
|
||||
//if it has the border and a title execute focus
|
||||
if (ActiveNCWindowStyle != 0 && ((ActiveNCWindowBorder == WS_BORDER && ReadWindowTitle(hwnd) != "") || (ActiveNCWindowNCPopUp == WS_POPUP)) && hwnd != ncprocess.MainWindowHandle)
|
||||
{
|
||||
Console.WriteLine("Handle: " + hwnd + " MainWindowHandle" + ncprocess.MainWindowHandle);
|
||||
SetWindowPos(ncprocess.MainWindowHandle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_SHOWWINDOW);
|
||||
Console.WriteLine("Handle: " + hwnd + " MainWindowHandle" + ncprocess.MainWindowHandle);
|
||||
SetWindowPos(ncprocess.MainWindowHandle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_SHOWWINDOW);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//If the PID is the STEP-HMI Process
|
||||
}
|
||||
|
||||
|
||||
//If the PID is the STEP-HMI Process
|
||||
if (ActualPID == MainProcessPID)
|
||||
{
|
||||
if (!IsIconic(MainViewHandle))
|
||||
@@ -1088,9 +1087,9 @@ namespace Active_Client.View
|
||||
//Hook Keyboard Handle
|
||||
private static void KeybEventProc(int nCode, IntPtr wParam, IntPtr lParam)
|
||||
{
|
||||
int Key = Marshal.ReadInt32(lParam);
|
||||
|
||||
//Elaborate Hotkey
|
||||
int Key = Marshal.ReadInt32(lParam);
|
||||
|
||||
//Elaborate Hotkey
|
||||
if (wParam == HWND_KEYDOWN || wParam == HWND_SYSKEYDOWN)
|
||||
{
|
||||
if (Key == 0xA4 || Key == 0xA5)
|
||||
@@ -1120,7 +1119,7 @@ namespace Active_Client.View
|
||||
if (wParam == HWND_SYSKEYDOWN || wParam == HWND_KEYDOWN)
|
||||
mainFrm.keyPressedHandler(altPressed, ctrlPressed, shiftPressed, Key);
|
||||
}
|
||||
if((wParam == HWND_SYSKEYDOWN || wParam == HWND_KEYDOWN) && !altPressed && (KeybPID == MainProcessPID || KeybPID == ProdProcessPID) && state == NcState.SHOW)
|
||||
if ((wParam == HWND_SYSKEYDOWN || wParam == HWND_KEYDOWN) && !altPressed && (KeybPID == MainProcessPID || KeybPID == ProdProcessPID) && state == NcState.SHOW)
|
||||
{
|
||||
//IF Siemens
|
||||
if (Config.VendorHmiConfig.Type == 2)
|
||||
|
||||
+49
-54
@@ -1,22 +1,15 @@
|
||||
using Microsoft.WindowsAPICodePack.Taskbar;
|
||||
using Client.Config;
|
||||
using Client.Config;
|
||||
using Client.Config.SubModels;
|
||||
using Client.Utils;
|
||||
using Microsoft.WindowsAPICodePack.Taskbar;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Client.Utils;
|
||||
using System.IO;
|
||||
using MetroFramework;
|
||||
using Newtonsoft.Json;
|
||||
using Client.Config.SubModels;
|
||||
|
||||
namespace Active_Client.View
|
||||
{
|
||||
@@ -27,7 +20,7 @@ namespace Active_Client.View
|
||||
private HttpWebResponse ConnTestResponse;
|
||||
private String ConnTestError;
|
||||
private Task ConnTask;
|
||||
private ushort WaitDot=1;
|
||||
private ushort WaitDot = 1;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
#region WINDOW_START_&_BEHAVIOUR_METHOD
|
||||
@@ -63,9 +56,9 @@ namespace Active_Client.View
|
||||
private void LoadingForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
//Force on Desktop 1
|
||||
this.DesktopLocation = new Point((Screen.PrimaryScreen.Bounds.Width / 2) - (this.Width / 2), (Screen.PrimaryScreen.Bounds.Height / 2) - (this.Height / 2));
|
||||
|
||||
//Start Backgroud Task
|
||||
this.DesktopLocation = new Point((Screen.PrimaryScreen.Bounds.Width / 2) - (this.Width / 2), (Screen.PrimaryScreen.Bounds.Height / 2) - (this.Height / 2));
|
||||
|
||||
//Start Backgroud Task
|
||||
ConnTask = Task.Run(() => BagroundWorker());
|
||||
}
|
||||
|
||||
@@ -126,28 +119,29 @@ namespace Active_Client.View
|
||||
setOpacity(1);
|
||||
|
||||
//Show the loading state on the app ICON
|
||||
this.Invoke((MethodInvoker)delegate () {TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Indeterminate, this.Handle); });
|
||||
|
||||
//try to Request
|
||||
if(!Config.ConnectionConfig.BypassReadConfiguration)
|
||||
this.Invoke((MethodInvoker)delegate () { TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Indeterminate, this.Handle); });
|
||||
|
||||
//try to Request
|
||||
if (!Config.ConnectionConfig.BypassReadConfiguration)
|
||||
{
|
||||
setStatus("Connecting to " + Config.ConnectionConfig.ServerUrl + ":" + Config.ConnectionConfig.ServerPort, "");
|
||||
|
||||
Boolean error=false;
|
||||
do {
|
||||
Boolean error = false;
|
||||
do
|
||||
{
|
||||
if (error == true)
|
||||
return;
|
||||
} while (!testConnection(new Uri(Config.ConnectionConfig.ReadConfigUrl),out error));
|
||||
} while (!testConnection(new Uri(Config.ConnectionConfig.ReadConfigUrl), out error));
|
||||
|
||||
}
|
||||
|
||||
//Set App Opacity (Only Siemens)
|
||||
if(Config.VendorHmiConfig.Type == 2)
|
||||
if (Config.VendorHmiConfig.Type == 2)
|
||||
setOpacity(0.85);
|
||||
|
||||
//Open Nc Window
|
||||
setStatus("Opening NC Window... ", "");
|
||||
|
||||
setStatus("Opening NC Window... ", "");
|
||||
|
||||
if (Config.VendorHmiConfig.Enabled)
|
||||
if (!OpenNcWindow())
|
||||
return;
|
||||
@@ -160,13 +154,13 @@ namespace Active_Client.View
|
||||
var exename = Path.GetFileNameWithoutExtension(Config.ProdSoftwareConfig.Path);
|
||||
if (!OpenProdWindow(Config.ProdSoftwareConfig.Path, exename))
|
||||
return;
|
||||
}
|
||||
|
||||
//Set App Opacity
|
||||
}
|
||||
|
||||
//Set App Opacity
|
||||
setOpacity(1);
|
||||
|
||||
//Close the Window
|
||||
closeWindow();
|
||||
closeWindow();
|
||||
}
|
||||
|
||||
|
||||
@@ -195,7 +189,7 @@ namespace Active_Client.View
|
||||
|
||||
|
||||
//Sub-Method used to test the connection
|
||||
private bool testConnection(Uri url,out Boolean error)
|
||||
private bool testConnection(Uri url, out Boolean error)
|
||||
{
|
||||
Boolean Connected = false;
|
||||
error = false;
|
||||
@@ -224,8 +218,8 @@ namespace Active_Client.View
|
||||
|
||||
//Check if it's connected
|
||||
if (Connected)
|
||||
{
|
||||
// var jsonDefinition = new { ncVendor = "", showHMI = "", ncIp = "", ncPort = "", prodEnabled = "", prodPath = "", extPrograms = "" };
|
||||
{
|
||||
// var jsonDefinition = new { ncVendor = "", showHMI = "", ncIp = "", ncPort = "", prodEnabled = "", prodPath = "", extPrograms = "" };
|
||||
|
||||
var jsonDefinition = new ServerConfigModel();
|
||||
setStatus("Connected!", "");
|
||||
@@ -237,20 +231,20 @@ namespace Active_Client.View
|
||||
{
|
||||
var ConfigResponse = JsonConvert.DeserializeAnonymousType(reader.ReadToEnd(), jsonDefinition);
|
||||
|
||||
if(!String.IsNullOrWhiteSpace(ConfigResponse.NcVendor) && !String.IsNullOrWhiteSpace(ConfigResponse.ShowHMI))
|
||||
if (!String.IsNullOrWhiteSpace(ConfigResponse.NcVendor) && !String.IsNullOrWhiteSpace(ConfigResponse.ShowHMI))
|
||||
{
|
||||
string ncVendorName = ConfigResponse.NcVendor.ToUpper();
|
||||
string ncVendorHMI = ConfigResponse.ShowHMI.ToUpper();
|
||||
Config.VendorHmiConfig.IpAddress = ConfigResponse.NcIp.ToUpper();
|
||||
Config.VendorHmiConfig.Port = ConfigResponse.NcPort.ToUpper();
|
||||
string ProdEnabled = ConfigResponse.ProdEnabled.ToUpper();
|
||||
Config.VendorHmiConfig.IpAddress = ConfigResponse.NcIp.ToUpper();
|
||||
Config.VendorHmiConfig.Port = ConfigResponse.NcPort.ToUpper();
|
||||
string ProdEnabled = ConfigResponse.ProdEnabled.ToUpper();
|
||||
string ProdPath = ConfigResponse.ProdPath.ToUpper();
|
||||
string Autorun = ConfigResponse.Autorun.ToUpper();
|
||||
|
||||
|
||||
|
||||
//Read the Server Type
|
||||
if (ncVendorName.Equals("DEMO"))
|
||||
Config.VendorHmiConfig.Type = 0;
|
||||
Config.VendorHmiConfig.Type = 0;
|
||||
else if (ncVendorName.Equals("FANUC"))
|
||||
Config.VendorHmiConfig.Type = 1;
|
||||
else if (ncVendorName.Equals("SIEMENS"))
|
||||
@@ -271,8 +265,8 @@ namespace Active_Client.View
|
||||
Config.VendorHmiConfig.Enabled = true;
|
||||
else
|
||||
Config.VendorHmiConfig.Enabled = false;
|
||||
|
||||
//Autorun
|
||||
|
||||
//Autorun
|
||||
if (Autorun.ToUpper().Equals("TRUE"))
|
||||
Config.ClientConfig.Autorun = true;
|
||||
else
|
||||
@@ -290,9 +284,9 @@ namespace Active_Client.View
|
||||
Config.TextEditorPath = ConfigResponse.EditorPath;
|
||||
|
||||
if (ConfigResponse.ExtSoftwares != null)
|
||||
Config.ExtSoftwaresConfig = ConfigResponse.ExtSoftwares.ToArray();
|
||||
|
||||
return true;
|
||||
Config.ExtSoftwaresConfig = ConfigResponse.ExtSoftwares.ToArray();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -303,8 +297,8 @@ namespace Active_Client.View
|
||||
|
||||
setStatus("Error!", "Error While loading the configuration");
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -331,29 +325,30 @@ namespace Active_Client.View
|
||||
//Sub-Method used to open the NC Window
|
||||
private bool OpenNcWindow()
|
||||
{
|
||||
switch(NcWindow.StartNcWindow())
|
||||
switch (NcWindow.StartNcWindow())
|
||||
{
|
||||
|
||||
case 0: return true;
|
||||
|
||||
case 1: {
|
||||
case 1:
|
||||
{
|
||||
setStatus("Close the application!", "NC Path not found: " + NcWindow.ProcessPath);
|
||||
return false;
|
||||
};
|
||||
return false;
|
||||
};
|
||||
|
||||
case 2:
|
||||
{
|
||||
setStatus("Close the application!", "Unable to start the NC application: ");
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//Sub-Method used to open the NC Window
|
||||
private bool OpenProdWindow(string ExePath,string ExeName)
|
||||
private bool OpenProdWindow(string ExePath, string ExeName)
|
||||
{
|
||||
switch (NcWindow.StartProdWindow(ExePath, ExeName))
|
||||
{
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Active_Client.View
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
using Thermo.Active.CmsConnectGateway.Builders;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Thermo.Active.CmsConnectGateway.Builders;
|
||||
|
||||
namespace Thermo.Active.CmsConnectGateway
|
||||
{
|
||||
@@ -52,7 +49,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
config.dnsPrefixes = dnsPrefixes;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public GatewayNetworkConfiguration GenerateConfiguration()
|
||||
{
|
||||
|
||||
@@ -93,7 +90,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
using Thermo.Active.CmsConnectGateway.Builders;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Thermo.Active.CmsConnectGateway.Builders;
|
||||
|
||||
namespace Thermo.Active.CmsConnectGateway
|
||||
{
|
||||
@@ -79,7 +76,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
|
||||
//Controls empty spaces
|
||||
CheckNoEmptySpaces(config.address, "Address");
|
||||
if(config.username != null)
|
||||
if (config.username != null)
|
||||
CheckNoEmptySpaces(config.username, "Username");
|
||||
if (config.password != null)
|
||||
CheckNoEmptySpaces(config.password, "Password");
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.CmsConnectGateway.Builders
|
||||
{
|
||||
@@ -51,13 +47,13 @@ namespace Thermo.Active.CmsConnectGateway.Builders
|
||||
|
||||
}
|
||||
|
||||
internal void CheckNoEmptySpaces(string strToCheck,string paramName)
|
||||
internal void CheckNoEmptySpaces(string strToCheck, string paramName)
|
||||
{
|
||||
if (strToCheck.Contains(" "))
|
||||
throw new FormatException("BAD FORMAT - param \"" + paramName + "\" must be without empty spaces");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private bool EvaluateIPV4(string stringValue, out IPAddress address)
|
||||
{
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.CmsConnectGateway.Events
|
||||
{
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.CmsConnectGateway.Exceptions
|
||||
{
|
||||
public class GatewayException: Exception
|
||||
public class GatewayException : Exception
|
||||
{
|
||||
public GatewayException(string message): base(message)
|
||||
public GatewayException(string message) : base(message)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
using Renci.SshNet;
|
||||
using Renci.SshNet.Common;
|
||||
using Thermo.Active.CmsConnectGateway.Events;
|
||||
using Thermo.Active.CmsConnectGateway.Exceptions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -11,6 +9,8 @@ using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Thermo.Active.CmsConnectGateway.Events;
|
||||
using Thermo.Active.CmsConnectGateway.Exceptions;
|
||||
|
||||
namespace Thermo.Active.CmsConnectGateway
|
||||
{
|
||||
@@ -127,7 +127,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
/// <exception cref="GatewayException"></exception>
|
||||
public GatewayNetworkConfiguration ReadGatewayNetworkConfiguration()
|
||||
{
|
||||
return ElaborateConfigFromSshNetworkCommand( SendSSHCommand(SSH_GET_NETWORK_COMMAND) );
|
||||
return ElaborateConfigFromSshNetworkCommand(SendSSHCommand(SSH_GET_NETWORK_COMMAND));
|
||||
}
|
||||
|
||||
|
||||
@@ -184,9 +184,9 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
}
|
||||
hand(this, ev);
|
||||
};
|
||||
|
||||
|
||||
// Create a task and not start it.
|
||||
Task t = new Task (() => action(delay, handler));
|
||||
Task t = new Task(() => action(delay, handler));
|
||||
t.Start();
|
||||
}
|
||||
|
||||
@@ -217,7 +217,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
#region SSH_commands_preparations_sub_methods
|
||||
|
||||
@@ -255,7 +255,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
|
||||
return command.ToString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
//SSH command generator for Network setting
|
||||
private string GenerateSshNetworkCommand(GatewayNetworkConfiguration configuration)
|
||||
@@ -272,7 +272,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
IPNetwork tempIpNetw = IPNetwork.Parse(configuration.ipAddress, configuration.netMaskAddress);
|
||||
command.Append(configuration.ipAddress).Append("/").Append(tempIpNetw.Cidr).Append(" ");
|
||||
|
||||
if(configuration.defaultGatewayAddress != null)
|
||||
if (configuration.defaultGatewayAddress != null)
|
||||
command.Append(configuration.defaultGatewayAddress);
|
||||
|
||||
}
|
||||
@@ -298,7 +298,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
{
|
||||
StringBuilder command = new StringBuilder(SSH_SET_DNSSUFFIX_COMMAND);
|
||||
|
||||
if(configuration.dnsPrefixes != null)
|
||||
if (configuration.dnsPrefixes != null)
|
||||
command.Append(string.Join(",", configuration.dnsPrefixes));
|
||||
|
||||
return command.ToString();
|
||||
@@ -368,7 +368,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
if (!stringValue.Contains('/'))
|
||||
throw new GatewayException("Internal Gateway Error during read (bad format): " + IP_ADDR_LABEL + stringValue);
|
||||
|
||||
string [] tempAddr = stringValue.Split('/');
|
||||
string[] tempAddr = stringValue.Split('/');
|
||||
//Check if has lenght == 2
|
||||
if (tempAddr.Length != 2)
|
||||
throw new GatewayException("Internal Gateway Error during read (bad format): " + IP_ADDR_LABEL + stringValue);
|
||||
@@ -445,7 +445,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
if (tempStr.Length == 0)
|
||||
configuration.dnsPrefixes = null;
|
||||
else
|
||||
configuration.dnsPrefixes = tempStr.Where(X=> !String.IsNullOrEmpty(X)).ToList();
|
||||
configuration.dnsPrefixes = tempStr.Where(X => !String.IsNullOrEmpty(X)).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -473,7 +473,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
if (!stringValue.Contains(':'))
|
||||
throw new GatewayException("Internal Gateway Error during read (bad format): " + PROXY_ADDR_LABEL + stringValue);
|
||||
string[] tempAddr = stringValue.Split(':');
|
||||
|
||||
|
||||
//Check if has lenght == 2
|
||||
if (tempAddr.Length != 2)
|
||||
throw new GatewayException("Internal Gateway Error during read (bad format): " + PROXY_ADDR_LABEL + stringValue);
|
||||
@@ -510,7 +510,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
throw new GatewayException("Internal Gateway Error during read (bad format): " + PROXY_ADDR_LABEL + stringValue);
|
||||
if (tempAddr.Length != 2)
|
||||
throw new GatewayException("Internal Gateway Error during read (bad format): " + PROXY_ADDR_LABEL + stringValue);
|
||||
|
||||
|
||||
//Set the username
|
||||
configuration.username = tempLogin[0];
|
||||
//Set the password
|
||||
@@ -524,7 +524,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
throw new GatewayException("Internal Gateway Error during read (bad format): " + PROXY_ADDR_LABEL + stringValue);
|
||||
configuration.port = tempPort;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -538,7 +538,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
{
|
||||
string[] tempStr = stringValue.Trim('"').Split(',');
|
||||
|
||||
for (int i=0;i<tempStr.Length;i++)
|
||||
for (int i = 0; i < tempStr.Length; i++)
|
||||
tempStr[i] = tempStr[i].Trim();
|
||||
|
||||
if (tempStr.Length == 0)
|
||||
@@ -562,7 +562,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
}
|
||||
|
||||
|
||||
private bool EvaluateIPV4(string stringValue,out IPAddress address)
|
||||
private bool EvaluateIPV4(string stringValue, out IPAddress address)
|
||||
{
|
||||
Regex rgx = new Regex(@"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$");
|
||||
|
||||
@@ -583,7 +583,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
//Override sendCommand for single command
|
||||
private List<string> SendSSHCommand(string command)
|
||||
{
|
||||
return SendSSHCommand(new List<string> {command});
|
||||
return SendSSHCommand(new List<string> { command });
|
||||
}
|
||||
|
||||
|
||||
@@ -594,12 +594,12 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
List<string> returnedValues = new List<string>();
|
||||
|
||||
//Create the SSH Gateway
|
||||
SshClient _sshGateway = new SshClient(this.host, this.username, this.password);
|
||||
SshClient _sshGateway = new SshClient(this.host, this.username, this.password);
|
||||
try
|
||||
{
|
||||
//Connect
|
||||
_sshGateway.Connect();
|
||||
foreach(string cmd in command)
|
||||
foreach (string cmd in command)
|
||||
{
|
||||
//Run command
|
||||
sshCmd = _sshGateway.RunCommand(cmd);
|
||||
@@ -655,7 +655,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
private void SendSSHReboot(int seconds)
|
||||
{
|
||||
//Send SSH Command
|
||||
SendSSHCommand(SSH_GW_REBOOT_COMMAND + seconds);
|
||||
SendSSHCommand(SSH_GW_REBOOT_COMMAND + seconds);
|
||||
|
||||
//Wait the time for reboot
|
||||
Thread.Sleep((seconds + 5) * 1000);
|
||||
@@ -708,7 +708,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
}
|
||||
} while (!disconnected);
|
||||
|
||||
|
||||
|
||||
//Phase 2 Wait Re-connection Cycle
|
||||
bool connected = false;
|
||||
do
|
||||
@@ -716,7 +716,7 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
try
|
||||
{
|
||||
//If TimeSpan > TOT MIN -> Exception
|
||||
if((DateTime.Now - nowAfterReboot) > TimeSpan.FromMinutes(REBOOT_MINUTES_MAX))
|
||||
if ((DateTime.Now - nowAfterReboot) > TimeSpan.FromMinutes(REBOOT_MINUTES_MAX))
|
||||
throw new GatewayException("Timeout Error during reboot - Gateway not found during reboot");
|
||||
|
||||
//Try Connection
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Net;
|
||||
|
||||
namespace Thermo.Active.CmsConnectGateway
|
||||
@@ -13,8 +10,8 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
|
||||
public class GatewayNetworkConfiguration
|
||||
{
|
||||
internal GatewayNetworkConfiguration() {}
|
||||
public Boolean hasDhcp { get; internal set;}
|
||||
internal GatewayNetworkConfiguration() { }
|
||||
public Boolean hasDhcp { get; internal set; }
|
||||
public IPAddress ipAddress { get; internal set; }
|
||||
public IPAddress netMaskAddress { get; internal set; }
|
||||
public IPAddress defaultGatewayAddress { get; internal set; }
|
||||
@@ -23,18 +20,18 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "hasDhcp: " + hasDhcp + Environment.NewLine +
|
||||
"ipAddress: " + (ipAddress != null ? ipAddress.ToString() : "null") + Environment.NewLine +
|
||||
"netMaskAddress: " + (netMaskAddress != null ? netMaskAddress.ToString() : "null") + Environment.NewLine +
|
||||
"defaultGatewayAddress: " + (defaultGatewayAddress != null ? defaultGatewayAddress.ToString() : "null") + Environment.NewLine +
|
||||
"dnsAddresses: " + (dnsAddresses != null ? string.Join(",", dnsAddresses) : "null") + Environment.NewLine +
|
||||
"dnsPrefixes: " + (dnsPrefixes != null ? string.Join(",", dnsPrefixes) : "null");
|
||||
return "hasDhcp: " + hasDhcp + Environment.NewLine +
|
||||
"ipAddress: " + (ipAddress != null ? ipAddress.ToString() : "null") + Environment.NewLine +
|
||||
"netMaskAddress: " + (netMaskAddress != null ? netMaskAddress.ToString() : "null") + Environment.NewLine +
|
||||
"defaultGatewayAddress: " + (defaultGatewayAddress != null ? defaultGatewayAddress.ToString() : "null") + Environment.NewLine +
|
||||
"dnsAddresses: " + (dnsAddresses != null ? string.Join(",", dnsAddresses) : "null") + Environment.NewLine +
|
||||
"dnsPrefixes: " + (dnsPrefixes != null ? string.Join(",", dnsPrefixes) : "null");
|
||||
}
|
||||
}
|
||||
|
||||
public class GatewayProxyConfiguration
|
||||
{
|
||||
internal GatewayProxyConfiguration(){}
|
||||
internal GatewayProxyConfiguration() { }
|
||||
public Boolean hasProxy { get; internal set; }
|
||||
public string address { get; internal set; }
|
||||
public uint port { get; internal set; }
|
||||
@@ -45,12 +42,12 @@ namespace Thermo.Active.CmsConnectGateway
|
||||
public override string ToString()
|
||||
{
|
||||
|
||||
return "hasProxy: " + hasProxy + Environment.NewLine +
|
||||
"address: " + (address != null ? address.ToString() : "null") + Environment.NewLine +
|
||||
"port: " + (port != 0 ? port.ToString() : "null") + Environment.NewLine +
|
||||
"username: " + (username != null ? username : "null") + Environment.NewLine +
|
||||
"password: " + (password != null ? password : "null") + Environment.NewLine +
|
||||
"noproxyAddresses: " + (noproxyAddresses != null ? string.Join(",", noproxyAddresses) : "null");
|
||||
return "hasProxy: " + hasProxy + Environment.NewLine +
|
||||
"address: " + (address != null ? address.ToString() : "null") + Environment.NewLine +
|
||||
"port: " + (port != 0 ? port.ToString() : "null") + Environment.NewLine +
|
||||
"username: " + (username != null ? username : "null") + Environment.NewLine +
|
||||
"password: " + (password != null ? password : "null") + Environment.NewLine +
|
||||
"noproxyAddresses: " + (noproxyAddresses != null ? string.Join(",", noproxyAddresses) : "null");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Le informazioni generali relative a un assembly sono controllate dal seguente
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Thermo.Active.Config
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Le informazioni generali relative a un assembly sono controllate dal seguente
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using Thermo.Active.Model.ConfigModels;
|
||||
using System.Collections.Generic;
|
||||
using Thermo.Active.Model.ConfigModels;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.Model.DTOModels.Scada;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Thermo.Active.Config
|
||||
{
|
||||
@@ -11,7 +11,7 @@ namespace Thermo.Active.Config
|
||||
public static ServerConfigModel ServerStartupConfig;
|
||||
public static NcConfigModel NcConfig;
|
||||
public static List<ExtSoftwareModel> ExtSoftwaresConfig;
|
||||
public static SoftwareProdConfigModel SoftwareProdConfig;
|
||||
public static SoftwareProdConfigModel SoftwareProdConfig;
|
||||
public static MachineModel MachineConfig;
|
||||
public static List<MaintenanceConfigModel> MaintenancesConfig;
|
||||
public static ContactModel CmsContactConfig;
|
||||
@@ -44,7 +44,7 @@ namespace Thermo.Active.Config
|
||||
public static AreasConfigModel ScadaConfig;
|
||||
public static AreasConfigModel JobEditorConfig;
|
||||
public static AreasConfigModel UsersConfig;
|
||||
|
||||
|
||||
public static List<ScadaSchemaModel> ProductionScadaSchema = new List<ScadaSchemaModel>();
|
||||
public static List<ScadaSchemaModel> ConfiguredScadaSchema = new List<ScadaSchemaModel>();
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using Thermo.Active.Model.ConfigModels;
|
||||
using Thermo.Active.Model.DTOModels.Scada;
|
||||
using Thermo.Active.Utils;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
@@ -12,10 +10,12 @@ using System.Xml;
|
||||
using System.Xml.Linq;
|
||||
using System.Xml.Schema;
|
||||
using System.Xml.Serialization;
|
||||
using Thermo.Active.Model.ConfigModels;
|
||||
using Thermo.Active.Model.DTOModels.Scada;
|
||||
using Thermo.Active.Utils;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Utils.SupportFunctions;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Thermo.Active.Config
|
||||
{
|
||||
@@ -1020,16 +1020,6 @@ namespace Thermo.Active.Config
|
||||
return answ;
|
||||
}
|
||||
|
||||
#if false
|
||||
public static void ReadMainProgram()
|
||||
{
|
||||
if (File.Exists(MAIN_PROGRAM_CONFIG_PATH))
|
||||
{
|
||||
CMSMainProgramContent = File.ReadAllText(MAIN_PROGRAM_CONFIG_PATH);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static string CalculateHash(string filename)
|
||||
{
|
||||
using (var sha = SHA1.Create())
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Le informazioni generali relative a un assembly sono controllate dal seguente
|
||||
|
||||
@@ -1,12 +1,4 @@
|
||||
using CMS_CORE_Library.Models;
|
||||
using Thermo.Active.Config;
|
||||
using Thermo.Active.Core;
|
||||
using Thermo.Active.Database.Controllers;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.Model.DTOModels.AlarmModels;
|
||||
using Thermo.Active.Model.DTOModels.Scada;
|
||||
using Thermo.Active.NC;
|
||||
using Thermo.Active.Utils;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
@@ -18,11 +10,20 @@ using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
using TeamDev.SDK.MVVM;
|
||||
using Thermo.Active.Core;
|
||||
using Thermo.Active.Database.Controllers;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.Model.DTOModels.AlarmModels;
|
||||
using Thermo.Active.Model.DTOModels.Scada;
|
||||
using Thermo.Active.Model.DTOModels.ThModules;
|
||||
using Thermo.Active.Model.DTOModels.ThRecipe;
|
||||
using Thermo.Active.Model.DTOModels.ThWarmers;
|
||||
using Thermo.Active.NC;
|
||||
using Thermo.Active.Utils;
|
||||
using static CMS_CORE_Library.Models.DataStructures;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Utils.ExceptionManager;
|
||||
using Thermo.Active.Model.DTOModels.Recipe;
|
||||
|
||||
public static class ThreadsFunctions
|
||||
{
|
||||
@@ -121,7 +122,7 @@ public static class ThreadsFunctions
|
||||
catch (ThreadAbortException ex)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
using Thermo.Active.Core.Properties;
|
||||
using Thermo.Active.Model;
|
||||
using Thermo.Active.Utils;
|
||||
using System;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
using TeamDev.SDK.MVVM;
|
||||
using Thermo.Active.Core.Properties;
|
||||
using Thermo.Active.Model;
|
||||
using Thermo.Active.Utils;
|
||||
|
||||
namespace Thermo.Active.Core
|
||||
{
|
||||
@@ -125,7 +125,7 @@ namespace Thermo.Active.Core
|
||||
|
||||
public static void StopThread()
|
||||
{
|
||||
if (SiemensHmi!= null && SiemensHmi.IsAlive)
|
||||
if (SiemensHmi != null && SiemensHmi.IsAlive)
|
||||
SiemensHmi.Abort();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.Model.DTOModels.AlarmModels;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Entity;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.Model.DTOModels.AlarmModels;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using System.Diagnostics;
|
||||
using Thermo.Active.Config;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Database.Controllers
|
||||
{
|
||||
@@ -37,7 +35,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
var index = userIds.IndexOf(-1);
|
||||
if (userIds.IndexOf(-1) != -1)
|
||||
ifNoUser = true;
|
||||
|
||||
|
||||
List<int> ncAlarmDescIds = dbCtx
|
||||
.AlarmDescriptions
|
||||
.Where(x => x.Title.Contains(title))
|
||||
@@ -45,7 +43,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
.ToList();
|
||||
|
||||
// Get Plc messages ids
|
||||
List<int> plcAlarmDescIds =
|
||||
List<int> plcAlarmDescIds =
|
||||
plcMessages
|
||||
.Where(x => x.Value.IndexOf(title, StringComparison.OrdinalIgnoreCase) >= 0)
|
||||
//.Where(x => x.Value.Contains(title))
|
||||
@@ -60,8 +58,8 @@ namespace Thermo.Active.Database.Controllers
|
||||
.Where(x =>
|
||||
x.TimeStamp >= startDate && x.TimeStamp <= endDate // Filter by date
|
||||
&& sources.Contains(x.Source) // Check source
|
||||
&& ( (ifNoUser && x.Users.Count() == 0) || x.Users.Any(y => userIds.Any(z => z == y.UserId))) // Check user
|
||||
&&
|
||||
&& ((ifNoUser && x.Users.Count() == 0) || x.Users.Any(y => userIds.Any(z => z == y.UserId))) // Check user
|
||||
&&
|
||||
((x.Source == ALARM_SOURCE.NC && ncAlarmDescIds.Contains(x.AlarmDescriptionId.Value)) // Check if message is contained in NC messages
|
||||
|| (x.Source == ALARM_SOURCE.PLC && plcAlarmDescIds.Contains(x.AlarmId))) // Check if message is contained in PLC messages
|
||||
).OrderByDescending(t => t.AlarmOccurrenceId);
|
||||
@@ -137,7 +135,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
{
|
||||
int numberOfRows = CountRows();
|
||||
|
||||
if(numberOfRows >= ServerStartupConfig.MaxAlarmsRows)
|
||||
if (numberOfRows >= ServerStartupConfig.MaxAlarmsRows)
|
||||
{
|
||||
dbCtx.Database.ExecuteSqlCommand("DELETE FROM alarm_occurrence LIMIT {0}", ServerStartupConfig.AlarmToDelete);
|
||||
}
|
||||
@@ -151,7 +149,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
public void EmptyAlarms()
|
||||
{
|
||||
int numberOfRows = CountRows();
|
||||
|
||||
|
||||
dbCtx.Database.ExecuteSqlCommand("DELETE FROM alarm_occurrence LIMIT {0}", numberOfRows);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using static CMS_CORE_Library.Models.DataStructures;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
|
||||
@@ -59,8 +59,8 @@ namespace Thermo.Active.Database.Controllers
|
||||
{
|
||||
return dbCtx
|
||||
.FunctionsAccess
|
||||
.Select( x => new DTORuntimeFunctionalityModel()
|
||||
{
|
||||
.Select(x => new DTORuntimeFunctionalityModel()
|
||||
{
|
||||
Id = x.FunctionAccessId,
|
||||
Area = x.Area,
|
||||
Name = x.Name,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using System;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
|
||||
namespace Thermo.Active.Database.Controllers
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Database.Controllers
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.Model.DTOModels.MaintenanceModels;
|
||||
using Thermo.Active.Utils;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Entity;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.Model.DTOModels.MaintenanceModels;
|
||||
using Thermo.Active.Utils;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
|
||||
foreach (PerformedMaintenanceModel maintenance in maintList)
|
||||
{
|
||||
if(maintenance.ControlWord != -2)
|
||||
if (maintenance.ControlWord != -2)
|
||||
valRet.Add(new DTOPerformModel()
|
||||
{
|
||||
Date = maintenance.Date,
|
||||
@@ -64,7 +64,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
where m1.MaintenanceId == maintenances.MaintenanceId
|
||||
select m1.Date
|
||||
).Max()
|
||||
select maintenances)
|
||||
select maintenances)
|
||||
.Include("Maintainer")
|
||||
.ToList();
|
||||
|
||||
@@ -78,7 +78,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
CounterValue = (int)counterValue,
|
||||
Date = DateTime.Now,
|
||||
MaintenanceId = maintenanceId,
|
||||
MaintainerId = userId,
|
||||
MaintainerId = userId,
|
||||
ControlWord = controlWord
|
||||
};
|
||||
|
||||
@@ -204,7 +204,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
// find maintenances to be updated into db
|
||||
var old = dbCtx.Maintenances.FirstOrDefault(x => x.MaintenanceId == item.MaintenanceId);
|
||||
|
||||
if(old != null)
|
||||
if (old != null)
|
||||
// Update model
|
||||
old = MaintenancesConfig.Where(x => x.Id == item.MaintenanceId).Select(x =>
|
||||
{
|
||||
@@ -397,14 +397,14 @@ namespace Thermo.Active.Database.Controllers
|
||||
cw = -1;
|
||||
|
||||
SupportFunctions.ConvertStringMachineNumberIntoNumber(machineNumber, out bool containsLetters, out int intMachineVal);
|
||||
if (!GetDataFromMaintenancePassword(password, containsLetters, out int pwdMachineNumber, out int pwdHours, out cw))
|
||||
if (!GetDataFromMaintenancePassword(password, containsLetters, out int pwdMachineNumber, out int pwdHours, out cw))
|
||||
return false;
|
||||
|
||||
// Check machine number
|
||||
if(intMachineVal == pwdMachineNumber)
|
||||
if (intMachineVal == pwdMachineNumber)
|
||||
{
|
||||
// Convert plcCounter in hours and check if password is expired
|
||||
if(((plcCounter/3600) - pwdHours) <= 50)
|
||||
if (((plcCounter / 3600) - pwdHours) <= 50)
|
||||
{
|
||||
return true; // Ok
|
||||
}
|
||||
@@ -458,10 +458,10 @@ namespace Thermo.Active.Database.Controllers
|
||||
tmpPassword4 = tmpPassword5.Remove(tmpPassword5.Length - 1);
|
||||
|
||||
// Create tmpPassoword3
|
||||
foreach(char c in tmpPassword4)
|
||||
foreach (char c in tmpPassword4)
|
||||
{
|
||||
// If tmpPassword is empty copy the first character
|
||||
if(tmpPassword3.Length == 0)
|
||||
if (tmpPassword3.Length == 0)
|
||||
{
|
||||
tmpPassword3 = c.ToString();
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using CMS_CORE_Library.Models;
|
||||
using System.Linq;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
|
||||
namespace Thermo.Active.Database.Controllers
|
||||
{
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Database.Controllers
|
||||
@@ -30,12 +28,12 @@ namespace Thermo.Active.Database.Controllers
|
||||
public void UpdateQueue()
|
||||
{
|
||||
dbCtx.Queue.RemoveRange(dbCtx.Queue);
|
||||
|
||||
|
||||
var dbRows = new List<QueueItemsModel>();
|
||||
foreach (var item in PartProgramQueue)
|
||||
{
|
||||
// Create database model
|
||||
dbRows =item.Value.Select(x => new QueueItemsModel()
|
||||
dbRows = item.Value.Select(x => new QueueItemsModel()
|
||||
{
|
||||
Id = x.Id,
|
||||
AbsolutePath = x.AbsolutePath,
|
||||
@@ -49,7 +47,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
// Add to db
|
||||
dbCtx.Queue.AddRange(dbRows);
|
||||
}
|
||||
|
||||
|
||||
dbCtx.SaveChanges();
|
||||
}
|
||||
|
||||
@@ -65,14 +63,14 @@ namespace Thermo.Active.Database.Controllers
|
||||
item.RemainingReps = reps;
|
||||
|
||||
dbCtx.SaveChanges();
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void DeleteItem(int processId, int id)
|
||||
{
|
||||
QueueItemsModel item = dbCtx.Queue.FirstOrDefault(x => x.Id == id && x.Process == processId);
|
||||
|
||||
if(item == null)
|
||||
if (item == null)
|
||||
return;
|
||||
|
||||
dbCtx.Queue.Remove(item);
|
||||
@@ -84,7 +82,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
{
|
||||
var dbQueue = dbCtx.Queue.ToList();
|
||||
bool foundData = false;
|
||||
foreach(var entity in dbQueue)
|
||||
foreach (var entity in dbQueue)
|
||||
{
|
||||
// Check if process queue exists
|
||||
if (!PartProgramQueue.ContainsKey(entity.Process))
|
||||
@@ -111,13 +109,13 @@ namespace Thermo.Active.Database.Controllers
|
||||
QueueRunningIndexes[entity.Process] = entity.Id - 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void UpdateQueueIdsAndSave(int processId)
|
||||
{
|
||||
// Fix new ids
|
||||
for (int i = 0; i < PartProgramQueue[processId].Count(); i++)
|
||||
PartProgramQueue[processId][i].Id = i + 1;
|
||||
|
||||
|
||||
UpdateQueue();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
using Thermo.Active.Database.Redis;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
using Thermo.Active.Database.Redis;
|
||||
|
||||
namespace Thermo.Active.Database.Controllers
|
||||
{
|
||||
@@ -41,7 +37,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
redUtil.man.setRSV(redisHash, RepsDone);
|
||||
}
|
||||
|
||||
public static bool WriteAlarmsConfigCurr(Dictionary<string,string> alarms)
|
||||
public static bool WriteAlarmsConfigCurr(Dictionary<string, string> alarms)
|
||||
{
|
||||
string redisHash = redUtil.man.redHash(redisAlmCurr);
|
||||
return redUtil.man.redSaveHashDict(redisHash, alarms);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
|
||||
namespace Thermo.Active.Database.Controllers
|
||||
{
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Database.Controllers
|
||||
{
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Web.Helpers;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
// Commit changes
|
||||
dbCtx.SaveChanges();
|
||||
|
||||
using(MachinesUsersController machController = new MachinesUsersController())
|
||||
using (MachinesUsersController machController = new MachinesUsersController())
|
||||
{
|
||||
machController.Create(MachineConfig.MachineId, user.UserId, 3);
|
||||
}
|
||||
@@ -166,13 +166,13 @@ namespace Thermo.Active.Database.Controllers
|
||||
var tmpUser = dbCtx
|
||||
.Users
|
||||
.Where(x => x.Deleted == false) // Get not deleted users
|
||||
.Join( dbCtx.MachinesUsers,
|
||||
.Join(dbCtx.MachinesUsers,
|
||||
u => u.UserId,
|
||||
m => m.UserId,
|
||||
m => m.UserId,
|
||||
(u, m) => new { Users = u, MachinesUsers = m }
|
||||
)
|
||||
.Where(x => x.MachinesUsers.Role.Level < MIN_CMS_ROLE)
|
||||
.ToList();
|
||||
.ToList();
|
||||
|
||||
return tmpUser
|
||||
.Select(x => new DTOMessageUserModel() // Return DTOUserModel
|
||||
@@ -184,7 +184,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
})
|
||||
.GroupBy(elem => elem.Id).Select(group => group.First())
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region User Manager
|
||||
@@ -210,7 +210,7 @@ namespace Thermo.Active.Database.Controllers
|
||||
Language = x.Language,
|
||||
Role = machineController.GetUserRoleData(MachineConfig.MachineId, x.UserId)
|
||||
}).Where(
|
||||
x=> x.Role.Level < MIN_CMS_ROLE)
|
||||
x => x.Role.Level < MIN_CMS_ROLE)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
using Microsoft.Win32;
|
||||
using MySql.Data.Entity;
|
||||
using Thermo.Active.Database.Controllers;
|
||||
using Thermo.Active.Database.Migrations;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using System;
|
||||
|
||||
using System.Data.Entity;
|
||||
using System.Data.Entity.Migrations;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.ServiceProcess;
|
||||
using Thermo.Active.Database.Controllers;
|
||||
using Thermo.Active.Database.Migrations;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Utils.ExceptionManager;
|
||||
@@ -86,7 +85,7 @@ namespace Thermo.Active.Database
|
||||
{
|
||||
// Run migrations and seed.
|
||||
migrator.Update();
|
||||
}
|
||||
}
|
||||
|
||||
FindOrCreateMachineUniqueId();
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
namespace Thermo.Active.Database.Migrations
|
||||
{
|
||||
using System;
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
|
||||
public partial class ThermoStart : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
@@ -10,268 +9,268 @@ namespace Thermo.Active.Database.Migrations
|
||||
CreateTable(
|
||||
"dbo.alarm_description",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false),
|
||||
title = c.String(unicode: false),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false),
|
||||
title = c.String(unicode: false),
|
||||
})
|
||||
.PrimaryKey(t => t.id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.alarm_file",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
file_name = c.String(unicode: false),
|
||||
local_file_name = c.String(unicode: false),
|
||||
alarm_desc_id = c.Int(nullable: false),
|
||||
source = c.Int(nullable: false),
|
||||
user_id = c.Int(),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
file_name = c.String(unicode: false),
|
||||
local_file_name = c.String(unicode: false),
|
||||
alarm_desc_id = c.Int(nullable: false),
|
||||
source = c.Int(nullable: false),
|
||||
user_id = c.Int(),
|
||||
})
|
||||
.PrimaryKey(t => t.id)
|
||||
.ForeignKey("dbo.user", t => t.user_id)
|
||||
.Index(t => t.user_id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.user",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
username = c.String(nullable: false, unicode: false),
|
||||
first_name = c.String(unicode: false),
|
||||
last_name = c.String(unicode: false),
|
||||
password = c.String(unicode: false),
|
||||
security_stamp = c.String(unicode: false),
|
||||
language = c.String(unicode: false),
|
||||
deleted = c.Boolean(nullable: false),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
username = c.String(nullable: false, unicode: false),
|
||||
first_name = c.String(unicode: false),
|
||||
last_name = c.String(unicode: false),
|
||||
password = c.String(unicode: false),
|
||||
security_stamp = c.String(unicode: false),
|
||||
language = c.String(unicode: false),
|
||||
deleted = c.Boolean(nullable: false),
|
||||
})
|
||||
.PrimaryKey(t => t.id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.alarm_occurrence",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
alarm_id = c.Int(nullable: false),
|
||||
alarm_description_id = c.Int(),
|
||||
source = c.Int(nullable: false),
|
||||
type = c.Int(nullable: false),
|
||||
processes = c.Int(nullable: false),
|
||||
timestamp = c.DateTime(nullable: false, precision: 0),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
alarm_id = c.Int(nullable: false),
|
||||
alarm_description_id = c.Int(),
|
||||
source = c.Int(nullable: false),
|
||||
type = c.Int(nullable: false),
|
||||
processes = c.Int(nullable: false),
|
||||
timestamp = c.DateTime(nullable: false, precision: 0),
|
||||
})
|
||||
.PrimaryKey(t => t.id)
|
||||
.ForeignKey("dbo.alarm_description", t => t.alarm_description_id)
|
||||
.Index(t => t.alarm_description_id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.alarm_user",
|
||||
c => new
|
||||
{
|
||||
user_id = c.Int(nullable: false),
|
||||
alarm_occurence_id = c.Int(nullable: false),
|
||||
})
|
||||
{
|
||||
user_id = c.Int(nullable: false),
|
||||
alarm_occurence_id = c.Int(nullable: false),
|
||||
})
|
||||
.PrimaryKey(t => new { t.user_id, t.alarm_occurence_id })
|
||||
.ForeignKey("dbo.alarm_occurrence", t => t.alarm_occurence_id, cascadeDelete: true)
|
||||
.ForeignKey("dbo.user", t => t.user_id, cascadeDelete: true)
|
||||
.Index(t => t.user_id)
|
||||
.Index(t => t.alarm_occurence_id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.alarm_note",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
message = c.String(unicode: false),
|
||||
user_id = c.Int(nullable: false),
|
||||
alarm_desc_id = c.Int(nullable: false),
|
||||
source = c.Int(nullable: false),
|
||||
timestamp = c.DateTime(nullable: false, precision: 0),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
message = c.String(unicode: false),
|
||||
user_id = c.Int(nullable: false),
|
||||
alarm_desc_id = c.Int(nullable: false),
|
||||
source = c.Int(nullable: false),
|
||||
timestamp = c.DateTime(nullable: false, precision: 0),
|
||||
})
|
||||
.PrimaryKey(t => t.id)
|
||||
.ForeignKey("dbo.user", t => t.user_id, cascadeDelete: true)
|
||||
.Index(t => t.user_id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.family",
|
||||
c => new
|
||||
{
|
||||
id = c.Short(nullable: false),
|
||||
name = c.String(unicode: false),
|
||||
right_size = c.Byte(nullable: false),
|
||||
left_size = c.Byte(nullable: false),
|
||||
tcp_table = c.Byte(nullable: false),
|
||||
gamma = c.Byte(nullable: false),
|
||||
rotation_type = c.Byte(nullable: false),
|
||||
cooling_byte = c.Byte(nullable: false),
|
||||
max_speed = c.Int(nullable: false),
|
||||
max_load = c.Byte(nullable: false),
|
||||
min_load_pct_autoload = c.Byte(nullable: false),
|
||||
max_load_pct_autoload = c.Byte(nullable: false),
|
||||
dynamic_compensation = c.Byte(nullable: false),
|
||||
min_load_dynamic_comp = c.Byte(nullable: false),
|
||||
max_load_dynamic_comp = c.Byte(nullable: false),
|
||||
life_type = c.Byte(nullable: false),
|
||||
nominal_life = c.Int(nullable: false),
|
||||
revive_delta = c.Int(nullable: false),
|
||||
})
|
||||
{
|
||||
id = c.Short(nullable: false),
|
||||
name = c.String(unicode: false),
|
||||
right_size = c.Byte(nullable: false),
|
||||
left_size = c.Byte(nullable: false),
|
||||
tcp_table = c.Byte(nullable: false),
|
||||
gamma = c.Byte(nullable: false),
|
||||
rotation_type = c.Byte(nullable: false),
|
||||
cooling_byte = c.Byte(nullable: false),
|
||||
max_speed = c.Int(nullable: false),
|
||||
max_load = c.Byte(nullable: false),
|
||||
min_load_pct_autoload = c.Byte(nullable: false),
|
||||
max_load_pct_autoload = c.Byte(nullable: false),
|
||||
dynamic_compensation = c.Byte(nullable: false),
|
||||
min_load_dynamic_comp = c.Byte(nullable: false),
|
||||
max_load_dynamic_comp = c.Byte(nullable: false),
|
||||
life_type = c.Byte(nullable: false),
|
||||
nominal_life = c.Int(nullable: false),
|
||||
revive_delta = c.Int(nullable: false),
|
||||
})
|
||||
.PrimaryKey(t => t.id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.favorite_user_softkey",
|
||||
c => new
|
||||
{
|
||||
user_softkey_id = c.Int(nullable: false),
|
||||
user_id = c.Int(nullable: false),
|
||||
})
|
||||
{
|
||||
user_softkey_id = c.Int(nullable: false),
|
||||
user_id = c.Int(nullable: false),
|
||||
})
|
||||
.PrimaryKey(t => new { t.user_softkey_id, t.user_id });
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.function_access",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
name = c.String(unicode: false),
|
||||
write_level_min = c.Int(nullable: false),
|
||||
read_level_min = c.Int(nullable: false),
|
||||
area = c.String(unicode: false),
|
||||
enabled = c.Boolean(nullable: false),
|
||||
plc_id = c.Int(nullable: false),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
name = c.String(unicode: false),
|
||||
write_level_min = c.Int(nullable: false),
|
||||
read_level_min = c.Int(nullable: false),
|
||||
area = c.String(unicode: false),
|
||||
enabled = c.Boolean(nullable: false),
|
||||
plc_id = c.Int(nullable: false),
|
||||
})
|
||||
.PrimaryKey(t => t.id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.machine",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
name = c.String(unicode: false),
|
||||
unique_id = c.String(unicode: false),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
name = c.String(unicode: false),
|
||||
unique_id = c.String(unicode: false),
|
||||
})
|
||||
.PrimaryKey(t => t.id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.machine_user",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
machine_id = c.Int(nullable: false),
|
||||
user_id = c.Int(nullable: false),
|
||||
role_id = c.Int(nullable: false),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
machine_id = c.Int(nullable: false),
|
||||
user_id = c.Int(nullable: false),
|
||||
role_id = c.Int(nullable: false),
|
||||
})
|
||||
.PrimaryKey(t => t.id)
|
||||
.ForeignKey("dbo.machine", t => t.machine_id, cascadeDelete: true)
|
||||
.ForeignKey("dbo.role", t => t.role_id, cascadeDelete: true)
|
||||
.ForeignKey("dbo.user", t => t.user_id, cascadeDelete: true)
|
||||
.Index(t => new { t.machine_id, t.user_id }, unique: true, clustered: true, name: "unique_machine_user")
|
||||
.Index(t => t.role_id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.role",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
name = c.String(unicode: false),
|
||||
level = c.Int(nullable: false),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
name = c.String(unicode: false),
|
||||
level = c.Int(nullable: false),
|
||||
})
|
||||
.PrimaryKey(t => t.id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.maintenance_file",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
file_name = c.String(unicode: false),
|
||||
local_file_name = c.String(unicode: false),
|
||||
maintenance_id = c.Int(nullable: false),
|
||||
user_id = c.Int(),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
file_name = c.String(unicode: false),
|
||||
local_file_name = c.String(unicode: false),
|
||||
maintenance_id = c.Int(nullable: false),
|
||||
user_id = c.Int(),
|
||||
})
|
||||
.PrimaryKey(t => t.id)
|
||||
.ForeignKey("dbo.maintenance", t => t.maintenance_id, cascadeDelete: true)
|
||||
.ForeignKey("dbo.user", t => t.user_id)
|
||||
.Index(t => t.maintenance_id)
|
||||
.Index(t => t.user_id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.maintenance",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false),
|
||||
intervall = c.Double(),
|
||||
deadline = c.DateTime(nullable: false, precision: 0),
|
||||
type = c.Int(nullable: false),
|
||||
counter_id = c.Int(nullable: false),
|
||||
title = c.String(unicode: false),
|
||||
description = c.String(unicode: false),
|
||||
unit_of_measure = c.Int(),
|
||||
creation_date = c.DateTime(nullable: false, precision: 0),
|
||||
last_expiration_date = c.DateTime(precision: 0),
|
||||
user_id = c.Int(),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false),
|
||||
intervall = c.Double(),
|
||||
deadline = c.DateTime(nullable: false, precision: 0),
|
||||
type = c.Int(nullable: false),
|
||||
counter_id = c.Int(nullable: false),
|
||||
title = c.String(unicode: false),
|
||||
description = c.String(unicode: false),
|
||||
unit_of_measure = c.Int(),
|
||||
creation_date = c.DateTime(nullable: false, precision: 0),
|
||||
last_expiration_date = c.DateTime(precision: 0),
|
||||
user_id = c.Int(),
|
||||
})
|
||||
.PrimaryKey(t => t.id)
|
||||
.ForeignKey("dbo.user", t => t.user_id)
|
||||
.Index(t => t.user_id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.maintenance_note",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
message = c.String(unicode: false),
|
||||
user_id = c.Int(nullable: false),
|
||||
maintenance_id = c.Int(nullable: false),
|
||||
timestamp = c.DateTime(nullable: false, precision: 0),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
message = c.String(unicode: false),
|
||||
user_id = c.Int(nullable: false),
|
||||
maintenance_id = c.Int(nullable: false),
|
||||
timestamp = c.DateTime(nullable: false, precision: 0),
|
||||
})
|
||||
.PrimaryKey(t => t.id)
|
||||
.ForeignKey("dbo.maintenance", t => t.maintenance_id, cascadeDelete: true)
|
||||
.ForeignKey("dbo.user", t => t.user_id, cascadeDelete: true)
|
||||
.Index(t => t.user_id)
|
||||
.Index(t => t.maintenance_id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.performed_maintenance",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
date = c.DateTime(nullable: false, precision: 0),
|
||||
counter_value = c.Int(nullable: false),
|
||||
control_word = c.Int(nullable: false),
|
||||
maintenance = c.Int(nullable: false),
|
||||
maintainers_id = c.Int(),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
date = c.DateTime(nullable: false, precision: 0),
|
||||
counter_value = c.Int(nullable: false),
|
||||
control_word = c.Int(nullable: false),
|
||||
maintenance = c.Int(nullable: false),
|
||||
maintainers_id = c.Int(),
|
||||
})
|
||||
.PrimaryKey(t => t.id)
|
||||
.ForeignKey("dbo.user", t => t.maintainers_id)
|
||||
.ForeignKey("dbo.maintenance", t => t.maintenance, cascadeDelete: true)
|
||||
.Index(t => t.maintenance)
|
||||
.Index(t => t.maintainers_id);
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.queue",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false),
|
||||
process = c.Int(nullable: false),
|
||||
part_program_name = c.String(unicode: false),
|
||||
reps = c.Int(nullable: false),
|
||||
remaining_reps = c.Int(nullable: false),
|
||||
absolute_path = c.String(unicode: false),
|
||||
status = c.Int(nullable: false),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false),
|
||||
process = c.Int(nullable: false),
|
||||
part_program_name = c.String(unicode: false),
|
||||
reps = c.Int(nullable: false),
|
||||
remaining_reps = c.Int(nullable: false),
|
||||
absolute_path = c.String(unicode: false),
|
||||
status = c.Int(nullable: false),
|
||||
})
|
||||
.PrimaryKey(t => new { t.id, t.process });
|
||||
|
||||
|
||||
CreateTable(
|
||||
"dbo.session",
|
||||
c => new
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
token = c.String(unicode: false),
|
||||
machine_user_id = c.Int(nullable: false),
|
||||
first_login = c.DateTime(nullable: false, precision: 0),
|
||||
})
|
||||
{
|
||||
id = c.Int(nullable: false, identity: true),
|
||||
token = c.String(unicode: false),
|
||||
machine_user_id = c.Int(nullable: false),
|
||||
first_login = c.DateTime(nullable: false, precision: 0),
|
||||
})
|
||||
.PrimaryKey(t => t.id)
|
||||
.ForeignKey("dbo.machine_user", t => t.machine_user_id, cascadeDelete: true)
|
||||
.Index(t => t.machine_user_id);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
DropForeignKey("dbo.session", "machine_user_id", "dbo.machine_user");
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
namespace Thermo.Active.Database.Migrations
|
||||
{
|
||||
using System;
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
|
||||
public partial class AddedProdInfoModel : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
@@ -10,26 +9,26 @@ namespace Thermo.Active.Database.Migrations
|
||||
CreateTable(
|
||||
"dbo.ProdInfo",
|
||||
c => new
|
||||
{
|
||||
DtEvent = c.DateTime(nullable: false, precision: 0),
|
||||
NumTarget = c.Short(nullable: false),
|
||||
NumDone = c.Short(nullable: false),
|
||||
TimeWarm = c.Int(nullable: false),
|
||||
TimeVent = c.Int(nullable: false),
|
||||
TimeVacuum = c.Int(nullable: false),
|
||||
TimeCycleGross = c.Int(nullable: false),
|
||||
TimeCycleNet = c.Int(nullable: false),
|
||||
MaterialTempEndWarm = c.Double(nullable: false),
|
||||
MaterialTempEndVent = c.Double(nullable: false),
|
||||
MoldTemp = c.Double(nullable: false),
|
||||
VacuumReadVal = c.Double(nullable: false),
|
||||
MouldEnergyOUT = c.Double(nullable: false),
|
||||
MouldEnergyIN = c.Double(nullable: false),
|
||||
})
|
||||
{
|
||||
DtEvent = c.DateTime(nullable: false, precision: 0),
|
||||
NumTarget = c.Short(nullable: false),
|
||||
NumDone = c.Short(nullable: false),
|
||||
TimeWarm = c.Int(nullable: false),
|
||||
TimeVent = c.Int(nullable: false),
|
||||
TimeVacuum = c.Int(nullable: false),
|
||||
TimeCycleGross = c.Int(nullable: false),
|
||||
TimeCycleNet = c.Int(nullable: false),
|
||||
MaterialTempEndWarm = c.Double(nullable: false),
|
||||
MaterialTempEndVent = c.Double(nullable: false),
|
||||
MoldTemp = c.Double(nullable: false),
|
||||
VacuumReadVal = c.Double(nullable: false),
|
||||
MouldEnergyOUT = c.Double(nullable: false),
|
||||
MouldEnergyIN = c.Double(nullable: false),
|
||||
})
|
||||
.PrimaryKey(t => t.DtEvent);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
DropTable("dbo.ProdInfo");
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
namespace Thermo.Active.Database.Migrations
|
||||
{
|
||||
using System;
|
||||
using System.Data.Entity;
|
||||
using System.Linq;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using System.Data.Entity.Migrations;
|
||||
using static Thermo.Active.Model.Constants.FUNCTIONALITY_NAMES;
|
||||
using static Thermo.Active.Model.Constants.AREAS;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Model.Constants.AREAS;
|
||||
using static Thermo.Active.Model.Constants.FUNCTIONALITY_NAMES;
|
||||
|
||||
internal sealed class Configuration : DbMigrationsConfiguration<Thermo.Active.Database.DatabaseContext>
|
||||
{
|
||||
@@ -30,7 +27,7 @@ namespace Thermo.Active.Database.Migrations
|
||||
new RoleModel() { RoleId = (int)ROLE_IDS.CUSTOMER_MAINTAINER, Level = 10, Name = "Maintainer" }
|
||||
);
|
||||
|
||||
context.FunctionsAccess.AddOrUpdate(
|
||||
context.FunctionsAccess.AddOrUpdate(x => x.Name,
|
||||
// General Function, if plcId is 0 then the functionality is not connected to the NC
|
||||
new FunctionAccessModel() { Name = GENERAL, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 0 },
|
||||
new FunctionAccessModel() { Name = USER_FUNCTIONS, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 0 },
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Le informazioni generali relative a un assembly sono controllate dal seguente
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
public class AlarmsConfigModel
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
public class AreasConfigModel
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
public class CmsConnectConfigModel
|
||||
{
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace Thermo.Active.Model.ConfigModels
|
||||
public class MaintenanceConfigModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public Dictionary<string, string> LocalizedName { get; set; }
|
||||
public Dictionary<string, string> LocalizedName { get; set; }
|
||||
public TimeSpan Intervall { get; set; }
|
||||
public DateTime Deadline { get; set; }
|
||||
public string Type { get; set; }
|
||||
@@ -20,7 +20,7 @@ namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
public Boolean Visible { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string Company { get; set; }
|
||||
public string Company { get; set; }
|
||||
public string Email { get; set; }
|
||||
public string PhoneNumber { get; set; }
|
||||
public string WebSite { get; set; }
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Model
|
||||
{
|
||||
@@ -11,6 +6,6 @@ namespace Thermo.Active.Model
|
||||
{
|
||||
public string Title { get; set; }
|
||||
public string Message { get; set; }
|
||||
public ERROR_LEVEL ErrorLevel { get; set; }
|
||||
public ERROR_LEVEL ErrorLevel { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,10 +6,10 @@ namespace Thermo.Active.Model.ConfigModels
|
||||
public class ModBlockConfigModel
|
||||
{
|
||||
public int Id;
|
||||
public Dictionary<string,string> LocalizedLabels { get; set; }
|
||||
public Dictionary<string, string> LocalizedLabels { get; set; }
|
||||
public TACT_MBLOCK_TYPE Type { get; set; }
|
||||
public TACT_MBLOCK_SECTION Section { get; set; }
|
||||
public int IdParam{ get; set; }
|
||||
public int IdParam { get; set; }
|
||||
public bool ShowDelay { get; set; }
|
||||
public int Priority { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,18 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
public class NcConfigModel
|
||||
public class NcConfigModel
|
||||
{
|
||||
public string NcVendor { get; set; }
|
||||
public bool ShowNcHMI { get; set; }
|
||||
public string NcIpAddress { get; set; }
|
||||
public ushort NcPort { get; set; }
|
||||
public string NcUniqueId { get; set; }
|
||||
public string NcUniqueId { get; set; }
|
||||
public string NcName { get; set; }
|
||||
public string SharedPath { get; set; }
|
||||
public string SharedName { get; set; }
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Globalization;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
@@ -11,7 +6,7 @@ namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
public CultureInfo Language { get; set; }
|
||||
public int ServerPort { get; set; }
|
||||
public string ServerAddress { get; set; }
|
||||
public string ServerAddress { get; set; }
|
||||
public bool EnableDirectoryBrowsing { get; set; }
|
||||
public string DatabaseAddress { get; set; }
|
||||
public bool AutoOpenCmsClient { get; set; }
|
||||
@@ -19,7 +14,7 @@ namespace Thermo.Active.Model.ConfigModels
|
||||
|
||||
public string MTCFolderPath { get; set; }
|
||||
public string MTCApplicationName { get; set; }
|
||||
public bool CmsConnectReady { get; set; }
|
||||
public bool CmsConnectReady { get; set; }
|
||||
|
||||
public int MaxAlarmsRows { get; set; }
|
||||
public int AlarmToDelete { get; set; }
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
public class SoftwareProdConfigModel
|
||||
{
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Thermo.Active.Model.ConfigModels
|
||||
public Dictionary<string, string> LocalizedNames { get; set; }
|
||||
public int Category { get; set; }
|
||||
public bool IsActive { get; set; }
|
||||
public bool IsVisible { get; set; }
|
||||
public bool IsVisible { get; set; }
|
||||
public bool OperatorConfirmationNeeded { get; set; }
|
||||
public List<SubKeysModel> SubKeys { get; set; }
|
||||
public int PlcId { get; set; }
|
||||
|
||||
@@ -203,11 +203,11 @@ namespace Thermo.Active.Model
|
||||
|
||||
#if DEBUG
|
||||
public static readonly string CLIENT_PATH_64 = BASE_PATH + @"\Client_Debug\x64\" + CLIENT_EXE_NAME;
|
||||
public static readonly string CLIENT_PATH_86 = BASE_PATH + @"\Client_Debug\x84\" + CLIENT_EXE_NAME;
|
||||
public static readonly string CLIENT_PATH_86 = BASE_PATH + @"\Client_Debug\x86\" + CLIENT_EXE_NAME;
|
||||
public static string WEBSITE_DIRECTORY = Path.Combine(BASE_PATH, "..", "wwwroot");
|
||||
#else
|
||||
public static readonly string CLIENT_PATH_64 = BASE_PATH + @"\Client\" + CLIENT_EXE_NAME;
|
||||
public static readonly string CLIENT_PATH_86 = BASE_PATH + @"\Client\" + CLIENT_EXE_NAME;
|
||||
public static readonly string CLIENT_PATH_64 = BASE_PATH + @"\Client\x64\" + CLIENT_EXE_NAME;
|
||||
public static readonly string CLIENT_PATH_86 = BASE_PATH + @"\Client\x86\" + CLIENT_EXE_NAME;
|
||||
public static string WEBSITE_DIRECTORY = BASE_PATH + "\\view";
|
||||
#endif
|
||||
public const string CONFIG_DIRECTORY = "Config\\";
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
using CMS_CORE_Library.Utils;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.AlarmModels
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace Thermo.Active.Model.DTOModels.AlarmModels
|
||||
listAreEquals = item.PlcAlarms.All(PlcAlarms.Contains);
|
||||
if (!listAreEquals)
|
||||
return false;
|
||||
|
||||
|
||||
// Check list's elements
|
||||
listAreEquals = item.ProcessAlarms.All(ProcessAlarms.Contains);
|
||||
if (!listAreEquals)
|
||||
@@ -160,7 +160,7 @@ namespace Thermo.Active.Model.DTOModels.AlarmModels
|
||||
{
|
||||
public DateTime DateTime;
|
||||
public bool RestorationIsEnabled;
|
||||
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is DTOPlcAlarmModel item))
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.AlarmModels
|
||||
{
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
@@ -35,11 +34,11 @@ namespace Thermo.Active.Model.DTOModels
|
||||
return false;
|
||||
if (!CheckAxesDictionaries(machine, item.machine))
|
||||
return false;
|
||||
if (!CheckAxesDictionaries(programmePos , item.programmePos))
|
||||
if (!CheckAxesDictionaries(programmePos, item.programmePos))
|
||||
return false;
|
||||
if (!CheckAxesDictionaries(toGo, item.toGo))
|
||||
return false;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Thermo.Active.Model.ConfigModels;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using Thermo.Active.Model.ConfigModels;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using CMS_CORE_Library.Models;
|
||||
using System.Linq;
|
||||
using static CMS_CORE_Library.Models.DataStructures;
|
||||
using static CMS_CORE_Library.Models.ThermoModels;
|
||||
using static CMS_CORE_Library.Models.ThermoModels;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
@@ -18,7 +16,7 @@ namespace Thermo.Active.Model.DTOModels
|
||||
public string PlcVersion { get; set; }
|
||||
public string UnitOfMeasurement { get; set; }
|
||||
public string ServerVersion { get; set; }
|
||||
public string CoreLibraryVersion { get; set; }
|
||||
public string CoreLibraryVersion { get; set; }
|
||||
|
||||
private DateTime buildDate;
|
||||
private Version v;
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
public class DTONcSoftKeyModel
|
||||
{
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
public class DTONetworkMonitorModel
|
||||
{
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace Thermo.Active.Model.DTOModels
|
||||
if (IsRunning != item.IsRunning)
|
||||
return false;
|
||||
|
||||
if (SelectedProcess != item.SelectedProcess)
|
||||
if (SelectedProcess != item.SelectedProcess)
|
||||
return false;
|
||||
if (SelectedAxis != item.SelectedAxis)
|
||||
return false;
|
||||
@@ -50,7 +50,7 @@ namespace Thermo.Active.Model.DTOModels
|
||||
if (item.processes.Count != processes.Count)
|
||||
return false;
|
||||
// Check list's elements
|
||||
bool listAreEquals = item.processes.All(processes.Contains);
|
||||
bool listAreEquals = item.processes.All(processes.Contains);
|
||||
if (!listAreEquals)
|
||||
return false;
|
||||
|
||||
@@ -67,15 +67,15 @@ namespace Thermo.Active.Model.DTOModels
|
||||
if (ActiveOrigin != item.ActiveOrigin)
|
||||
return false;
|
||||
|
||||
if (ProcessMessage != item.ProcessMessage)
|
||||
if (ProcessMessage != item.ProcessMessage)
|
||||
return false;
|
||||
|
||||
|
||||
if (UnitMeasure != item.UnitMeasure)
|
||||
return false;
|
||||
|
||||
if (CanLoadProgram != item.CanLoadProgram)
|
||||
return false;
|
||||
|
||||
|
||||
if (RapidOverride != item.RapidOverride)
|
||||
return false;
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace Thermo.Active.Model.DTOModels
|
||||
|
||||
if (offsetData.RealLength != item.offsetData.RealLength)
|
||||
return false;
|
||||
|
||||
|
||||
if (offsetData.RealRadius != item.offsetData.RealRadius)
|
||||
return false;
|
||||
|
||||
@@ -94,7 +94,7 @@ namespace Thermo.Active.Model.DTOModels
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
public class DTORoleModel
|
||||
{
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using Thermo.Active.Model.ConfigModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
@@ -16,6 +11,6 @@ namespace Thermo.Active.Model.DTOModels
|
||||
public AreasConfigModel UtilitiesConfig;
|
||||
public AreasConfigModel ScadaConfig;
|
||||
public AreasConfigModel JobEditorConfig;
|
||||
public AreasConfigModel UsersConfig;
|
||||
public AreasConfigModel UsersConfig;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Globalization;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
@@ -36,7 +31,7 @@ namespace Thermo.Active.Model.DTOModels
|
||||
}
|
||||
}
|
||||
|
||||
public class DTOUserModel : DTOMessageUserModel
|
||||
public class DTOUserModel : DTOMessageUserModel
|
||||
{
|
||||
public CultureInfo Language { get; set; }
|
||||
public DTORoleModel Role { get; set; }
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using System;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using System;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.MaintenanceModels
|
||||
{
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.MaintenanceModels
|
||||
{
|
||||
@@ -19,15 +15,15 @@ namespace Thermo.Active.Model.DTOModels.MaintenanceModels
|
||||
public int Id { get; set; }
|
||||
|
||||
public DateTime DateTime { get; set; }
|
||||
|
||||
|
||||
public DTOMessageUserModel User { get; set; }
|
||||
|
||||
|
||||
public static explicit operator DTOMaintenanceNoteModel(MaintenanceNoteModel note)
|
||||
{
|
||||
DTOMessageUserModel user = note.User != null ? (DTOMessageUserModel)note.User : null;
|
||||
return new DTOMaintenanceNoteModel()
|
||||
{
|
||||
Id = note.Id,
|
||||
Id = note.Id,
|
||||
DateTime = note.DateTime,
|
||||
Message = note.Message,
|
||||
User = user
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.MaintenanceModels
|
||||
@@ -23,7 +19,7 @@ namespace Thermo.Active.Model.DTOModels.MaintenanceModels
|
||||
|
||||
[Required]
|
||||
public MAINTENANCE_TYPE Type { get; set; }
|
||||
|
||||
|
||||
public MAINTENANCE_UNIT_OF_MEASURE? UnitOfMeasure { get; set; }
|
||||
}
|
||||
|
||||
@@ -53,6 +49,6 @@ namespace Thermo.Active.Model.DTOModels.MaintenanceModels
|
||||
public int ControlWord { get; set; }
|
||||
|
||||
public string User { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,7 +196,7 @@ namespace Thermo.Active.Model.DTOModels.Scada
|
||||
if (item.IsEnabled != IsEnabled)
|
||||
return false;
|
||||
|
||||
if(item.Value != null && item.Value != null)
|
||||
if (item.Value != null && item.Value != null)
|
||||
{
|
||||
if (!item.Value.Equals(Value))
|
||||
return false;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.Scada
|
||||
{
|
||||
@@ -27,7 +25,7 @@ namespace Thermo.Active.Model.DTOModels.Scada
|
||||
[XmlArray("buttons")]
|
||||
[XmlArrayItem("button", typeof(ScadaSchemaButtonModel))]
|
||||
public ScadaSchemaButtonModel[] Buttons { get; set; }
|
||||
|
||||
|
||||
[XmlArray("images")]
|
||||
[XmlArrayItem("image", typeof(ScadaSchemaImageModel))]
|
||||
public ScadaSchemaImageModel[] Images { get; set; }
|
||||
@@ -39,8 +37,8 @@ namespace Thermo.Active.Model.DTOModels.Scada
|
||||
[XmlArray("progressBars")]
|
||||
[XmlArrayItem("progressBar", typeof(ScadaSchemaProgressBarModel))]
|
||||
public ScadaSchemaProgressBarModel[] ProgressBars { get; set; }
|
||||
|
||||
[XmlArray("inputs")]
|
||||
|
||||
[XmlArray("inputs")]
|
||||
[XmlArrayItem("input", typeof(ScadaSchemaInputModel))]
|
||||
public ScadaSchemaInputModel[] Inputs { get; set; }
|
||||
}
|
||||
@@ -55,7 +53,7 @@ namespace Thermo.Active.Model.DTOModels.Scada
|
||||
|
||||
[XmlElement("position")]
|
||||
public ScadaSchemaPositionModel Position { get; set; }
|
||||
|
||||
|
||||
[XmlElement("size")]
|
||||
public ScadaSchemaSizeModel Size { get; set; }
|
||||
|
||||
@@ -98,7 +96,7 @@ namespace Thermo.Active.Model.DTOModels.Scada
|
||||
public ScadaSchemaSizeModel Size { get; set; }
|
||||
|
||||
[XmlElement("memEnabledIndex")]
|
||||
public string MemEnabledIndex { get; set; }
|
||||
public string MemEnabledIndex { get; set; }
|
||||
}
|
||||
|
||||
public class ScadaSchemaProgressBarModel
|
||||
@@ -131,16 +129,16 @@ namespace Thermo.Active.Model.DTOModels.Scada
|
||||
public ScadaSchemaSizeModel Size { get; set; }
|
||||
|
||||
[XmlElement("status")]
|
||||
public ScadaSchemaInputDataModel Status { get; set; }
|
||||
public ScadaSchemaInputDataModel Status { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Support objects
|
||||
/// </summary>
|
||||
public class ScadaSchemaLabelDataModel
|
||||
public class ScadaSchemaLabelDataModel
|
||||
{
|
||||
[XmlElement("backgroundColor")]
|
||||
public string BackgroundColor { get; set; }
|
||||
[XmlElement("backgroundColor")]
|
||||
public string BackgroundColor { get; set; }
|
||||
|
||||
[XmlElement("textAlign")]
|
||||
public string TextAlign { get; set; }
|
||||
@@ -150,10 +148,10 @@ namespace Thermo.Active.Model.DTOModels.Scada
|
||||
|
||||
[XmlElement("textSize")]
|
||||
public int TextSize { get; set; }
|
||||
|
||||
|
||||
[XmlElement("textContent")]
|
||||
public LocalizedText[] TextContents { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
public class LocalizedText
|
||||
{
|
||||
@@ -193,7 +191,7 @@ namespace Thermo.Active.Model.DTOModels.Scada
|
||||
{
|
||||
[XmlElement("memEnabledIndex")]
|
||||
public string MemEnabledIndex { get; set; }
|
||||
|
||||
|
||||
[XmlElement("memClickIndex")]
|
||||
public string MemClickIndex { get; set; }
|
||||
}
|
||||
@@ -202,7 +200,7 @@ namespace Thermo.Active.Model.DTOModels.Scada
|
||||
{
|
||||
[XmlAttribute("negate")]
|
||||
public bool Negate { get; set; }
|
||||
|
||||
|
||||
[XmlAttribute("clickEnabled")]
|
||||
public bool ClickEnabled { get; set; }
|
||||
|
||||
@@ -223,10 +221,10 @@ namespace Thermo.Active.Model.DTOModels.Scada
|
||||
|
||||
[XmlElement("type")]
|
||||
public string Type { get; set; }
|
||||
|
||||
|
||||
[XmlElement("action")]
|
||||
public string Action { get; set; }
|
||||
|
||||
|
||||
[XmlElement("round")]
|
||||
public int Round { get; set; }
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user