/// <summary> /// A friendly representation of the data contained on a given <see cref="RawETicket"/>. /// </summary> public ETicket(RawETicket rawValues) { RawValues = rawValues; var validAreaType = (ValidityAreaType)RawValues.ValidityAreaType; ValidityArea = validAreaType == ValidityAreaType.Zone ? new ValidityArea((Zone)RawValues.ValidityArea) : new ValidityArea((Vehicle)RawValues.ValidityArea); ValidityLength = new ValidityLength((ValidityLengthType)RawValues.ValidityLengthType, RawValues.ValidityLength); BoardingLocationNumber = new BoardingLocationNumber((BoardingNumberLocationType)RawValues.BoardingLocationNumType, RawValues.BoardingLocationNum); BoardingArea = new ValidityArea((Zone)RawValues.BoardingArea); }
/// <summary> /// Creates a friendly Travel Card given a <see cref="RawTravelCard"/> object. /// </summary> /// <param name="rawCard"></param> public TravelCard(RawTravelCard rawValues) { RawValues = rawValues; var valid1Type = (ValidityAreaType)RawValues.ValidityAreaType1; ValidityArea1 = valid1Type == ValidityAreaType.Zone ? new ValidityArea((Zone)RawValues.ValidityArea1) : new ValidityArea((Vehicle)RawValues.ValidityArea1); var valid2Type = (ValidityAreaType)RawValues.ValidityAreaType2; ValidityArea2 = valid2Type == ValidityAreaType.Zone ? new ValidityArea((Zone)RawValues.ValidityArea2) : new ValidityArea((Vehicle)RawValues.ValidityArea2); LastBoardingArea = new ValidityArea((Vehicle)RawValues.BoardingArea); }