コード例 #1
0
        private void LoadEventsFromDb()
        {
            try
            {
                var plainList = new List <UserEvent>();
                using (var ctx = DatabaseContext.Instance.Make())
                {
                    foreach (var evt in ctx.USER_EVENT)
                    {
                        plainList.Add(LinqToEntity.DecorateUserEvent(evt));
                    }

                    // удалить старые сообщения
                    ctx.ClearOldUserEvents(new DateTime(1900, 1, 1));
                }

                // заполнить список
                var dic = plainList.GroupBy(x => x.User).ToDictionary(gdc => gdc.Key, gdc => gdc.ToList());
                userEvent.Clear();
                foreach (var evt in dic)
                {
                    userEvent.UpdateValues(evt.Key, evt.Value);
                }
                Logger.InfoFormat("Прочитано {0} записей USER_EVENT", plainList.Count);
            }
            catch (Exception ex)
            {
                Logger.Error("Ошибка в UserEventStorage.LoadEventsFromDb()", ex);
            }
        }
コード例 #2
0
 public void InitializeFake(Dictionary <string, List <Cortege2 <DateTime, float> > > qts)
 {
     quotes.Clear();
     foreach (var pair in qts)
     {
         quotes.UpdateValues(pair.Key, pair.Value);
     }
 }
コード例 #3
0
        // 4 external control
        public void ClearRequests()
        {
            bool timeoutFlag;

            requests.ExtractAll(lockTimeout, out timeoutFlag);

            /*if (!pendingRequestsLock.TryEnterWriteLock(lockTimeout))
             * {
             *  Console.WriteLine("ChatSender.ClearRequests: pendingRequestsWriteLock timeout");
             *  return;
             * }*/
            pendingRequests.Clear();
            //pendingRequestsLock.ExitWriteLock();
        }