public static string AsString(this TaxiVendor @this)
        {
            switch (@this)
            {
            case TaxiVendor.CMT:
                return("CMT");

            case TaxiVendor.VTS:
                return("VTS");

            default:
                throw new ArgumentException();
            }
        }
 public TaxiTripEntry(float pickupLongtitude, float pickupLatitude, float dropoffLongtitude, float dropoffLatitude, int numOfPassangers, DateTime pickupTime, DateTime dropoffTime, PaymentType paymentType, TaxiVendor taxiVendor, float tripDistance, float tripTime, float tip, float fareAmount, float totalPayment)
 {
     PickupLongtitude  = pickupLongtitude;
     PickupLatitude    = pickupLatitude;
     DropoffLongtitude = dropoffLongtitude;
     DropoffLatitude   = dropoffLatitude;
     NumOfPassangers   = numOfPassangers;
     PickupTime        = pickupTime;
     DropoffTime       = dropoffTime;
     PaymentType       = paymentType;
     TaxiVendor        = taxiVendor;
     TripDistance      = tripDistance;
     TripTime          = tripTime;
     Tip          = tip;
     FareAmount   = fareAmount;
     TotalPayment = totalPayment;
 }
 public string AsCsv()
 {
     return(PickupLongtitude.ToString()
            .ConcatCsv(PickupLatitude.ToString())
            .ConcatCsv(DropoffLongtitude.ToString())
            .ConcatCsv(DropoffLatitude.ToString())
            .ConcatCsv(NumOfPassangers.ToString())
            .ConcatCsv(PickupTime.ToString("F").Replace(',', ' '))
            .ConcatCsv(DropoffTime.ToString("F").Replace(',', ' '))
            .ConcatCsv(PaymentType.AsString())
            .ConcatCsv(TaxiVendor.AsString())
            .ConcatCsv(TripDistance.ToString())
            .ConcatCsv(TripTime.ToString())
            .ConcatCsv(Tip.ToString())
            .ConcatCsv(FareAmount.ToString())
            .ConcatCsv(TotalPayment.ToString()));
 }
 public void ToBinary(BinaryWriter binaryWriter)
 {
     binaryWriter.Write(PickupLongtitude);
     binaryWriter.Write(PickupLatitude);
     binaryWriter.Write(DropoffLongtitude);
     binaryWriter.Write(DropoffLatitude);
     binaryWriter.Write(NumOfPassangers);
     binaryWriter.Write(PickupTime.ToBinary());
     binaryWriter.Write(DropoffTime.ToBinary());
     binaryWriter.Write(PaymentType.ToBinary());
     binaryWriter.Write(TaxiVendor.ToBinary());
     binaryWriter.Write(TripDistance);
     binaryWriter.Write(TripTime);
     binaryWriter.Write(Tip);
     binaryWriter.Write(FareAmount);
     binaryWriter.Write(TotalPayment);
 }
 public static byte ToBinary(this TaxiVendor @this) => (byte)@this;