Пример #1
0
        // Begin EGE-85532
        /// <summary>
        /// Cancel VAN
        /// </summary>
        /// <param name="user">User</param>
        /// <param name="reader">ENettCancelRequestVAN</param>
        /// <returns>CancelVNettVANResponse</returns>
        /// The below method is used for CANCELVAN
        public static CancelVNettVANRequest GetCancelVANRequest(UserInfo user, ENettCancelRequestVAN reader)
        {
            // Let's request For cancel VAN
            CancelVNettVANRequest CancelReq = new CancelVNettVANRequest();

            // Set ENett Details

            CancelReq.IntegratorCode      = GetIntegratorCode();
            CancelReq.RequesterECN        = GetRequestorECN();
            CancelReq.IntegratorAccessKey = GetIntegratorAccessKey();
            // set and send ECN, PaymentID, User to CANCEL van method
            CancelReq.IssuedToEcn          = Util.ConvertStringToInt(reader.ECN);
            CancelReq.IssuedToEcnSpecified = true;
            CancelReq.CancelReason         = CancelReasonType.BookingCancelled;
            CancelReq.IntegratorReference  = reader.PaymentID;
            CancelReq.Username             = reader.UserName;

            // Get message digest (Accesskey + PaymentID (integratorReference) + ECN + UserName )
            StringBuilder builder = new StringBuilder();

            builder.Append(GetClientAccessKey());
            builder.Append(reader.PaymentID);
            builder.Append(reader.ECN);
            builder.Append(reader.UserName);

            // Send message digest
            string msgDigest = builder.ToString();

            byte[] arr = Encoding.Default.GetBytes(msgDigest);
            CancelReq.MessageDigest = SHA1HashEncode(arr);



            return(CancelReq);
        }
Пример #2
0
        // EGE-85532
        /// <summary>
        /// Reads request for Request Cancel VAN and
        /// parse input
        /// </summary>
        /// <param name="xmlRequest">XML request</param>
        /// <returns>cnacelvanresponse</returns>
        public static ENettCancelRequestVAN ReadCancelVANDetails(string xmlRequest)
        {
            //XML Serialization
            ENettCancelRequestVAN RequestObject = new ENettCancelRequestVAN();
            XmlRootAttribute      xRoot         = new XmlRootAttribute();

            xRoot.ElementName = XMLHeaderCancelVANDetails;
            xRoot.IsNullable  = true;


            XmlSerializer mySerializer = new XmlSerializer(typeof(ENettCancelRequestVAN), xRoot);

            using (TextReader tr = new StringReader(xmlRequest))
            {
                RequestObject = (ENettCancelRequestVAN)mySerializer.Deserialize(tr);
            }
            return(RequestObject);
        }
Пример #3
0
        // Begin EGE-85532
        /// <summary>
        /// Return values from ENett API
        /// and prepare response to caller
        /// </summary>
        /// <param name="user">user</param>
        /// <param name="vNettresponse">CancelVANResponse</param>
        public void SetValues(UserInfo user, CancelVNettVANResponse vNettResponse, ENettCancelRequestVAN reader)
        {
            if (!vNettResponse.IsSuccessful)
            {
                // The request was not succesfully processed
                // we need to get support log id from ENett
                SetSupportLogId(vNettResponse.SupportLogId);
                // Return error code and error description from ENett
                SetException(user, new CEEException(vNettResponse.ErrorCode.ToString()
                                                    , vNettResponse.ErrorDescription).GetCompleteExceptionMessage());
                // No need to go further!
                return;
            }

            // The response is success
            // Let's extract and return to caller all information
            SetVNettTransactionID(vNettResponse.VNettTransactionID);
            SetPaymentID(reader.PaymentID);
            SetSuccesfull(vNettResponse.IsSuccessful);
        }