public static DataTable LoadRates(string currencyFrom, string currencyTo, string orderBy, string refreshFromWeb) { //should refresh from web? bool refreshWeb = string.IsNullOrEmpty(refreshFromWeb); ds.RatesDataTable rdt; loadRatesFromWeb(out rdt, refreshWeb); //filter by from if (!string.IsNullOrEmpty(currencyFrom)) { var arr = rdt.WhereFrom(currencyFrom); rdt = TableTools.ImportRows(rdt, arr) as ds.RatesDataTable; } //filter by to if (!string.IsNullOrEmpty(currencyTo)) { var arr = rdt.WhereTo(currencyTo); rdt = TableTools.ImportRows(rdt, arr) as ds.RatesDataTable; } //order by if (string.IsNullOrEmpty(orderBy)) { orderBy = "from"; } rdt = TableTools.SortBy(orderBy.Trim(), rdt) as ds.RatesDataTable; return(rdt); }
public static DataTable LoadTransactions(string desiredCurrency, string desiredSKU, string justTotals, string orderByColumn, string refreshFromWeb) { //should refresh from web? bool refreshWeb = string.IsNullOrEmpty(refreshFromWeb); ds.TransactionsDataTable tdt; loadTransactionsFromWeb(out tdt, refreshWeb); //filter by SKU desiredSKU = desiredSKU.Trim(); if (!string.IsNullOrEmpty(desiredSKU)) { var arr = tdt.WhereSKU(desiredSKU); tdt = TableTools.ImportRows(tdt, arr) as ds.TransactionsDataTable; } //order if (string.IsNullOrEmpty(orderByColumn.Trim())) { orderByColumn = "sku, currency"; } tdt = TableTools.SortBy(orderByColumn.Trim(), tdt) as ds.TransactionsDataTable; desiredCurrency = desiredCurrency.Trim(); bool fillTotals = !string.IsNullOrEmpty(justTotals); ds.RatesDataTable rdt = LoadRates(string.Empty, string.Empty, string.Empty, "n") as ds.RatesDataTable; DataTable dtResult = convertTransactionsRates(desiredCurrency, ref tdt, ref rdt, fillTotals); return(dtResult); }