Пример #1
0
        public bool UpdateLastVisits(string business_id, string id, string last_visits)
        {
            //System.Threading.Tasks.Task.Factory.StartNew(() =>
            //{
            var option = new UpdateOptions {
                IsUpsert = false
            };
            var filter = Builders <Thread> .Filter.Where(x => x.id == id && x.business_id == business_id);

            var update = Builders <Thread> .Update.Set(p => p.last_visits, last_visits);

            _mongoClient.excuteMongoLinqUpdateColumns <Thread>(filter, update, option,
                                                               _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, threads,
                                                               true, "", DateTime.Now.AddMinutes(10)).Wait();
            CacheBase.cacheModifyAllKeyLinq(new List <string>()
            {
                id
            });
            // });
            return(true);
        }
Пример #2
0
        public bool UpdateTimestamp(string business_id, string id, long timestamp)
        {
            try
            {
                var option = new UpdateOptions {
                    IsUpsert = false
                };
                var filter = Builders <Link> .Filter.Where(x => x.id == id && x.business_id == business_id);

                var update = Builders <Link> .Update.Set(x => x.timestamp, timestamp);

                _mongoClient.excuteMongoLinqUpdateColumns <Link>(filter, update, option,
                                                                 _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, links,
                                                                 true, "", DateTime.Now.AddMinutes(10)).Wait();

                CacheBase.cacheModifyAllKeyLinq(new List <string>()
                {
                    id
                });
                return(true);
            }
            catch { return(false); }
        }
Пример #3
0
        public bool UpdateStatus(string business_id, string id, string status)
        {
            var option = new UpdateOptions {
                IsUpsert = false
            };
            //var filter = Builders<Node>.Filter.Where(x => x.id == id && x.business_id == business_id);
            //var update = Builders<Node>.Update.Set(x => x.status , status ).Set(x=> x.updated_time, DateTime.Now);
            var filter = Builders <Node> .Filter.Where(x => x.id == id);

            var update = Builders <Node> .Update.Set(x => x.status, status).Set(x => x.updated_time, DateTime.Now);

            _mongoClient.excuteMongoLinqUpdateColumns <Node>(filter, update, option,
                                                             _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.Database, nodes,
                                                             true, "", DateTime.Now.AddMinutes(10)).Wait();
            return(true);
        }
Пример #4
0
        public IEnumerable <Agent> GetByUserName(string username)
        {
            var list = new List <Agent>();

            try
            {
                var key = "GetByUserName" + username;

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

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

                var option1 = new UpdateOptions {
                    IsUpsert = false
                };
                var filter1 = Builders <Agent> .Filter.Where(x => x.username == username);

                var update1 = Builders <Agent> .Update.Set(p => p.last_loggedin_time, DateTime.UtcNow).
                              Set(p => p.status, "busy").
                              Set(p => p.login_status, "online").
                              Set(p => p.last_acted_time, DateTime.UtcNow)

                ;

                _mongoClient.excuteMongoLinqUpdateColumns <Agent>(filter1, update1, option1,
                                                                  _appSettings.Value.MongoDB.ConnectionString, _appSettings.Value.MongoDB.DatabaseAi, agents,
                                                                  true, "", DateTime.Now.AddMinutes(10)).Wait();

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