예제 #1
0
        public static string Serialize(this MarketSpecificDataFieldModel marketSpecificDataFieldModel)
        {
            if (0 >= marketSpecificDataFieldModel.StayOrRentalDuration)
            {
                return(string.Empty);
            }

            return(string.Format("{0}{1}{2}", marketSpecificDataFieldModel.PrestigiousPropertyType, marketSpecificDataFieldModel.MarketSpecificDataType, marketSpecificDataFieldModel.StayOrRentalDuration.ToString().PadLeft(2, '0')));
        }
예제 #2
0
 public static Group1AuthorizationModel NewG1AuthorizationMessageRequest(uint acquirerBin, TransactionCodeTypeModel transactionCodeType, uint transactionSequence, ulong amount, ulong cashback)
 {
     return(new Group1AuthorizationModel
     {
         RecordFormat = transactionCodeType.IsDebitCardTransaction() ? RecordFormatTypeModel.DebitEbtRequest : RecordFormatTypeModel.CreditCardAuthorizationRequest,
         ApplicationType = ApplicationIndicatorTypeModel.MultipleAuthorizationsPerConnectionFullDuplexInterleaved,
         MessageDelimiter = MessageDelimiterTypeModel.DefaultDelimiter,
         AcquirerBIN = acquirerBin,
         TransactionCode = transactionCodeType,
         TransactionSequenceNumber = transactionSequence,
         TransactionAmount = amount,
         SecondaryAmount = cashback,
         MarketSpecificData = MarketSpecificDataFieldModel.NewMarketSpecificDataFieldModel(PrestigiousPropertyTypeModel.AutoRentalOrNonParticipatingProperty, MarketSpecificDataTypeModel.OtherIndustries, 0),
         ReversalAndCancelData = ReversalAndCancelDataIModel.NewReversalAndCancelDataI("      ", DateTimeOffset.Now, UintExtensions.GenerateRetrievalReferenceNumber(0))
     });
 }
예제 #3
0
        public static MarketSpecificDataFieldModel Deserialize <T>(this string value) where T : MarketSpecificDataFieldModel
        {
            var result = new MarketSpecificDataFieldModel
            {
                MarketSpecificDataType  = MarketSpecificDataTypeModel.OtherIndustries,
                PrestigiousPropertyType = PrestigiousPropertyTypeModel.AutoRentalOrNonParticipatingProperty,
                StayOrRentalDuration    = 0
            };

            if (4 > value.Length)
            {
                return(result);
            }

            result.PrestigiousPropertyType = value.Substring(0, 1);
            result.MarketSpecificDataType  = value.Substring(1, 2);
            result.StayOrRentalDuration    = uint.Parse(value.Substring(3));

            return(result);
        }
 public static void SetMarketAndCardAcceptorData(this Group1AuthorizationModel group1Authorization, MarketSpecificDataFieldModel marketSpecificData, CardAcceptorDataFieldModel cardAcceptorData)
 {
     group1Authorization.MarketSpecificData = marketSpecificData;
     group1Authorization.CardAcceptorData   = cardAcceptorData;
 }
예제 #5
0
 public static MarketSpecificDataFieldModel Copy(this MarketSpecificDataFieldModel marketSpecificDataFieldModel)
 {
     return(MarketSpecificDataFieldModel.NewMarketSpecificDataFieldModel(marketSpecificDataFieldModel.PrestigiousPropertyType, marketSpecificDataFieldModel.MarketSpecificDataType, marketSpecificDataFieldModel.StayOrRentalDuration));
 }