Esempio n. 1
0
File: Queue.cs Progetto: lx223/Q3
 public Queue (int id, string name, User creatingUser, string restrictToGroup)
 {
     this.Id = id;
     this.Name = name;
     this.Status = QueueStatus.Waiting;
     this.members.Add(creatingUser);
     this.RestrictToGroup = restrictToGroup;
 }
Esempio n. 2
0
File: Queue.cs Progetto: lx223/Q3
 public void RemoveUser(User user)
 {
     lock (lockable)
     {
         if (members.Contains(user))
         {
             members.Remove(user);
             MembershipChanged();
         }
     }
 }
Esempio n. 3
0
File: Queue.cs Progetto: lx223/Q3
 public void AddUser(User name)
 {
     lock (lockable)
     {
         if (!members.Contains(name))
         {
             members.Add(name);
             MembershipChanged();
         }
     }
 }
Esempio n. 4
0
File: Queue.cs Progetto: lx223/Q3
        internal void AddMessage(User sender, string message)
        {
            lock (lockable)
            {
                var msg = new Message() { Sender = sender, Content = message };
                messages.Add(msg);

                if (QueueMessageSent != null)
                {
                    QueueMessageSent(this, new QueueMessageEventArgs(this, msg));
                }
            }
        }
Esempio n. 5
0
File: QManager.cs Progetto: lx223/Q3
        public Queue CreateQueue(string queueName, string restrictToGroup, User creatingUser)
        {
            lock (lockable)
            {
                if (queues.Any(q => q.Value.Name.Equals(queueName, StringComparison.InvariantCultureIgnoreCase)))
                {
                    throw new DuplicateQueueException();
                }

                var queue = new Queue(++lastQueueId, queueName, creatingUser, restrictToGroup);
                queues.Add(queue.Id, queue);

                if (queueCreated != null)
                {
                    queueCreated(this, new QueueEventArgs(queue));
                }

                return queue;               
            }
        }