private void runTask() { _data.GetNext(); var mission = new Missions() { StartDt = _data.Start, StartHour = _data.Start.Hour }; using (var db = new ATTDbContext()) { db.Missions.Add(mission); db.SaveChanges(); } _data.Mid = mission.Id; _start = DateTime.Now; _data.Mid = mission.Id; var newMission = new MissionVM(); newMission.Id = mission.Id; newMission.Start = _start; dg_Status.Dispatcher.BeginInvoke(new Action(() => _missions.Add(newMission))); script.Run(_data); newMission.IsComplete = true; }