private void AddTicks(int period, string pair, DateTime dateStart) { try { using (var context = new ForexEntities() { CommandTimeout = 6000 }) { #region callback Action <FXCoreWrapper.RateLoadingCallbackArgs <Rate> > showProgress = (args) => { TestContext.WriteLine("{0}", args.Message); foreach (var t in args.NewRates) { var bar = context.CreateObject <t_Bar>(); FillBar(period, pair, bar, t); context.t_Bar.AddObject(bar); } context.SaveChanges(System.Data.Objects.SaveOptions.AcceptAllChangesAfterSave); }; #endregion var dateEnd = context.t_Bar.Where(b => b.Pair == pair && b.Period == period).Select(b => b.StartDate).DefaultIfEmpty(DateTime.Now).Min().DateTime; o2g.GetBarsBase(pair, period, 0, dateStart, dateEnd, new List <Rate>(), showProgress); dateStart = context.t_Bar.Where(b => b.Pair == pair && b.Period == period).Select(b => b.StartDate).DefaultIfEmpty(DateTime.Now).Max().DateTime; o2g.GetBarsBase(pair, period, 0, dateStart, DateTime.Now, new List <Rate>(), showProgress); } } catch (Exception exc) { Debug.WriteLine(exc.ToString()); } }