public static RatioEventADO NewRatio(CurrencyRatioADO ratioAdo)
        {
            var ret = new RatioEventADO()
            {
                pair     = ratioAdo.pair,
                oldratio = ratioAdo.oldratio,
                ratio    = ratioAdo.ratio,
                updated  = DateTime.Now
            };

            return(ret);
        }
        public static CurrencyRatioADO FromObject(object o)
        {
            CurrencyRatioADO ado = new CurrencyRatioADO();

            foreach (PropertyDescriptor propertyDescriptor in TypeDescriptor.GetProperties(o))
            {
                var name     = propertyDescriptor.Name.ToLower();
                var strValue = propertyDescriptor.GetValue(o).ToString();
                try
                {
                    switch (name)
                    {
                    case "pair":
                        ado.Pair = strValue;
                        break;

                    case "ratio":
                        ado.Ratio = double.Parse(strValue);
                        break;

                    case "oldratio":
                        ado.OldRatio = double.Parse(strValue);
                        break;

                    case "updated":
                        ado.Updated = DateTime.Parse(strValue);
                        break;

                    case "status":
                        ado.Status = int.Parse(strValue);
                        break;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"CurrencyRatioADO FromObject name={name} value={strValue} error \n" +
                                      ex.StackTrace);
                }
            }
            return(ado);
        }