diff --git a/Step.Config/Config/maintenancesConfig.xml b/Step.Config/Config/maintenancesConfig.xml index f173d702..959d0e61 100644 --- a/Step.Config/Config/maintenancesConfig.xml +++ b/Step.Config/Config/maintenancesConfig.xml @@ -2,27 +2,33 @@ 1 - + Manutenzione scaduta Manutenzione scaduta - + 10 15/06/2018 13:00 EXP_DATE - DescriptionUNO + + Test 2 + Ita 2 + D 2 2 - + Test 2 Ita 2 - + 1000 15/07/2018 13:00 MACHINE_INTERVAL - Description + + Test 2 + Ita 2 + mm 1 diff --git a/Step.Config/Config/maintenancesConfigValidator.xsd b/Step.Config/Config/maintenancesConfigValidator.xsd index 61852034..05891eae 100644 --- a/Step.Config/Config/maintenancesConfigValidator.xsd +++ b/Step.Config/Config/maintenancesConfigValidator.xsd @@ -9,7 +9,7 @@ - + @@ -19,7 +19,14 @@ - + + + + + + + + diff --git a/Step.Config/ServerConfigController.cs b/Step.Config/ServerConfigController.cs index 42f0cddb..942a6cd9 100644 --- a/Step.Config/ServerConfigController.cs +++ b/Step.Config/ServerConfigController.cs @@ -206,14 +206,16 @@ namespace Step.Config new MaintenanceConfigModel() { Id = Convert.ToInt32(x.Element("id").Value), - LocalizedNames = x.Element("localizedNames").Elements().ToDictionary( // Read names list + LocalizedName = x.Element("localizedName").Elements().ToDictionary( // Read localized names y => y.Attribute("langKey").Value, y => y.Value ), Intervall = TimeSpan.FromMinutes(Convert.ToDouble(x.Element("interval").Value)), Deadline = DateTime.Parse(x.Element("deadline").Value), Type = x.Element("type").Value, CouterId = Convert.ToInt32(x.Element("counterId").Value), - Description = x.Element("description").Value, + LocalizedDescription = x.Element("localizedDescription").Elements().ToDictionary( // Read localization of description + y => y.Attribute("langKey").Value, y => y.Value + ), UnitOfMeasure = x.Element("unitOfMeasure").Value }) .ToList(); diff --git a/Step.Database/Controllers/MaintenancesController.cs b/Step.Database/Controllers/MaintenancesController.cs index b6fd1965..1ce1707d 100644 --- a/Step.Database/Controllers/MaintenancesController.cs +++ b/Step.Database/Controllers/MaintenancesController.cs @@ -165,7 +165,6 @@ namespace Step.Database.Controllers old.Interval = x.Intervall.TotalMinutes; old.Type = (MAINTENANCE_TYPE) Enum.Parse(typeof(MAINTENANCE_TYPE), x.Type); old.CounterId = x.CouterId; - old.Description = x.Description; old.UnitOfMeasure = (MAINTENANCE_UNIT_OF_MEASURE)Enum.Parse(typeof(MAINTENANCE_UNIT_OF_MEASURE), x.UnitOfMeasure); return old; }).FirstOrDefault(); @@ -184,7 +183,6 @@ namespace Step.Database.Controllers Type = (MAINTENANCE_TYPE)Enum.Parse(typeof(MAINTENANCE_TYPE), x.Type), CounterId = x.CouterId, CreationDate = DateTime.Now, - Description = x.Description, UnitOfMeasure = (MAINTENANCE_UNIT_OF_MEASURE) Enum.Parse(typeof(MAINTENANCE_UNIT_OF_MEASURE),x.UnitOfMeasure), UserId = null, LastExpirationDate = null diff --git a/Step.Model/ConfigModels/MaintenanceConfigModel.cs b/Step.Model/ConfigModels/MaintenanceConfigModel.cs index 2c5191c8..535be5ef 100644 --- a/Step.Model/ConfigModels/MaintenanceConfigModel.cs +++ b/Step.Model/ConfigModels/MaintenanceConfigModel.cs @@ -6,13 +6,13 @@ namespace Step.Model.ConfigModels public class MaintenanceConfigModel { public int Id { get; set; } - public Dictionary LocalizedNames { get; set; } + public Dictionary LocalizedName { get; set; } public TimeSpan Intervall { get; set; } public DateTime Deadline { get; set; } public string Type { get; set; } public int CouterId { get; set; } public string Title { get; set; } - public string Description { get; set; } + public Dictionary LocalizedDescription { get; set; } public string UnitOfMeasure { get; set; } } } \ No newline at end of file diff --git a/Step.Model/Constants.cs b/Step.Model/Constants.cs index 53218bf7..8a993f37 100644 --- a/Step.Model/Constants.cs +++ b/Step.Model/Constants.cs @@ -155,6 +155,7 @@ namespace Step.Model // ID prefix public const string MAINTENANCE_PREFIX_ID = "maint_"; + public const string MAINTENANCE_DESC_PREFIX_ID = "maint_desc_"; public const string SOFTKEY_PREFIX_ID = "softkey_"; public const string ALARM_PREFIX = "alarm_"; diff --git a/Step/Controllers/WebApi/LanguageController.cs b/Step/Controllers/WebApi/LanguageController.cs index 8ae68c1b..45f0ccd1 100644 --- a/Step/Controllers/WebApi/LanguageController.cs +++ b/Step/Controllers/WebApi/LanguageController.cs @@ -52,11 +52,23 @@ namespace Step.Controllers.WebApi private static Dictionary GetLocalizeMaintenanceName(string language) { - return MaintenancesConfig + Dictionary localizedStrings = new Dictionary(); + + // Get localized name + localizedStrings = MaintenancesConfig .ToDictionary( x => MAINTENANCE_PREFIX_ID + x.Id.ToString(), // Prefix + maintenance id - x => GetValueFromMaintenanceNameList(x.LocalizedNames, language, "Maintenance_" + x.Id) + x => GetValueFromLocalizationList(x.LocalizedName, language, "Maintenance_" + x.Id) ); + + // Get localized description + localizedStrings = localizedStrings.Concat( MaintenancesConfig + .ToDictionary( + x => MAINTENANCE_DESC_PREFIX_ID + x.Id.ToString(), // Description Prefix + maintenance id + x => GetValueFromLocalizationList(x.LocalizedDescription, language, "Maintenance_" + x.Id) + )).ToDictionary(x => x.Key, x => x.Value); + + return localizedStrings; } private static Dictionary GetLocalizedSoftKeysNames(string language) @@ -64,11 +76,11 @@ namespace Step.Controllers.WebApi return SoftKeysConfig .ToDictionary( x => SOFTKEY_PREFIX_ID + x.Id.ToString(), // PREFIX + softkey Id - x => GetValueFromMaintenanceNameList(x.LocalizedNames, language, "SoftKey_" + x.Id) + x => GetValueFromLocalizationList(x.LocalizedNames, language, "SoftKey_" + x.Id) ); } - private static string GetValueFromMaintenanceNameList(Dictionary localizedNames, string language, string defaultString) + private static string GetValueFromLocalizationList(Dictionary localizedNames, string language, string defaultString) { // Find text from names by language id var value = localizedNames.Where(y => y.Key == language).FirstOrDefault();