public static double GetCurrencyRate(IsoCurrencyModel CurrencyIn, IsoCurrencyModel CurrencyOut) { if (CurrencyIn == null || CurrencyOut == null) { return(0); } double output = 0.0; if (CurrencyIn.Base == CurrencyOut.Currency) { output = 1 / CurrencyIn.Rate; } else { if (CurrencyOut.Base == CurrencyIn.Currency) { output = CurrencyOut.Rate; } else { output = (CurrencyOut.Rate / CurrencyIn.Rate); } } return(output); }
/// <summary> /// Save currency /// </summary> /// <param name="key"></param> /// <param name="currency"></param> /// <returns></returns> public static IsoCurrencyModel SaveCurrency(string key, IsoCurrencyModel currency) { try { string sql; SqlParameter[] arrParam; if (!string.IsNullOrEmpty(key) && key != currency.ISOCode) { sql = "Update ISOCurrencies set InUse=0 Where [ISO-4217]=@ISOCode"; arrParam = new SqlParameter[1]; arrParam[0] = new SqlParameter("@IsoCode", key); DataContext.ExecuteSql(sql, CommandType.Text, arrParam); } if (CurrencyExists(currency.ISOCode)) { sql = "Update ISOCurrencies set Currency=@Currency, InUse=1 Where [ISO-4217]=@ISOCode"; } else { sql = "Insert Into ISOCurrencies([ISO-4217],Currency, InUse) Values (@ISOCode,@Currency,1)"; } arrParam = new SqlParameter[2]; arrParam[0] = new SqlParameter("@IsoCode", currency.ISOCode); arrParam[1] = new SqlParameter("@Currency", currency.Currency); object obj = DataContext.ExecuteScalarSql(sql, CommandType.Text, arrParam); return(currency); } catch { throw; } }