Beispiel #1
0
        public IActionResult Product(int productId)
        {
            var product = _reader.GetWithIncludes <Product>().FirstOrDefault(
                p => p.Id.Equals(productId));


            //var author = _reader.GetWithIncludes<Product>().FirstOrDefault(
            //	p => p.Id.Equals(productId));
            //var module = _reader.Get<ListItem>()
            //	.Where(x => x.ProductId == productId);

            var module = from li in _reader.Get <ListItem>()
                         where li.ProductId.Equals(productId)
                         select new ListItem
            {
                Id          = li.Id,
                Description = li.Description,
                Name        = li.Name,
                Product     = li.Product,
                ProductId   = li.ProductId,
                Items       = _reader.Get <Item>().Where(i => i.ListItemId.Equals(li.Id)).ToList()
            };

            //var module = _reader.GetWithIncludes<ListItem>().Where(
            //	x => x.ProductId == productId);



            var model = new ProductViewModel {
                Product = product, ListItems = module.ToList()
            };

            return(View(model));
        }
Beispiel #2
0
 public IActionResult OnGet(string userid, int courseid)
 {
     UserCourse              = _reader.Get <UserCourse>(userid, courseid);
     ViewData["Email"]       = _db.GetUser(userid).Email;
     ViewData["CourseTitle"] = _reader.Get <Course>(courseid).Result.Title;
     return(Page());
 }
Beispiel #3
0
        public User GetUserByEmail(string email)
        {
            Preconditions.CheckNotNull(email, "email");
            var user = dbReader.Get <User> ("Email = :Email", x => x.Email = email).SingleOrDefault();

            if (user == null)
            {
                throw new UserNotFoundException();
            }
            return(user);
        }
        public void Handle(QueueSpy.Messages.BrokerEvent brokerEvent)
        {
            var connectionEstablished = (Messages.ConnectionEstablished)brokerEvent;

            var vhost = dbReader.Get <QueueSpy.VHost> ("Name = :Name", x => x.Name = connectionEstablished.VHostName).FirstOrDefault();

            if (vhost == null)
            {
                return;
            }

            var connectionId = dataWriter.Insert <Executor.Connection> (new Executor.Connection {
                VHostId     = vhost.Id,             // TODO:
                Name        = connectionEstablished.Name,
                Connected   = connectionEstablished.DateTimeUTC,
                IsConnected = true
            });

            foreach (var clientProperty in connectionEstablished.Properties)
            {
                dataWriter.Insert <Executor.ClientProperty> (new Executor.ClientProperty {
                    ConnectionId = connectionId,
                    Key          = clientProperty.Key,
                    Value        = clientProperty.Value
                });
            }
        }
Beispiel #5
0
 /// <summary>
 /// 初始化数据
 /// </summary>
 /// <param name="reader"></param>
 public virtual void Initialize(IDbReader reader)
 {
     foreach (var ni in reader.NameIndex)
     {
         //this.Set(ni.Key, reader.Get(ni.Key));
         this.propertys.Add(ni.Key, reader.Get(ni.Key));
     }
 }
        public void OnTimer(object state)
        {
            var brokers = dbReader.Get <Broker> ("Active = TRUE");

            foreach (var broker in brokers)
            {
                logger.Log("Querying broker: {0}", broker.Url);

                var status = new Messages.BrokerStatus {
                    BrokerId     = broker.Id,
                    UserId       = broker.UserId,
                    Url          = broker.Url,
                    SampledAtUtc = DateTime.UtcNow
                };

                try {
                    var part   = BuildBrokerUrl(broker.Url);
                    var client = new ManagementClient(part.HostPart, broker.Username, broker.Password, part.Port, true);

                    try {
                        var overview = client.GetOverview();
                        status.IsResponding    = true;
                        status.RabbitMQVersion = overview.ManagementVersion;

                        var connections = client.GetConnections();
                        var channels    = client.GetChannels();

                        foreach (var connection in connections)
                        {
                            var connectionMessage = new Messages.Connection {
                                Name = connection.Name
                            };
                            foreach (var property in connection.ClientProperties.PropertiesDictionary)
                            {
                                connectionMessage.ClientProperties.Add(new Messages.ClientProperty {
                                    Key   = property.Key,
                                    Value = property.Value.ToString()
                                });
                            }
                            AddConsumersToConnection(client, channels, connectionMessage);
                            status.GetOrCreateVHost(connection.Vhost).Connections.Add(connectionMessage);
                        }

                        AddQueuesToBroker(client, status);
                    } catch (Exception e) {
                        logger.Log("Exception in Harvester: {0}", e);
                        status.IsResponding = false;
                        status.ErrorMessage = string.Format("{0}: {1}", e.GetType().Name, e.Message);
                    }
                } catch (UrlParseException ex) {
                    logger.Log("UrlParseException in Harvester: {0}", ex);
                    status.IsResponding = false;
                    status.ErrorMessage = string.Format("{0}", ex.Message);
                }

                bus.Publish(status);
            }
        }
Beispiel #7
0
        public void Should_be_able_to_do_a_table_join()
        {
            var consumers = dbReader.Get <Consumer, Connection> ("BrokerId = :BrokerId", x => x.BrokerId = 4);

            foreach (var consumer in consumers)
            {
                System.Console.WriteLine(consumer.QueueName);
            }
        }
        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);
        }
Beispiel #9
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ItemType = await _reader.Get <ItemType>((int)id);

            if (ItemType == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Beispiel #10
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Author = await _reader.Get <Author>()
                     .SingleOrDefaultAsync(m => m.Id == id);

            if (Author == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Beispiel #11
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Module = await _reader.Get <Module>((int)id);

            ViewData["Courses"] = _reader.GetSelectList <Course>("Id", "Title");

            if (Module == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Beispiel #12
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Item = await _reader.Get <Item>()
                   .SingleOrDefaultAsync(m => m.Id == id);

            if (Item == null)
            {
                return(NotFound());
            }

            ViewData["ItemTypes"] = _reader.GetSelectList <ItemType>("Id", "Title");
            ViewData["Modules"]   = _reader.GetSelectList <Module>("Id", "Title");
            return(Page());
        }
Beispiel #13
0
        public void Handle(QueueSpy.Messages.BrokerEvent brokerEvent)
        {
            Preconditions.CheckNotNull(brokerEvent, "brokerEvent");
            var queueCreated = (Messages.QueueCreated)brokerEvent;

            var vhost = dbReader.Get <QueueSpy.VHost> ("Name = :Name", x => x.Name = queueCreated.VHostName).FirstOrDefault();

            if (vhost == null)
            {
                return;
            }

            dataWriter.Insert(new Executor.Queue {
                VHostId   = vhost.Id,
                Name      = queueCreated.Name,
                Created   = queueCreated.DateTimeUTC,
                IsCurrent = true
            });
        }
Beispiel #14
0
        public void Handle(QueueSpy.Messages.BrokerEvent brokerEvent)
        {
            var newConsumer = (Messages.NewConsumer)brokerEvent;

            var connection = dbReader.Get <QueueSpy.Connection> ("Name = :Name and IsConnected = TRUE", x => x.Name = newConsumer.ConnectionName)
                             .SingleOrDefault();

            if (connection == null)
            {
                return;
            }

            dataWriter.Insert <Executor.Consumer> (new Executor.Consumer {
                ConnectionId = connection.Id,
                Tag          = newConsumer.Tag,
                QueueName    = newConsumer.QueueName,
                Created      = newConsumer.DateTimeUTC,
                IsConsuming  = true
            });
        }
Beispiel #15
0
 public dynamic GetQueueLevels(IDbReader dbReader, int queueId)
 {
     return(dbReader.Get <QueueLevel> ("QueueId = :QueueId", x => x.QueueId = queueId).ToList());
 }
Beispiel #16
0
 IEnumerable <Webhook> GetWebhooks(IDbReader dbReader, int userId)
 {
     return(dbReader.Get <Webhook> ("UserId = :UserId", x => x.UserId = userId));
 }
Beispiel #17
0
 public IEnumerable <Broker> GetUsersBrokers(int userId)
 {
     return(dbReader.Get <Broker>("UserId = :UserId", x => x.UserId = userId));
 }
Beispiel #18
0
 public void OnGet()
 {
     ItemType = _db.Get <ItemType>().ToList();
 }