private void OnTimedEvent(object source, ElapsedEventArgs e) { try { currentSourceGuid = Guid.NewGuid(); //log that we are about to start this source import DataLayer.TrnSourceUpdate.TrnSourceUpdateDataTable sourceTable = new DataLayer.TrnSourceUpdate.TrnSourceUpdateDataTable(); DataLayer.TrnSourceUpdate.TrnSourceUpdateRow sourceRow = sourceTable.NewTrnSourceUpdateRow(); sourceRow.TrnSourceUpdateGuid = currentSourceGuid; sourceRow.PrmCurrencySourceId = (int)BusLayer.Handler.CurrencySource.Sources.Altcointrader; sourceRow.CreateDate = DateTime.Now; sourceTable.AddTrnSourceUpdateRow(sourceRow); localCurrencyHelper.UpdateSourceRow(sourceTable); try { //your code GetData(); sourceRow.Completed = true; sourceRow.CreateDate = DateTime.Now; localCurrencyHelper.UpdateSourceRow(sourceRow); } catch (Exception ex) { sourceRow.Completed = true; sourceRow.CreateDate = DateTime.Now; sourceRow.Failed = true; sourceRow.ErrorMessage = ex.Message; sourceRow.ErrorStackTrace = ex.InnerException.StackTrace; localCurrencyHelper.UpdateSourceRow(sourceRow); } } catch (Exception ex) { string f**k = "me"; } }