public IEnumerable <Prediction> GetDailyPredictions(int stationId, DateTime date) { var server = MongoServer.Create(Settings.TidesMongoConnection); server.Connect(); var collection = server[DatabaseNames.Tides][TidesCollectionNames.GetPredictionCollectionName(date.Year)]; var query = new QueryDocument(); var predictions = collection.FindAs <Prediction>(Query.And(Query.EQ("StationId", stationId), Query.GTE("TimeStamp", date.Date /*.ToUniversalTime()*/).LT(date.Date.AddDays(1) /*.ToUniversalTime()*/))).ToList(); server.Disconnect(); return(predictions); }
public void DeleteAllPredictions(int year) { var server = MongoServer.Create(Settings.TidesMongoConnection); server.Connect(); var db = server[DatabaseNames.Tides]; if (db.CollectionExists(TidesCollectionNames.GetPredictionCollectionName(year))) { db.DropCollection(TidesCollectionNames.GetPredictionCollectionName(year)); } server.Disconnect(); }
public void CreatePredictions(int stationId, int year, IEnumerable <Prediction> predictions) { var server = MongoServer.Create(Settings.TidesMongoConnection); server.Connect(); var db = server[DatabaseNames.Tides]; var collection = db[TidesCollectionNames.GetPredictionCollectionName(year)]; collection.EnsureIndex(IndexKeys.Ascending("StationId")); collection.InsertBatch <Prediction>(predictions); server.Disconnect(); }