Beispiel #1
0
        //Todo: Remove the mock code once Visa provides the saveoffer api
        /// <summary>
        ///     Visa is supposed to implemented an api for register deal
        ///     it is not available now and all deals are registered manually offline
        ///     We are mocking the request now
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <RegisterDealResponse> RegisterDeal(RegisterDealRequest request)
        {
#if !XXXDEBUG
            string logstring = string.Format("{0} RegisterDealRequest {1}\n",
                                             DateTime.Now.ToString(CultureInfo.InvariantCulture),
                                             request.BingOfferDealId);
            // just the last four digits
            File.AppendAllText(Logfilename, logstring);
#endif
            RegisterDealResponse response;
            Stopwatch            sprocTimer = Stopwatch.StartNew();
            try
            {
                response = await RegisterDealMock.RegisterDeal(request).ConfigureAwait(false);
            }
            finally
            {
                sprocTimer.Stop();
                PerformanceInformation.Add("Visa RegisterDeal ",
                                           String.Format("{0} ms", sprocTimer.ElapsedMilliseconds));
            }
#if !XXXDEBUG
            logstring = string.Format("{0} RegisterDealResponse {1}, {2}\n",
                                      DateTime.Now.ToString(CultureInfo.InvariantCulture),
                                      request.BingOfferDealId, response.VisaDealId);
            // just the last four digits
            File.AppendAllText(Logfilename, logstring);
#endif
            return(response);
        }
Beispiel #2
0
        /// <summary>
        ///  Mock the register deal request
        /// </summary>
        /// <param name="bingofferid">bing offer deal id</param>
        /// <returns>reqeust</returns>
        public static RegisterDealRequest GetRegisterOfferRequest(string bingofferid)
        {
            RegisterDealRequest request = new RegisterDealRequest()
            {
                BingOfferDealId = bingofferid
            };

            return(request);
        }
        /// <summary>
        ///     pretend to make a network call, actually trying to resolve the visaofferid issues locally
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public static async Task <RegisterDealResponse> RegisterDeal(RegisterDealRequest request)
        {
            await PopulateDictionary().ConfigureAwait(false);

            var visaDealId = ResolveVisaDealId(request.BingOfferDealId);

            RegisterDealResponse response = new RegisterDealResponse
            {
                Status          = 200,
                BingOfferDealId = request.BingOfferDealId,
                VisaDealId      = visaDealId
            };

            if (response.VisaDealId == "-1")
            {
                response.Status = 100;
            }
            return(response);
        }