//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); }
/// <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); }