Example #1
0
        public SubscriptionResponse Subscribe(string mobileNumber, InputMechanisms inputMechanism, string keyword, string shortCode, int reference)
        {
            SubscriptionResponse response = new SubscriptionResponse
            {
                MobileNumber = mobileNumber,
                Service      = this.service,
                NetworkID    = CUtility.GetNetworkID(mobileNumber)
            };

            if (IsSubscribed(mobileNumber, this.service.ID))
            {
                response.Status = ServiceMessages.AlreadySubscribed;
                return(response);
            }

            response.SubscriptionID = AddSubscription(service.ID, mobileNumber, response.NetworkID, reference, shortCode, keyword);
            SendSubscribeResponse(service, response.SubscriptionID, mobileNumber, reference, CSubscriptionEngineCapsule.RequestResults.Success);

            AddSubscriptionInteraction(response.SubscriptionID, (int)inputMechanism, InteractionTypes.Subscribe);
            AddSubscriptionInteraction(response.SubscriptionID, (int)inputMechanism, InteractionTypes.Confirmation);

            PaymentWrapper.WrapperResponse paymentResponse = null;
            bool result = Execute(service.PaymentSystemClientID, service.ID, response.SubscriptionID, mobileNumber, response.NetworkID, service.BillingAmount, true, reference, out paymentResponse);

            if (!result)
            {
                response.Exception = string.Format("{0}: {1}", paymentResponse.statusDescription, paymentResponse.Exception);
                response.Status    = ServiceMessages.FailedBillings;
                return(response);
            }

            response.Status = ServiceMessages.SubscriptionActivated;

            return(response);
        }
Example #2
0
        public int InsertDoubleOptTRTransaction(int parentTransactionID, string mobileNumber, int subscriptionServiceID, DoubleOptStatus status, string exception, int?subscriptionID, InputMechanisms inputMechanism)
        {
            int transactionID = 0;

            if (!string.IsNullOrEmpty(exception))
            {
                exception = "'" + exception.Replace("'", "''") + "'";
            }
            else
            {
                exception = "NULL";
            }


            using (CDB cdb = new CDB("Insert double OPT TR Transaction"))
            {
                string queryString = string.Format("Insert_trSubscriptionDoubleOpt {0},'{1}',{2},{3},{4},{5},{6}", parentTransactionID, mobileNumber, subscriptionServiceID, (int)status, exception, subscriptionID == null ? "NULL" : subscriptionID.ToString(), (int)inputMechanism);

                transactionID = int.Parse(cdb.Execute(queryString, CDB.exmReturnTypes.RETURN_SCALAR).ToString());
            }

            return(transactionID);
        }
Example #3
0
 public int InsertDoubleOptTRTransaction(int parentTransactionID, string mobileNumber, int subscriptionServiceID, DoubleOptStatus status, InputMechanisms inputMechanism)
 {
     return(InsertDoubleOptTRTransaction(parentTransactionID, mobileNumber, subscriptionServiceID, status, null, null, inputMechanism));
 }