Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }