diff --git a/Standards/IStandards/Eurocode/IEurocode.cs b/Standards/IStandards/Eurocode/IEurocode.cs index 3cbb35e..0ba3faf 100644 --- a/Standards/IStandards/Eurocode/IEurocode.cs +++ b/Standards/IStandards/Eurocode/IEurocode.cs @@ -4,7 +4,7 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode { public interface IEurocode : IStandard { - Enum Part { get; } NationalAnnex NationalAnnex { get; } + Eurocode Code { get; } } } diff --git a/Standards/IStandards/IStandard.cs b/Standards/IStandards/IStandard.cs index 9ac3280..26d2a77 100644 --- a/Standards/IStandards/IStandard.cs +++ b/Standards/IStandards/IStandard.cs @@ -6,7 +6,6 @@ namespace MagmaWorks.Taxonomy.Standards public interface IStandard : ITaxonomySerializable { StandardBody Body { get; } - Enum Code { get; } string Title { get; } } } diff --git a/Standards/Standards/Eurocode/EN1990.cs b/Standards/Standards/Eurocode/EN1990.cs index 0d82cbb..d712e30 100644 --- a/Standards/Standards/Eurocode/EN1990.cs +++ b/Standards/Standards/Eurocode/EN1990.cs @@ -1,15 +1,11 @@ -using System; - -namespace MagmaWorks.Taxonomy.Standards.Eurocode +namespace MagmaWorks.Taxonomy.Standards.Eurocode { public class EN1990 : IEurocode { public StandardBody Body => StandardBody.EN; - public Enum Code { get; } = Eurocode.EN1990; - public Enum Part => EN1990Part; + public Eurocode Code { get; } = Eurocode.EN1990; public NationalAnnex NationalAnnex { get; set; } = NationalAnnex.RecommendedValues; public string Title => GetTitle(); - private EN1990Part EN1990Part = EN1990Part.None; public EN1990() { } @@ -21,8 +17,8 @@ public EN1990(NationalAnnex nationalAnnex) private string GetTitle() { string prefix = NationalAnnexUtility.GetAbbreviation(NationalAnnex); - string codeNo = EurocodeUtility.GetCodeNumber(this); - string name = EurocodeUtility.GetCodeTitle((Eurocode)Code); + string codeNo = Code.ToString().Replace("EN", "EN "); + string name = EurocodeUtility.GetCodeTitle(Code); return $"{prefix} {codeNo}: {name}".TrimStart(' '); } } diff --git a/Standards/Standards/Eurocode/EN1991.cs b/Standards/Standards/Eurocode/EN1991.cs index ec41abe..41e3580 100644 --- a/Standards/Standards/Eurocode/EN1991.cs +++ b/Standards/Standards/Eurocode/EN1991.cs @@ -5,26 +5,26 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode public class EN1991 : IEurocode { public StandardBody Body => StandardBody.EN; - public Enum Code { get; } = Eurocode.EN1991; - public Enum Part => EN1991Part; + public Eurocode Code { get; } = Eurocode.EN1991; + public EN1991Part Part { get; set; } = EN1991Part.Part1_1; public NationalAnnex NationalAnnex { get; set; } = NationalAnnex.RecommendedValues; public string Title => GetTitle(); - private EN1991Part EN1991Part = EN1991Part.Part1_1; public EN1991() { } public EN1991(EN1991Part part, NationalAnnex nationalAnnex) { - EN1991Part = part; + Part = part; NationalAnnex = nationalAnnex; } private string GetTitle() { string prefix = NationalAnnexUtility.GetAbbreviation(NationalAnnex); - string codeNo = EurocodeUtility.GetCodeNumber(this); - string name = EurocodeUtility.GetCodeTitle((Eurocode)Code); - string part = EN1991Utility.GetPartDescription(EN1991Part); + string codeNo = Code.ToString().Replace("EN", "EN ") + + Part.ToString().Replace("Part", "-").Replace("_", "-"); + string name = EurocodeUtility.GetCodeTitle(Code); + string part = EN1991Utility.GetPartDescription(Part); return $"{prefix} {codeNo}: {name} - {part}".TrimStart(' '); } } diff --git a/Standards/Standards/Eurocode/EN1992.cs b/Standards/Standards/Eurocode/EN1992.cs index fe4f5ed..0052f84 100644 --- a/Standards/Standards/Eurocode/EN1992.cs +++ b/Standards/Standards/Eurocode/EN1992.cs @@ -5,26 +5,26 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode public class EN1992 : IEurocode { public StandardBody Body => StandardBody.EN; - public Enum Code { get; } = Eurocode.EN1992; - public Enum Part => EN1992Part; + public Eurocode Code { get; } = Eurocode.EN1992; + public EN1992Part Part { get; set; } = EN1992Part.Part1_1; public NationalAnnex NationalAnnex { get; set; } = NationalAnnex.RecommendedValues; public string Title => GetTitle(); - private EN1992Part EN1992Part = EN1992Part.Part1_1; public EN1992() { } public EN1992(EN1992Part part, NationalAnnex nationalAnnex) { - EN1992Part = part; + Part = part; NationalAnnex = nationalAnnex; } private string GetTitle() { string prefix = NationalAnnexUtility.GetAbbreviation(NationalAnnex); - string codeNo = EurocodeUtility.GetCodeNumber(this); - string name = EurocodeUtility.GetCodeTitle((Eurocode)Code); - string part = EN1992Utility.GetPartDescription(EN1992Part); + string codeNo = Code.ToString().Replace("EN", "EN ") + + Part.ToString().Replace("Part", "-").Replace("_", "-"); + string name = EurocodeUtility.GetCodeTitle(Code); + string part = EN1992Utility.GetPartDescription(Part); return $"{prefix} {codeNo}: {name} - {part}".TrimStart(' '); } } diff --git a/Standards/Standards/Eurocode/EN1993.cs b/Standards/Standards/Eurocode/EN1993.cs index efee1c9..c55225b 100644 --- a/Standards/Standards/Eurocode/EN1993.cs +++ b/Standards/Standards/Eurocode/EN1993.cs @@ -5,26 +5,26 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode public class EN1993 : IEurocode { public StandardBody Body => StandardBody.EN; - public Enum Code { get; } = Eurocode.EN1993; - public Enum Part => EN1993Part; + public Eurocode Code { get; } = Eurocode.EN1993; + public EN1993Part Part { get; set; } = EN1993Part.Part1_1; public NationalAnnex NationalAnnex { get; set; } = NationalAnnex.RecommendedValues; public string Title => GetTitle(); - private EN1993Part EN1993Part = EN1993Part.Part1_1; public EN1993() { } public EN1993(EN1993Part part, NationalAnnex nationalAnnex) { - EN1993Part = part; + Part = part; NationalAnnex = nationalAnnex; } private string GetTitle() { string prefix = NationalAnnexUtility.GetAbbreviation(NationalAnnex); - string codeNo = EurocodeUtility.GetCodeNumber(this); - string name = EurocodeUtility.GetCodeTitle((Eurocode)Code); - string part = EN1993Utility.GetPartDescription(EN1993Part); + string codeNo = Code.ToString().Replace("EN", "EN ") + + Part.ToString().Replace("Part", "-").Replace("_", "-"); + string name = EurocodeUtility.GetCodeTitle(Code); + string part = EN1993Utility.GetPartDescription(Part); return $"{prefix} {codeNo}: {name} - {part}".TrimStart(' '); } } diff --git a/Standards/Standards/Eurocode/EN1994.cs b/Standards/Standards/Eurocode/EN1994.cs index 4e017d0..4bef4ac 100644 --- a/Standards/Standards/Eurocode/EN1994.cs +++ b/Standards/Standards/Eurocode/EN1994.cs @@ -5,26 +5,26 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode public class EN1994 : IEurocode { public StandardBody Body => StandardBody.EN; - public Enum Code { get; } = Eurocode.EN1994; - public Enum Part => EN1994Part; + public Eurocode Code { get; } = Eurocode.EN1994; + public EN1994Part Part { get; set; } = EN1994Part.Part1_1; public NationalAnnex NationalAnnex { get; set; } = NationalAnnex.RecommendedValues; public string Title => GetTitle(); - private EN1994Part EN1994Part = EN1994Part.Part1_1; public EN1994() { } public EN1994(EN1994Part part, NationalAnnex nationalAnnex) { - EN1994Part = part; + Part = part; NationalAnnex = nationalAnnex; } private string GetTitle() { string prefix = NationalAnnexUtility.GetAbbreviation(NationalAnnex); - string codeNo = EurocodeUtility.GetCodeNumber(this); - string name = EurocodeUtility.GetCodeTitle((Eurocode)Code); - string part = EN1994Utility.GetPartDescription(EN1994Part); + string codeNo = Code.ToString().Replace("EN", "EN ") + + Part.ToString().Replace("Part", "-").Replace("_", "-"); + string name = EurocodeUtility.GetCodeTitle(Code); + string part = EN1994Utility.GetPartDescription(Part); return $"{prefix} {codeNo}: {name} - {part}".TrimStart(' '); } } diff --git a/Standards/Standards/Eurocode/EN1995.cs b/Standards/Standards/Eurocode/EN1995.cs index bad6c4f..73b1d75 100644 --- a/Standards/Standards/Eurocode/EN1995.cs +++ b/Standards/Standards/Eurocode/EN1995.cs @@ -5,26 +5,26 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode public class EN1995 : IEurocode { public StandardBody Body => StandardBody.EN; - public Enum Code { get; } = Eurocode.EN1995; - public Enum Part => EN1995Part; + public Eurocode Code { get; } = Eurocode.EN1995; + public EN1995Part Part { get; set; } = EN1995Part.Part1_1; public NationalAnnex NationalAnnex { get; set; } = NationalAnnex.RecommendedValues; public string Title => GetTitle(); - private EN1995Part EN1995Part = EN1995Part.Part1_1; public EN1995() { } public EN1995(EN1995Part part, NationalAnnex nationalAnnex) { - EN1995Part = part; + Part = part; NationalAnnex = nationalAnnex; } private string GetTitle() { string prefix = NationalAnnexUtility.GetAbbreviation(NationalAnnex); - string codeNo = EurocodeUtility.GetCodeNumber(this); - string name = EurocodeUtility.GetCodeTitle((Eurocode)Code); - string part = EN1995Utility.GetPartDescription(EN1995Part); + string codeNo = Code.ToString().Replace("EN", "EN ") + + Part.ToString().Replace("Part", "-").Replace("_", "-"); + string name = EurocodeUtility.GetCodeTitle(Code); + string part = EN1995Utility.GetPartDescription(Part); return $"{prefix} {codeNo}: {name} - {part}".TrimStart(' '); } } diff --git a/Standards/Standards/Eurocode/EN1996.cs b/Standards/Standards/Eurocode/EN1996.cs index 4414a5d..e3a61c7 100644 --- a/Standards/Standards/Eurocode/EN1996.cs +++ b/Standards/Standards/Eurocode/EN1996.cs @@ -5,26 +5,26 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode public class EN1996 : IEurocode { public StandardBody Body => StandardBody.EN; - public Enum Code { get; } = Eurocode.EN1996; - public Enum Part => EN1996Part; + public Eurocode Code { get; } = Eurocode.EN1996; + public EN1996Part Part { get; set; } = EN1996Part.Part1_1; public NationalAnnex NationalAnnex { get; set; } = NationalAnnex.RecommendedValues; public string Title => GetTitle(); - private EN1996Part EN1996Part = EN1996Part.Part1_1; public EN1996() { } public EN1996(EN1996Part part, NationalAnnex nationalAnnex) { - EN1996Part = part; + Part = part; NationalAnnex = nationalAnnex; } private string GetTitle() { string prefix = NationalAnnexUtility.GetAbbreviation(NationalAnnex); - string codeNo = EurocodeUtility.GetCodeNumber(this); - string name = EurocodeUtility.GetCodeTitle((Eurocode)Code); - string part = EN1996Utility.GetPartDescription(EN1996Part); + string codeNo = Code.ToString().Replace("EN", "EN ") + + Part.ToString().Replace("Part", "-").Replace("_", "-"); + string name = EurocodeUtility.GetCodeTitle(Code); + string part = EN1996Utility.GetPartDescription(Part); return $"{prefix} {codeNo}: {name} - {part}".TrimStart(' '); } } diff --git a/Standards/Standards/Eurocode/EN1997.cs b/Standards/Standards/Eurocode/EN1997.cs index 8415fb4..c3d8aa8 100644 --- a/Standards/Standards/Eurocode/EN1997.cs +++ b/Standards/Standards/Eurocode/EN1997.cs @@ -5,26 +5,26 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode public class EN1997 : IEurocode { public StandardBody Body => StandardBody.EN; - public Enum Code { get; } = Eurocode.EN1997; - public Enum Part => EN1997Part; + public Eurocode Code { get; } = Eurocode.EN1997; + public EN1997Part Part { get; set; } = EN1997Part.Part1; public NationalAnnex NationalAnnex { get; set; } = NationalAnnex.RecommendedValues; public string Title => GetTitle(); - private EN1997Part EN1997Part = EN1997Part.Part1; public EN1997() { } public EN1997(EN1997Part part, NationalAnnex nationalAnnex) { - EN1997Part = part; + Part = part; NationalAnnex = nationalAnnex; } private string GetTitle() { string prefix = NationalAnnexUtility.GetAbbreviation(NationalAnnex); - string codeNo = EurocodeUtility.GetCodeNumber(this); - string name = EurocodeUtility.GetCodeTitle((Eurocode)Code); - string part = EN1997Utility.GetPartDescription(EN1997Part); + string codeNo = Code.ToString().Replace("EN", "EN ") + + Part.ToString().Replace("Part", "-").Replace("_", "-"); + string name = EurocodeUtility.GetCodeTitle(Code); + string part = EN1997Utility.GetPartDescription(Part); return $"{prefix} {codeNo}: {name} - {part}".TrimStart(' '); } } diff --git a/Standards/Standards/Eurocode/EN1998.cs b/Standards/Standards/Eurocode/EN1998.cs index d1e7d06..418f189 100644 --- a/Standards/Standards/Eurocode/EN1998.cs +++ b/Standards/Standards/Eurocode/EN1998.cs @@ -5,26 +5,26 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode public class EN1998 : IEurocode { public StandardBody Body => StandardBody.EN; - public Enum Code { get; } = Eurocode.EN1998; - public Enum Part => EN1998Part; + public Eurocode Code { get; } = Eurocode.EN1998; + public EN1998Part Part { get; set; } = EN1998Part.Part1; public NationalAnnex NationalAnnex { get; set; } = NationalAnnex.RecommendedValues; public string Title => GetTitle(); - private EN1998Part EN1998Part = EN1998Part.Part1; public EN1998() { } public EN1998(EN1998Part part, NationalAnnex nationalAnnex) { - EN1998Part = part; + Part = part; NationalAnnex = nationalAnnex; } private string GetTitle() { string prefix = NationalAnnexUtility.GetAbbreviation(NationalAnnex); - string codeNo = EurocodeUtility.GetCodeNumber(this); - string name = EurocodeUtility.GetCodeTitle((Eurocode)Code); - string part = EN1998Utility.GetPartDescription(EN1998Part); + string codeNo = Code.ToString().Replace("EN", "EN ") + + Part.ToString().Replace("Part", "-").Replace("_", "-"); + string name = EurocodeUtility.GetCodeTitle(Code); + string part = EN1998Utility.GetPartDescription(Part); return $"{prefix} {codeNo}: {name} - {part}".TrimStart(' '); } } diff --git a/Standards/Standards/Eurocode/EN1999.cs b/Standards/Standards/Eurocode/EN1999.cs index f75b318..a22feb1 100644 --- a/Standards/Standards/Eurocode/EN1999.cs +++ b/Standards/Standards/Eurocode/EN1999.cs @@ -5,26 +5,26 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode public class EN1999 : IEurocode { public StandardBody Body => StandardBody.EN; - public Enum Code { get; } = Eurocode.EN1999; - public Enum Part => EN1999Part; + public Eurocode Code { get; } = Eurocode.EN1999; + public EN1999Part Part { get; set; } = EN1999Part.Part1_1; public NationalAnnex NationalAnnex { get; set; } = NationalAnnex.RecommendedValues; public string Title => GetTitle(); - private EN1999Part EN1999Part = EN1999Part.Part1_1; public EN1999() { } public EN1999(EN1999Part part, NationalAnnex nationalAnnex) { - EN1999Part = part; + Part = part; NationalAnnex = nationalAnnex; } private string GetTitle() { string prefix = NationalAnnexUtility.GetAbbreviation(NationalAnnex); - string codeNo = EurocodeUtility.GetCodeNumber(this); - string name = EurocodeUtility.GetCodeTitle((Eurocode)Code); - string part = EN1999Utility.GetPartDescription(EN1999Part); + string codeNo = Code.ToString().Replace("EN", "EN ") + + Part.ToString().Replace("Part", "-").Replace("_", "-"); + string name = EurocodeUtility.GetCodeTitle(Code); + string part = EN1999Utility.GetPartDescription(Part); return $"{prefix} {codeNo}: {name} - {part}".TrimStart(' '); } } diff --git a/Standards/Standards/Eurocode/Utility/EurocodeUtility.cs b/Standards/Standards/Eurocode/Utility/EurocodeUtility.cs index ebab17b..ec5b9b4 100644 --- a/Standards/Standards/Eurocode/Utility/EurocodeUtility.cs +++ b/Standards/Standards/Eurocode/Utility/EurocodeUtility.cs @@ -2,18 +2,6 @@ { internal static class EurocodeUtility { - internal static string GetCodeNumber(IEurocode eurocode) - { - string part = string.Empty; - if (eurocode.Part.ToString() != "None") - { - part = '-' + eurocode.Part.ToString() - .Replace("Part", string.Empty).Replace('_', '-').Replace("None", string.Empty); - } - - return eurocode.Code.ToString().Replace("EN", "EN ") + part; - } - internal static string GetCodeTitle(Eurocode eurocode) { return eurocode switch