Мне сложно найти какое-либо обсуждение лучших практик для работы с несколькими валютами. Может ли кто-нибудь предоставить некоторые идеи или ссылки, чтобы помочь?
Я понимаю, что есть несколько способов сделать это - либо транзакционно, где вы храните введенное значение, либо функционально, где вы конвертируете в базовую ставку. В обоих случаях необходимо сохранить обменный курс, который охватывает время транзакций для каждой валюты, которое может потребоваться для его конвертации в будущем.
Мне нравится гибкость транзакционного подхода, который позволяет вводить информацию старого обменного курса позднее, но, вероятно, имеет больше накладных расходов (так как вы должны хранить больше данных обменного курса), чем функциональный подход.
Производительность и масштабируемость являются основными факторами. У нас есть (все .net) победитель и веб-клиент, набор отчетов и набор веб-сервисов, которые обеспечивают функциональность для базы данных. Я могу кэшировать информацию о обменном курсе где-нибудь (например, на клиенте), если это необходимо.
EDIT: Мне бы очень хотелось, чтобы ссылки на некоторые документы или ответы, которые включают "gotchas" из предыдущего опыта.