Пример #1
0
        public async Task <IEnumerable <Message> > GetAll(string business_id, Paging page)
        {
            List <Message> list = new List <Message>();
            var            key  = "Message_GetAll" + business_id;

            var options = new FindOptions <Message>();

            options.Projection = "{'_id': 0}";
            options.Sort       = Builders <Message> .Sort.Ascending("timestamp");

            options.Limit = page.Limit;
            var query = "{business_id:\"" + business_id + "\"}";

            return(await _mongoClient.excuteMongoLinqSelect(query, options,
                                                            _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, messages,
                                                            true, key, DateTime.Now.AddMinutes(10), true));
        }
Пример #2
0
        public async Task <IEnumerable <Attachment> > GetAttachments(string business_id, string channel_id, string product_id, Paging page)
        {
            List <Attachment> list = new List <Attachment>();
            var key = "GetAttachments" + business_id + channel_id + product_id;

            var options = new FindOptions <Attachment, Attachment>();

            options.Projection = "{'_id': 0}";
            options.Limit      = page.Limit;
            var query = "{business_id:\"" + business_id + "\"" +
                        ",channel_id:\"" + channel_id + "\"" +
                        ",product_id:\"" + product_id + "\"" +
                        "}";

            //",timestamp:{$lte:" + long.Parse(page.Next ?? "9999999999") + "}" +
            //           ",timestamp:{$gte:" + long.Parse(page.Previous ?? "0") + "}" +
            return(await _mongoClient.excuteMongoLinqSelect(query, options,
                                                            _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, attachments,
                                                            true, key, DateTime.Now.AddMinutes(10), true));
        }
Пример #3
0
        public async Task <IEnumerable <Node> > GetNodes(string business_id, string channel_id, Paging page)
        {
            var list = new List <Node>();

            try
            {
                var key = "Nodes_GetNodes" + business_id + channel_id;

                var options = new FindOptions <Node, Node>();
                options.Projection = "{'_id': 0}";
                options.Limit      = page.Limit;
                options.Sort       = Builders <Node> .Sort.Descending("created_time");

                var query = "{business_id:\"" + business_id + "\",channel_id:\"" + channel_id + "\"}";
                return(await _mongoClient.excuteMongoLinqSelect(query, options,
                                                                _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, nodes,
                                                                true, key, DateTime.Now.AddMinutes(10), true));
            }
            catch { return(list); }
        }
Пример #4
0
        public Business GetById(string id)
        {
            try
            {
                var key = "Businesses_GetById" + id;

                var options = new FindOptions <Business, Business>();
                options.Projection = "{'_id': 0}";
                options.Limit      = 1;
                // options.Sort = Builders<Business>.Sort.Descending("created_time");
                var query = "{id:\"" + id + "\"}";
                var rs    = _mongoClient.excuteMongoLinqSelect(query, options,
                                                               _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, businesses,
                                                               true, key, DateTime.Now.AddMinutes(10), true).Result;
                if (rs != null && rs.Count > 0)
                {
                    return(rs[0]);
                }
                return(null);
            }
            catch { return(null); }
        }
Пример #5
0
        public async Task <IEnumerable <Link> > GetLinks(string business_id, string channel_id, Paging page)
        {
            var list = new List <Link>();

            try
            {
                var key = "Links_GetLinks" + business_id + channel_id;

                var options = new FindOptions <Link, Link>();
                options.Projection = "{'_id': 0}";
                options.Limit      = page.Limit;
                options.Sort       = Builders <Link> .Sort.Descending("created_time");

                var query = "{business_id:\"" + business_id + "\",channel_id:\"" + channel_id + "\"}";
                return(await _mongoClient.excuteMongoLinqSelect(query, options,
                                                                _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, links,
                                                                true, key, DateTime.Now.AddMinutes(10), true));

                //para.Add("since", long.Parse(page.Previous ?? "0"));
                //para.Add("until", long.Parse(page.Next ?? "9999999999"));
            }
            catch { return(list); }
        }
Пример #6
0
        public Thread GetById(string business_id, string id)
        {
            var key = "Thread_GetById" + business_id + id;

            var options = new FindOptions <Thread>();

            options.Projection = "{'_id': 0}";
            options.Limit      = 1;
            // options.Sort = Builders<Thread>.Sort.Descending("timestamp");
            var query = "{business_id:\"" + business_id + "\", id:\"" + id + "\"}";

            var rs = _mongoClient.excuteMongoLinqSelect(query, options,
                                                        _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, threads,
                                                        true, key, DateTime.Now.AddMinutes(10), true).Result;

            if (rs != null && rs.Count > 0)
            {
                return(rs[0]);
            }
            return(null);
        }
Пример #7
0
        public IEnumerable <Channel> GetAll(string business_id)
        {
            var list = new List <Channel>();

            try
            {
                var key = "Channels_GetAll" + business_id;

                var options = new FindOptions <Channel, Channel>();
                options.Projection = "{'_id': 0}";
                options.Limit      = 50;
                options.Sort       = Builders <Channel> .Sort.Descending("created_time");

                var query = "{business_id:\"" + business_id + "\"}";
                return(_mongoClient.excuteMongoLinqSelect(query, options,
                                                          _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, channels,
                                                          true, key, DateTime.Now.AddMinutes(10), true).Result);
            }
            catch { return(list); }
        }
Пример #8
0
        public async Task <IEnumerable <Agent> > GetAgents(string business_id, Paging page)
        {
            var list = new List <Agent>();

            try
            {
                var key = "Agents_GetAgents" + business_id;

                var options = new FindOptions <Agent, Agent>();
                options.Projection = "{'_id': 0}";
                options.Limit      = page.Limit;
                options.Sort       = Builders <Agent> .Sort.Descending("status");

                var query = "{business_id:\"" + business_id + "\"}";
                list = await _mongoClient.excuteMongoLinqSelect(query, options,
                                                                _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, agents,
                                                                true, key, DateTime.Now.AddMinutes(10), true);

                return(list);
            }
            catch { return(list); }
        }