public static UrlLogin GetUrlLogin(MongoConnection connection, string urlName) { IMongoCollection <UrlLogin> urlLoginCollection = connection.Database.GetCollection <UrlLogin>(typeof(UrlLogin).Name); IFindFluent <UrlLogin, UrlLogin> urlLoginFind = urlLoginCollection.Find(urlLogin => urlLogin.UrlName == urlName); Task <UrlLogin> urlLoginTask = urlLoginFind.SingleAsync(); return(MongoDataHelper.GetValueOrThrowTimeout(urlLoginTask)); }
public static Config GetConfig(MongoConnection connection) { IMongoCollection <Config> configs = connection.Database.GetCollection <Config>(typeof(Config).Name); IFindFluent <Config, Config> configFind = configs.Find(config => true); Task <Config> configTask = configFind.SingleAsync(); return(MongoDataHelper.GetValueOrThrowTimeout(configTask)); }
protected static void Create <TDataType>(MongoConnection connection, TDataType data) where TDataType : AbstractMongoData { data._id = ObjectId.GenerateNewId(DateTime.Now); IMongoCollection <TDataType> datas = connection.Database.GetCollection <TDataType>(typeof(TDataType).Name); Task insertTask = datas.InsertOneAsync(data); MongoDataHelper.WaitForTaskOrThrowTimeout(insertTask); }
protected static long Count <TDataType>(MongoConnection connection) where TDataType : AbstractMongoData { IMongoCollection <TDataType> dataCollection = connection.Database.GetCollection <TDataType>(typeof(TDataType).Name); BsonDocument filter = new BsonDocument(); Task <long> dataCount = dataCollection.CountAsync(filter); return(MongoDataHelper.GetValueOrThrowTimeout(dataCount)); }
public void Create(MongoConnection connection) { _id = ObjectId.GenerateNewId(DateTime.Now); LastWorkTime = DateTime.Now; IMongoCollection <Worker> datas = connection.Database.GetCollection <Worker>(typeof(Worker).Name); Task insertTask = datas.InsertOneAsync(this); MongoDataHelper.WaitForTaskOrThrowTimeout(insertTask); }
public static List <Worker> GetDeadWorkers(MongoConnection mongoConnection, DateTime lastAcceptableWorkerTime) { IMongoCollection <Worker> collection = mongoConnection.Database.GetCollection <Worker>(typeof(Worker).Name); FilterDefinition <Worker> filter = Builders <Worker> .Filter.Lt(worker => worker.LastWorkTime, lastAcceptableWorkerTime); IFindFluent <Worker, Worker> find = collection.Find(filter); Task <List <Worker> > task = find.ToListAsync(); return(MongoDataHelper.GetValueOrThrowTimeout(task)); }