Beispiel #1
0
        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;
                }
            }
        }
Beispiel #2
0
 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);
     }
 }