Skip to content

Commit

Permalink
Merge pull request #54 from MagmaWorks/task/refactor-standard-to-remo…
Browse files Browse the repository at this point in the history
…ve-code-enum

Refactor standard to remove code enum
  • Loading branch information
kpne authored Nov 27, 2024
2 parents 990cc96 + 1f5c62a commit 77d0864
Show file tree
Hide file tree
Showing 13 changed files with 68 additions and 85 deletions.
2 changes: 1 addition & 1 deletion Standards/IStandards/Eurocode/IEurocode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace MagmaWorks.Taxonomy.Standards.Eurocode
{
public interface IEurocode : IStandard
{
Enum Part { get; }
NationalAnnex NationalAnnex { get; }
Eurocode Code { get; }
}
}
1 change: 0 additions & 1 deletion Standards/IStandards/IStandard.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ namespace MagmaWorks.Taxonomy.Standards
public interface IStandard : ITaxonomySerializable
{
StandardBody Body { get; }
Enum Code { get; }
string Title { get; }
}
}
12 changes: 4 additions & 8 deletions Standards/Standards/Eurocode/EN1990.cs
Original file line number Diff line number Diff line change
@@ -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() { }

Expand All @@ -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(' ');
}
}
Expand Down
14 changes: 7 additions & 7 deletions Standards/Standards/Eurocode/EN1991.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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(' ');
}
}
Expand Down
14 changes: 7 additions & 7 deletions Standards/Standards/Eurocode/EN1992.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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(' ');
}
}
Expand Down
14 changes: 7 additions & 7 deletions Standards/Standards/Eurocode/EN1993.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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(' ');
}
}
Expand Down
14 changes: 7 additions & 7 deletions Standards/Standards/Eurocode/EN1994.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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(' ');
}
}
Expand Down
14 changes: 7 additions & 7 deletions Standards/Standards/Eurocode/EN1995.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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(' ');
}
}
Expand Down
14 changes: 7 additions & 7 deletions Standards/Standards/Eurocode/EN1996.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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(' ');
}
}
Expand Down
14 changes: 7 additions & 7 deletions Standards/Standards/Eurocode/EN1997.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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(' ');
}
}
Expand Down
14 changes: 7 additions & 7 deletions Standards/Standards/Eurocode/EN1998.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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(' ');
}
}
Expand Down
14 changes: 7 additions & 7 deletions Standards/Standards/Eurocode/EN1999.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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(' ');
}
}
Expand Down
12 changes: 0 additions & 12 deletions Standards/Standards/Eurocode/Utility/EurocodeUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 77d0864

Please sign in to comment.