public ConversionModel GetMeByFromTo(int from, int to) { ConversionModel cm = new ConversionModel(); List <KeyValuePair <string, string[]> > conditions = new List <KeyValuePair <string, string[]> >(); string[] value = new string[2] { "number", from.ToString() }; conditions.Add(new KeyValuePair <string, string[]>("currency_id_first", value)); value = new string[2] { "number", to.ToString() }; conditions.Add(new KeyValuePair <string, string[]>("currency_id_second", value)); cm = ReturnMeFromDataTable(cm.FindByParameters(conditions)); if (cm != null && cm.First.ToString() != "0" && cm.Second.ToString() != "0" && cm.Ratio.ToString() != "0") { return(cm); } else { conditions = new List <KeyValuePair <string, string[]> >(); value = new string[2] { "number", to.ToString() }; conditions.Add(new KeyValuePair <string, string[]>("currency_id_first", value)); value = new string[2] { "number", from.ToString() }; conditions.Add(new KeyValuePair <string, string[]>("currency_id_second", value)); cm = ReturnMeFromDataTable(cm.FindByParameters(conditions)); if (cm != null && cm.First.ToString() != "0" && cm.Second.ToString() != "0" && cm.Ratio.ToString() != "0") { return(cm); } else { CurrencyModel first = new CurrencyModel(); CurrencyModel second = new CurrencyModel(); first = first.Get(from); second = second.Get(to); string msg = "Please add a currency conversion from " + first.Name + " to " + second.Name; throw new Exception(msg); } } }
public decimal Convert(decimal number, int from, int to) { if (from != to) { ConversionModel cm = GetMeByFromTo(from, to); if (cm.First != from && cm.Second != to) { Ratio = 1 / cm.Ratio; } else { Ratio = cm.Ratio; } number *= (decimal)Ratio; return(number); } return(number); }
public float?GetTotalFloat(int currency) { decimal total = Price * Quantity; if (currency != Currency) { try { ConversionModel cm = new ConversionModel(); total = cm.Convert(total, Currency, currency); } catch (Exception e) { MessageBox.Show(e.Message, "Failed", MessageBoxButton.OK, MessageBoxImage.Error); return(null); } } return((float)total); }
public void SetFullAmount(int currency) { decimal amount = (decimal)Amount; if (currency != Currency) { try { ConversionModel cm = new ConversionModel(); amount = cm.Convert((decimal)Amount, (int)Currency, currency); } catch (Exception e) { MessageBox.Show(e.Message, "Failed", MessageBoxButton.OK, MessageBoxImage.Error); } } CurrencyModel c = new CurrencyModel(); c = c.Get(currency); FullAmount = amount + " " + c.Symbol; }
public BindableCollection <ConversionModel> GiveCollection(DataTable cs) { List <ConversionModel> output = new List <ConversionModel>(); foreach (DataRow row in cs.Rows) { CurrencyModel currency = new CurrencyModel(); CurrencyModel currency2 = new CurrencyModel(); ConversionModel cm = new ConversionModel { First = System.Convert.ToInt32(row[0].ToString()), Second = System.Convert.ToInt32(row[1].ToString()), Ratio = System.Convert.ToDecimal(row[2].ToString()) }; cm.FirstCurrency = currency.Get(cm.First); cm.SecondCurrency = currency2.Get(cm.Second); cm.FirstSymbol = cm.FirstCurrency.Symbol; cm.SecondSymbol = cm.SecondCurrency.Symbol; output.Add(cm); } return(new BindableCollection <ConversionModel>(output)); }