protected void Page_Load(object sender, EventArgs e) { _currencies = Global.Currencies; if (!IsPostBack) { var keys = _currencies.Keys.ToList(); SourceCurrency.DataSource = keys; SourceCurrency.DataBind(); DestinationCurrency.DataSource = keys; DestinationCurrency.DataBind(); SourceCourse.Text = _currencies[SourceCurrency.SelectedValue]; SourceCourse.DataBind(); DestinationCourse.Text = _currencies[DestinationCurrency.SelectedValue]; DestinationCourse.DataBind(); } }
public override string Check(Dictionary <Currency, decimal> balances, Dictionary <MarketKey, MarketSummary> markets) { var summary = markets[SourceCurrency | DestinationCurrency]; var conversionRate = summary.Right == SourceCurrency ? summary.Last : (1 / summary.Last); balances.TryGetValue(SourceCurrency, out var sourceBalance); balances.TryGetValue(DestinationCurrency, out var destinationBalance); var convertedBalance = destinationBalance + conversionRate * sourceBalance; if (Comparison == Comparison.GreaterThan ? convertedBalance > Threshold : convertedBalance < Threshold) { var sc = SourceCurrency.ToString(); var dc = DestinationCurrency.ToString(); var dir = Comparison == Comparison.GreaterThan ? "greater than" : "less than"; return($"If you converted {sc} to {dc}, you would have roughly {convertedBalance:G6} {dc}, which is {dir} your threshold of {Threshold} {dc}."); } return(null); }