Beispiel #1
0
        public void Stop()
        {
            lock (runningLock)
            {
                restClient      = null;
                room            = null;
                lastMessageTime = default(DateTime);
                hwm             = 0;

                running = false;
            }

            imageManager.Stop();
        }
Beispiel #2
0
        public void Start()
        {
            lock (runningLock)
            {
                if (running)
                {
                    Stop();
                }

                restClient = new TfsTeamRoomRestClient(restConfiguration);
                room       = null;

                foreach (TfsTeamRoom r in restClient.Rooms())
                {
                    if (roomName.Equals(r.Name))
                    {
                        room = r;
                        break;
                    }
                }

                if (room == null)
                {
                    throw new Exception(String.Format("Could not find team room '{0}'", roomName));
                }

                /* Load the high-water mark */
                IEnumerable <TfsTeamRoomMessage> messages = restClient.Messages(room);

                TfsTeamRoomMessage lastMessage = (messages.Count() > 0) ? restClient.Messages(room).Last() : null;

                lastMessageTime = (lastMessage != null) ? lastMessage.PostedTime : default(DateTime);
                hwm             = (lastMessage != null) ? lastMessage.Id : 0;

                running = true;
            }

            new Thread(delegate()
            {
                imageManager.Start();
            }).Start();
        }