Skip to content

Commit

Permalink
simpler enum conversion
Browse files Browse the repository at this point in the history
  • Loading branch information
anthonie-kramer committed Nov 21, 2023
1 parent fc734a5 commit 83384cf
Showing 1 changed file with 17 additions and 39 deletions.
56 changes: 17 additions & 39 deletions LayoutFunctions/Doors/src/DoorOpeningEnumsHelper.cs
Original file line number Diff line number Diff line change
@@ -1,52 +1,30 @@
using Elements;
using System;

namespace Doors
{
internal static class DoorOpeningEnumsHelper
{
internal static DoorOpeningSide ConvertOpeningSideEnum(DoorPositionsOverrideAdditionValueDoorOpeningSide openingSide) => openingSide switch
internal static DoorOpeningSide ConvertOpeningSideEnum<T>(T openingSide)
{
DoorPositionsOverrideAdditionValueDoorOpeningSide.Left_Hand => DoorOpeningSide.LeftHand,
DoorPositionsOverrideAdditionValueDoorOpeningSide.Right_Hand => DoorOpeningSide.RightHand,
DoorPositionsOverrideAdditionValueDoorOpeningSide.Double_Door => DoorOpeningSide.DoubleDoor,
_ => DoorOpeningSide.Undefined,
};
if (!Enum.IsDefined(typeof(T), openingSide))

Check warning on line 10 in LayoutFunctions/Doors/src/DoorOpeningEnumsHelper.cs

View workflow job for this annotation

GitHub Actions / build

Possible null reference argument for parameter 'value' in 'bool Enum.IsDefined(Type enumType, object value)'.
{
return DoorOpeningSide.LeftHand;
}

internal static DoorOpeningType ConvertOpeningTypeEnum(DoorPositionsOverrideAdditionValueDoorOpeningType openingType) => openingType switch
{
DoorPositionsOverrideAdditionValueDoorOpeningType.Single_Swing => DoorOpeningType.SingleSwing,
DoorPositionsOverrideAdditionValueDoorOpeningType.Double_Swing => DoorOpeningType.DoubleSwing,
_ => DoorOpeningType.Undefined,
};

internal static DoorOpeningSide ConvertOpeningSideEnum(DoorPositionsValueDefaultDoorOpeningSide openingSide) => openingSide switch
{
DoorPositionsValueDefaultDoorOpeningSide.Left_Hand => DoorOpeningSide.LeftHand,
DoorPositionsValueDefaultDoorOpeningSide.Right_Hand => DoorOpeningSide.RightHand,
DoorPositionsValueDefaultDoorOpeningSide.Double_Door => DoorOpeningSide.DoubleDoor,
_ => DoorOpeningSide.Undefined,
};
// We shouldn't have an "Undefined" enum value. TODO: Handle Undefined enum in Door for representation
return (DoorOpeningSide)(Convert.ToInt32(openingSide) + 1);
}

internal static DoorOpeningType ConvertOpeningTypeEnum(DoorPositionsValueDefaultDoorOpeningType openingType) => openingType switch
internal static DoorOpeningType ConvertOpeningTypeEnum<T>(T openingType)
{
DoorPositionsValueDefaultDoorOpeningType.Single_Swing => DoorOpeningType.SingleSwing,
DoorPositionsValueDefaultDoorOpeningType.Double_Swing => DoorOpeningType.DoubleSwing,
_ => DoorOpeningType.Undefined,
};
if (!Enum.IsDefined(typeof(T), openingType))

Check warning on line 21 in LayoutFunctions/Doors/src/DoorOpeningEnumsHelper.cs

View workflow job for this annotation

GitHub Actions / build

Possible null reference argument for parameter 'value' in 'bool Enum.IsDefined(Type enumType, object value)'.
{
return DoorOpeningType.SingleSwing;
}

internal static DoorOpeningSide ConvertOpeningSideEnum(DoorsInputsDefaultDoorOpeningSide openingSide) => openingSide switch
{
DoorsInputsDefaultDoorOpeningSide.Left_Hand => DoorOpeningSide.LeftHand,
DoorsInputsDefaultDoorOpeningSide.Right_Hand => DoorOpeningSide.RightHand,
DoorsInputsDefaultDoorOpeningSide.Double_Door => DoorOpeningSide.DoubleDoor,
_ => DoorOpeningSide.Undefined,
};

internal static DoorOpeningType ConvertOpeningTypeEnum(DoorsInputsDefaultDoorOpeningType openingType) => openingType switch
{
DoorsInputsDefaultDoorOpeningType.Single_Swing => DoorOpeningType.SingleSwing,
DoorsInputsDefaultDoorOpeningType.Double_Swing => DoorOpeningType.DoubleSwing,
_ => DoorOpeningType.Undefined,
};
// We shouldn't have an "Undefined" enum value. TODO: Handle Undefined enum in Door for representation
return (DoorOpeningType)(Convert.ToInt32(openingType) + 1);
}
}
}

0 comments on commit 83384cf

Please sign in to comment.