public dynamic GetQueueDetails(IDbReader dbReader, int queueId) { try { var queue = dbReader.GetById <Queue> (queueId); var vhost = dbReader.GetById <VHost> (queue.VHostId); var broker = dbReader.GetById <Broker> (vhost.BrokerId); if (broker.UserId != this.UserId()) { return(HttpStatusCode.NotFound); } return(queue); } catch (RowNotFoundInTableException) { return(HttpStatusCode.NotFound); } }
public void Should_be_able_to_get_User_from_database() { var user = dbReader.GetById <User> (1); Assert.IsNotNull(user); Assert.AreEqual(user.Email, "*****@*****.**"); }
void HandleBrokerEvent(QueueSpy.Messages.BrokerEvent brokerEvent) { logger.Log(string.Format("Got BrokerEvent {0}", brokerEvent.Description)); // Very simple initial implementation, just alert on all broker events // TODO: Filter on user preferences var broker = dbReader.GetById <Broker> (brokerEvent.BrokerId); var user = dbReader.GetById <User> (broker.UserId); var alertInfo = new AlertInfo { Broker = broker, User = user, AlertType = AlertTypeFromEventTypeId(brokerEvent.EventTypeId), DateTimeUTC = brokerEvent.DateTimeUTC, Description = brokerEvent.Description }; foreach (var alertSink in alertSinks) { alertSink.Handle(alertInfo); } }
public Broker GetBroker(int userId, int brokerId) { var broker = dbReader.GetById <Broker> (brokerId); if (broker == null) { throw new ItemNotFoundException(); } if (broker.UserId != userId) { throw new ItemNotFoundException(); } return(broker); }
public Broker LoadBrokerModel(int brokerId) { var brokerModel = dbReader.GetById <Broker> (brokerId); var connections = dbReader.Get <Connection, VHost> ("BrokerId = :BrokerId and IsConnected = TRUE", x => x.BrokerId = brokerId).ToList(); var consumers = dbReader.Get <Consumer, Connection, VHost> ("BrokerId = :BrokerId AND IsConsuming = TRUE", x => x.BrokerId = brokerId).ToList(); var queues = dbReader.Get <Queue, VHost> ("BrokerId = :BrokerId AND IsCurrent = TRUE", x => x.BrokerId = brokerId).ToList(); brokerModel.VHosts = dbReader.Get <VHost> ("BrokerId = :BrokerId", x => x.BrokerId = brokerId).ToList(); foreach (var vhost in brokerModel.VHosts) { vhost.Connections = connections.Where(x => x.VHostId == vhost.Id).ToList(); vhost.Queues = queues.Where(x => x.VHostId == vhost.Id).ToList(); foreach (var connection in vhost.Connections) { connection.Consumers = consumers.Where(x => x.ConnectionId == connection.Id).ToList(); } } return(brokerModel); }
public Trait GetTraitById(int id) { return(_dbReader.GetById(id)); }