public void LocalForIP() { expectedHash["locale"] = "nl-NL"; ps.GetResponse("https://secure.zaypay.com/82.94.123.123/pay/111/locale_for_ip?key=thekey").Returns(expectedHash); LocalForIPResponse actualResponse = new LocalForIPResponse(expectedHash); CollectionAssert.AreEquivalent(actualResponse.RESPONSE, expectedHash); //Assert.AreEqual("nl-NL", ps.LocaleForIP("82.94.123.123")); }
public ActionResult Create(int productId = 0) { //Product product = db.Products.First(m => m.ID == productId); Product product = db.Products.Find(productId); if (product != null) { try { PriceSetting ps = new PriceSetting(product.PriceSettingId); //check if locale is supported string userIp = GetUserIP(); string locale = ""; string[] locales = "en-".Split('-'); ListLocalesResponse localesList = ps.ListLocales(); //if we have correct user ip if (!String.IsNullOrWhiteSpace(userIp)) { LocalForIPResponse localeResponse = ps.LocaleForIP(userIp); locale = localeResponse.Locale(); ps.LOCALE = locale; locales = locale.Split('-'); if (localesList.CountrySupported(locales[1])) { List <Hashtable> paymentMethods = ps.ListPaymentMethods().PaymentMethods(); ViewData.Add("paymentMethods", paymentMethods); } } else { ViewData["ipIsNull"] = true; } var countriesHash = (List <Hashtable>)localesList.Countries(); var languagesHash = (List <Hashtable>)localesList.Languages(); List <SelectListItem> countriesList = GetCountries(ref countriesHash); countriesList = countriesList.OrderBy(x => x.Text).ToList(); List <SelectListItem> languagesList = GetLanguages(ref languagesHash); languagesList = languagesList.OrderBy(x => x.Text).ToList(); ViewData.Add("countries", new SelectList(countriesList, "Value", "Text", locales[1])); ViewData.Add("languages", new SelectList(languagesList, "Value", "Text", locales[0])); if (TempData["error"] != null) { ViewData["error"] = TempData["error"]; } return(View(product)); } catch (Exception e) { string mesg = GetExceptionMessage(e); if (mesg == "") { throw e; } else { LogEntry(e.Message); ViewData["error"] = mesg; return(View("../products/index", db.Products.ToList())); } } } else { throw new HttpException(404, "Sorry, Resource not available"); } }