From 57613280e2f2009e3085796a679b4ea98298dc98 Mon Sep 17 00:00:00 2001 From: Lucio Maranta Date: Wed, 17 Jan 2018 15:21:49 +0100 Subject: [PATCH] + Added language to client config Refactor --- Step.Config/ServerConfigController.cs | 22 ++++++++++--------- Step.Config/serverConfig.xml | 4 ++-- Step.Model/ConfigModels/ServerConfigModel.cs | 3 ++- .../DTOModels/DTOClientConfigurationModel.cs | 21 ++++++++++++++++-- Step.Utils/LanguageController.cs | 2 +- Step.Utils/Step.Utils.csproj | 3 +++ Step.Utils/languages/zh.xml | 14 ++++++++++++ .../WebApi/ConfigurationController.cs | 3 ++- Step/program.cs | 2 +- 9 files changed, 56 insertions(+), 18 deletions(-) create mode 100644 Step.Utils/languages/zh.xml diff --git a/Step.Config/ServerConfigController.cs b/Step.Config/ServerConfigController.cs index 4a8ff988..351ef3c6 100644 --- a/Step.Config/ServerConfigController.cs +++ b/Step.Config/ServerConfigController.cs @@ -7,6 +7,7 @@ using Step.Model.ConfigModels; using static Step.Utils.Constants; using Step.Utils; using System.Collections.Generic; +using System.Globalization; namespace Step.Config { @@ -43,7 +44,7 @@ namespace Step.Config .Descendants(SERVER_CONFIG_KEY) .Select(x => new ServerConfigModel() { // Set server config model data - Language = x.Element("language").Value, + Language = CultureInfo.CreateSpecificCulture(x.Element("language").Value), ServerPort = Convert.ToInt32(x.Element("serverPort").Value), EnableDirectoryBrowsing = Convert.ToBoolean(x.Element("enableDirectoryBrowsing").Value) }).FirstOrDefault(); @@ -55,7 +56,8 @@ namespace Step.Config .ToList() .ForEach(x => SetAreaValueByName(x)); // Loop through elements - } catch (Exception ex) + } + catch (Exception ex) { ExceptionManager.Manage(ex); } @@ -68,30 +70,30 @@ namespace Step.Config switch (element.Name.ToString()) { case AREAS.PRODUCTION_KEY: - SetAreaValue(ref ProductionConfig, element); + SetAreaValue(ref ProductionConfig, element); break; case AREAS.TOOLING_KEY: - SetAreaValue(ref ToolingConfig, element); + SetAreaValue(ref ToolingConfig, element); break; case AREAS.REPORT_KEY: - SetAreaValue(ref ReportConfig, element); + SetAreaValue(ref ReportConfig, element); break; case AREAS.ALARMS_KEY: - SetAreaValue(ref AlarmsConfig, element); + SetAreaValue(ref AlarmsConfig, element); break; case AREAS.MAINTENANCE_KEY: - SetAreaValue(ref MaintenanceConfig, element); + SetAreaValue(ref MaintenanceConfig, element); break; case AREAS.UTILITIES_KEY: - SetAreaValue(ref UtilitiesConfig, element); + SetAreaValue(ref UtilitiesConfig, element); break; case AREAS.SCADA_KEY: - SetAreaValue(ref ScadaConfig, element); + SetAreaValue(ref ScadaConfig, element); break; } } - private static void SetAreaValue (ref AreasConfigModel areasConfig, XElement element) + private static void SetAreaValue(ref AreasConfigModel areasConfig, XElement element) { // Set area model with xml data areasConfig = new AreasConfigModel() diff --git a/Step.Config/serverConfig.xml b/Step.Config/serverConfig.xml index e384e1ab..e2ef49e9 100644 --- a/Step.Config/serverConfig.xml +++ b/Step.Config/serverConfig.xml @@ -2,14 +2,14 @@ FANUC - true + false 10.69.36.33 8193 Ares 9000 - ita + en true diff --git a/Step.Model/ConfigModels/ServerConfigModel.cs b/Step.Model/ConfigModels/ServerConfigModel.cs index 93077774..74e362cc 100644 --- a/Step.Model/ConfigModels/ServerConfigModel.cs +++ b/Step.Model/ConfigModels/ServerConfigModel.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -8,7 +9,7 @@ namespace Step.Model.ConfigModels { public class ServerConfigModel { - public string Language { get; set; } + public CultureInfo Language { get; set; } public int ServerPort { get; set; } public bool EnableDirectoryBrowsing { get; set; } } diff --git a/Step.Model/DTOModels/DTOClientConfigurationModel.cs b/Step.Model/DTOModels/DTOClientConfigurationModel.cs index 59ed44ed..d049d027 100644 --- a/Step.Model/DTOModels/DTOClientConfigurationModel.cs +++ b/Step.Model/DTOModels/DTOClientConfigurationModel.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -8,7 +9,23 @@ namespace Step.Model.DTOModels { public class DTOClientConfigurationModel { - public string NcVendor; - public bool ShowHMI; + public string NcVendor { get; set; } + public bool ShowHMI { get; set; } + public string _language { private get; set; } + + public CultureInfo DefaultLanguage + { + get + { + if (_language != null) + return new CultureInfo(_language); + else + return new CultureInfo("en-US"); + } + set + { + _language = value.TwoLetterISOLanguageName; + } + } } } diff --git a/Step.Utils/LanguageController.cs b/Step.Utils/LanguageController.cs index 6c1c0ed9..f093be89 100644 --- a/Step.Utils/LanguageController.cs +++ b/Step.Utils/LanguageController.cs @@ -67,7 +67,7 @@ namespace Step.Utils DTOLanguageModel language = new DTOLanguageModel() // Create language model { IsoId = info.TwoLetterISOLanguageName, - Name = info.DisplayName + Name = info.NativeName }; return language; }) diff --git a/Step.Utils/Step.Utils.csproj b/Step.Utils/Step.Utils.csproj index a0e45b95..a264df0d 100644 --- a/Step.Utils/Step.Utils.csproj +++ b/Step.Utils/Step.Utils.csproj @@ -79,6 +79,9 @@ PreserveNewest + + PreserveNewest + Always diff --git a/Step.Utils/languages/zh.xml b/Step.Utils/languages/zh.xml new file mode 100644 index 00000000..ef102736 --- /dev/null +++ b/Step.Utils/languages/zh.xml @@ -0,0 +1,14 @@ + + 機器信息 + 用戶設置 + 註銷 + 語言 + 取消 + 保存 + 用戶登錄 + 用戶名 + 密碼 + 登錄 + 錯誤的用戶名 + 錯誤的密碼 + \ No newline at end of file diff --git a/Step/Controllers/WebApi/ConfigurationController.cs b/Step/Controllers/WebApi/ConfigurationController.cs index 56bf075d..8b8e749c 100644 --- a/Step/Controllers/WebApi/ConfigurationController.cs +++ b/Step/Controllers/WebApi/ConfigurationController.cs @@ -30,7 +30,8 @@ namespace Step.Controllers.WebApi DTOClientConfigurationModel clientConfiguration = new DTOClientConfigurationModel() { NcVendor = NcConfig.NcVendor, - ShowHMI = NcConfig.showNcHMI + ShowHMI = NcConfig.showNcHMI, + DefaultLanguage = ServerStartupConfig.Language }; return Ok(clientConfiguration); diff --git a/Step/program.cs b/Step/program.cs index d768bb96..3c9bfe09 100644 --- a/Step/program.cs +++ b/Step/program.cs @@ -28,7 +28,7 @@ namespace Step DatabaseContext.TestDatabaseConnection(); // Start self host application - string configuredUri = "http://localhost:" + ServerStartupConfig.ServerPort.ToString(); + string configuredUri = "http://*:" + ServerStartupConfig.ServerPort.ToString(); // Register listener to "close application" messages MessageServices.Current.Subscribe(MVVM_STOP_SERVER, (a, b) =>