public static void AutoUpdate(Object obj) { if (readyForChekingAllAccounts) { ReadyForUpdateAllAccounts(); } if (readyForRuningAllAdapters) { readyForRuningAllAdapters = false; List <ITask> allTasks = new List <ITask>(500); var result = Int32.TryParse(ConfigurationManager.AppSettings["TimeForIncreaseMinUpdateTime"].ToString(), out TimeForIncreaseMinUpdateTime); IEnumerable <IAdapter> canRunAdapters = accountAdapterLastUpdateDic.Values.Where(ad => ad.CanRunUpdate()).ToList(); Parallel.ForEach(canRunAdapters, a => { try { allTasks.AddRange(RunAdapter(a)); a.adapterLastUpdate = DateTime.Now; } catch (TrelloNet.TrelloException treloEX) { log.Error(treloEX.Message, treloEX); a.MinUpdateTime += TimeForIncreaseMinUpdateTime; } catch (Exception ex) { log.Error(ex.Message, ex); throw; } }); try { if (allTasksForAdding.Count > 0) { isTaskListInUse = true; allTasks.AddRange(allTasksForAdding); allTasksForAdding.Clear(); isTaskListInUse = false; } IList <TaskMainDAO> taskMainDaoCollection = ConverterDomainToDAO.TaskMainToTaskMainDAO(allTasks); TaskMainDAO.SaveOrUpdateCollectionInDB(taskMainDaoCollection); } catch (Exception ex) { log.Error(ex.Message, ex); } finally { readyForRuningAllAdapters = true; } } }
private Boolean TryReadTasksFromFile() { RunAdapter(); if (list_task.Count > 0) { try { TaskMainDAO.SaveOrUpdateCollectionInDBWhithRollback(ConverterDomainToDAO.TaskMainToTaskMainDAO(list_task)); } catch (Exception ex) { log.Error(ex); return(false); } return(true); } else { return(false); } }