// Note: This overload is obsolete public Task <ProcessOrderResponse> ProcessOrderDetails(DetailsResponse detailsResponse, string orderId, Guid contactId, string marketId, string cartName) { var lastTransaction = GetLastTransaction(detailsResponse); var result = ProcessOrder(detailsResponse, lastTransaction, orderId, contactId, marketId, cartName); return(Task.FromResult(result)); }
public Site(IShortener shortener) { StaticConfiguration.DisableCaches = true; StaticConfiguration.DisableErrorTraces = false; Get["/"] = _ => View["index"]; Get["/api/expand-url"] = _ => { if (!Request.Query.Code.HasValue || String.IsNullOrEmpty(Request.Query.Code)) { return(HttpStatusCode.BadRequest); } String code = Request.Query.Code; if (code.Contains("/")) { code = code.Split('/').Last(); } Console.WriteLine(code); var info = shortener.Expand(code); var res = new DetailsResponse(); if (String.IsNullOrEmpty(info.Item1)) { res.Error = "No url found"; } else { res.Url = info.Item1; res.Clicks = info.Item2; } return(Response.AsJson(res)); }; Get["/{shortCode}"] = (arg) => { String realUrl = shortener.Expand(arg.shortCode).Item1; if (String.IsNullOrEmpty(realUrl)) { return(HttpStatusCode.NotFound); } return(Response.AsRedirect(realUrl)); }; Post["/api/shorten-url"] = _ => { if (!Request.Form.Url.HasValue || String.IsNullOrEmpty(Request.Form.Url)) { return(HttpStatusCode.BadRequest); } var url = HttpUtility.HtmlEncode(Request.Form.Url); return(String.Concat(SiteUrl, shortener.Shorten(url))); }; }
private static void EnsureBillingAddress(IPayment payment, ICart cart, DetailsResponse details) { if (payment.BillingAddress == null) { payment.BillingAddress = AddressHelper.UserDetailsAndShippingDetailsToOrderAddress(details.UserDetails, details.ShippingDetails, cart); } }
public Site (IShortener shortener) { StaticConfiguration.DisableCaches = true; StaticConfiguration.DisableErrorTraces = false; Get["/"] = _ => View["index"]; Get["/api/expand-url"] = _ => { if(!Request.Query.Code.HasValue || String.IsNullOrEmpty(Request.Query.Code)) return HttpStatusCode.BadRequest; String code = Request.Query.Code; if(code.Contains("/")) { code = code.Split('/').Last(); } Console.WriteLine(code); var info = shortener.Expand(code); var res = new DetailsResponse(); if(String.IsNullOrEmpty(info.Item1)) { res.Error = "No url found"; } else { res.Url = info.Item1; res.Clicks = info.Item2; } return Response.AsJson(res); }; Get["/{shortCode}"] = (arg) => { String realUrl = shortener.Expand(arg.shortCode).Item1; if(String.IsNullOrEmpty(realUrl)) return HttpStatusCode.NotFound; return Response.AsRedirect(realUrl); }; Post["/api/shorten-url"] = _ => { if(!Request.Form.Url.HasValue || String.IsNullOrEmpty(Request.Form.Url)) return HttpStatusCode.BadRequest; var url = HttpUtility.HtmlEncode(Request.Form.Url); return String.Concat(SiteUrl, shortener.Shorten(url)); }; }
async Task HandleItemTapped(LocationSearchPageViewModel.SearchResult searchResult) { if (!canTap) { return; } canTap = false; string sessionToken = SearchBar.SessionToken; SearchBar.SessionToken = Guid.NewGuid().ToString(); try { DetailsResponse response = await DetailsApi.GetPlaceGeometry( searchResult.Id, SearchBar.ApiKey, sessionToken); if (response == null) { await this.GetPageParent()?.DisplayAlert("No result", "Something went wrong.", "Ok"); return; } GeoCoordinates location = new GeoCoordinates( response.Result.Geometry.Location.Latitude, response.Result.Geometry.Location.Longitude); viewModel.SelectLocation(searchResult.Name, location); } catch (Exception ex) { // TODO Exceptions we can handle more neatly: // HttpRequestException // GoogleApiKeyException App.Current.ErrorHandler.HandleError(ex); return; } finally { canTap = true; } }
private static void EnsureShipping(ICart cart, DetailsResponse details) { var shipment = cart.GetFirstShipment(); if (shipment.ShippingMethodId == default(Guid)) { if (details?.ShippingDetails?.ShippingMethodId != null) { shipment.ShippingMethodId = new Guid(details.ShippingDetails.ShippingMethodId); } } if (shipment.ShippingAddress == null) { shipment.ShippingAddress = AddressHelper.UserDetailsAndShippingDetailsToOrderAddress(details?.UserDetails, details?.ShippingDetails, cart); } }
public static void EnsureExpressPaymentAndShipping(ICart cart, IPayment payment, DetailsResponse orderDetails) { if (cart.GetFirstShipment().ShippingMethodId == default(Guid) || cart.GetFirstShipment().ShippingAddress == null || payment?.BillingAddress == null) { EnsureShipping(cart, orderDetails); EnsureBillingAddress(payment, cart, orderDetails); _orderRepository.Service.Save(cart); } }
public ProcessOrderResponse ProcessOrderDetails(DetailsResponse detailsResponse, string orderId, ICart cart) { var lastTransaction = GetLastTransaction(detailsResponse); return(ProcessOrder(detailsResponse, lastTransaction, orderId, cart)); }
private IVippsPaymentDetails GetLastTransaction(DetailsResponse detailsResponse) { return(detailsResponse.TransactionLogHistory.OrderByDescending(x => x.TimeStamp) .FirstOrDefault()); }
//метод для обращения к API async void GetInfoAsync() { HttpClient client = new HttpClient(); HttpClient client_translate = new HttpClient(); client.DefaultRequestHeaders.Add("user-key", apiKey); client_translate.DefaultRequestHeaders.Add("X-RapidAPI-Host", "microsoft-azure-translation-v1.p.rapidapi.com"); client_translate.DefaultRequestHeaders.Add("X-RapidAPI-Key", "44aa189e74mshaa49add707f3528p1d96acjsn216ddd330fe5"); try { Android.Support.V7.App.AlertDialog dialog = new EDMTDialogBuilder().SetContext(this).SetMessage("Please wait..").Build(); if (!dialog.IsShowing) { dialog.Show(); } //обращение к API HttpResponseMessage response = null; try { response = await client.GetAsync(BasePath + "/restaurant?res_id=" + id); } catch (HttpRequestException) { return; } //десериализация details_response = JsonConvert.DeserializeObject <DetailsResponse>(await response.Content.ReadAsStringAsync()); var bitmap = GetBitMapFromURL(details_response.featured_image); image.SetImageBitmap(bitmap); response = null; //обращение к API переводчика try { response = await client_translate.GetAsync("https://microsoft-azure-translation-v1.p.rapidapi.com/" + "translate?from=en&to=ru&text=" + details_response.cuisines); } catch (HttpRequestException) { return; } try { //обработка ответа details_response.cuisines = await response.Content.ReadAsStringAsync(); details_response.cuisines = details_response.cuisines.Split('>')[1]; details_response.cuisines = details_response.cuisines.Split('<')[0]; } catch (IndexOutOfRangeException) { return; } //формирование строки вывода string info = $"{details_response.name}\nРейтинг : {details_response.user_rating.aggregate_rating} ; Всего отзывов" + $" : {details_response.user_rating.votes}" + $"\nКухня : {details_response.cuisines}\nАдрес : {details_response.location.address}\nСредний чек :" + $" {details_response.average_cost_for_two} {details_response.currency}\nБронь стола : "; if (details_response.has_table_booking == "0") { info += $"нет"; } else { info += $"есть"; } if (details_response.has_online_delivery == "0") { info += $"\nОнлайн доставка : нет"; } else { info += $"\nОнлайн доставка : есть"; } if (details_response.phone_numbers != "") { info += $"\nНомер телефона : {details_response.phone_numbers}"; } else { info += $"\nНомер телефона : нет"; } text.SetText(info, TextView.BufferType.Normal); btn_back.Visibility = ViewStates.Visible; btn_menu.Visibility = ViewStates.Visible; uri = details_response.menu_url; if (dialog.IsShowing) { dialog.Dismiss(); } } catch (Exception ex) { } }
public async Task <ProcessOrderResponse> ProcessOrderDetails(DetailsResponse detailsResponse, string orderId, Guid contactId, string marketId, string cartName) { var lastTransaction = detailsResponse.TransactionLogHistory.OrderByDescending(x => x.TimeStamp).FirstOrDefault(); return(await ProcessOrder(detailsResponse, lastTransaction, orderId, contactId, marketId, cartName)); }