В моем asp.net (c#) веб-приложение корзины.
Я должен реализовать конвертер валют для помощи покупателям знать сколько стоивший в их собственной валюте.
Когда покупатель выбирает свою страну. Я должен показать конвертируемую сумму на основе его страны. Дайте примеры/ссылки для решения того же.
Это довольно большая тема, и нужно учитывать множество факторов. Ставки, вероятно, будут разными в разных странах, и курсы покупки и продажи также различаются. Большинство компаний, выпускающих кредитные карты, также используют «секретный» обменный курс, когда вы совершаете покупку в другой валюте. Добавьте к этому различные сборы ...
В Дании Национальный банк Дании публикует официальную ставку на своем веб-сайте в формате xml . Этот файл довольно легко прочитать и создать простой конвертер. И я подозреваю, что вы можете найти аналогичные услуги, предлагаемые по всему миру национальными банками, компаниями, выпускающими кредитные карты, или другими поставщиками услуг.
На заметку: знаете ли вы, что Google тоже может определять курсы обмена валют? Попробуйте погуглить «100 евро в долларах» и посмотрите, что вы получите ... :)
Вы можете использовать веб-сервис, например http://webservices.lb.lt/ExchangeRates/ExchangeRates.asmx, чтобы получить курсы валют и рассчитать детали в вашем приложении.
Будьте внимательны: указанные курсы являются ориентировочными и могут отличаться в выставленных счетах.
Реализация
У каждого пользователя есть объект сеанса, который вы можете использовать. Когда пользователь меняет страну в раскрывающемся списке, вы можете использовать функцию автоматической обратной передачи в раскрывающемся списке и запустить событие selectedindexchanged. В обработчике событий вы сохраняете идентификатор страны в сеансе. Теперь вы можете работать с этой страной на протяжении всего вашего приложения.
Теперь везде, где вы работаете с валютой, вы должны использовать своего рода конвертер, который использует страну и соответствующий курс. Что-то вроде (это просто пример, неиспользуемый код):
decimal price = 10.95;
lblPrice.Text = price * ((Country) Session ["country"]). Rate; {{1 }}
Курсы валют
Самый простой и лучший для производительности способ - это сохранять курсы в базе данных и время от времени обновлять их. Это целый ряд других решений, которые могут иметь массу различных реализаций.