public void FetchDBRefTest() { const string collectionName = "testDBRef"; var collection = Database.GetCollection(collectionName); var document = new BsonDocument { { "_id", ObjectId.GenerateNewId() }, { "P", "x" } }; collection.Insert(document); var dbRef = new MongoDBRef(collectionName, document["_id"].AsObjectId); var fetched = Database.FetchDBRef(dbRef); Assert.AreEqual(document, fetched); Assert.AreEqual(document.ToJson(), fetched.ToJson()); var dbRefWithDatabaseName = new MongoDBRef(Database.Name, collectionName, document["_id"].AsObjectId); fetched = Server.FetchDBRef(dbRefWithDatabaseName); Assert.AreEqual(document, fetched); Assert.AreEqual(document.ToJson(), fetched.ToJson()); Assert.Throws <ArgumentException>(() => Server.FetchDBRef(dbRef)); }
private void Serialize(BsonSerializationContext context, BsonSerializationArgs args, TClass value) { CheckItemMap(); var writer = context.Writer; var list = value as IEnumerable; if (list == null) { writer.WriteNull(); } else { writer.WriteStartArray(); foreach (var i in list) { if (i == null) { BsonSerializer.Serialize(writer, (object)null); } else { var mref = new MongoDBRef(ClassMappingExtensions.GetCollectionForType(itemType), BsonValue.Create(itemIdMap.Getter.Invoke(i))); BsonSerializer.Serialize(writer, mref); } } writer.WriteEndArray(); } }
public void TestEqualsWithoutDatabase() { var a1 = new MongoDBRef("c", 1); var a2 = new MongoDBRef("c", 1); var a3 = a2; var b = new MongoDBRef("x", 1); var c = new MongoDBRef("c", 2); var null1 = (MongoDBRef)null; var null2 = (MongoDBRef)null; Assert.AreNotSame(a1, a2); Assert.AreSame(a2, a3); Assert.IsTrue(a1.Equals((object)a2)); Assert.IsFalse(a1.Equals((object)null)); Assert.IsFalse(a1.Equals((object)"x")); Assert.IsTrue(a1 == a2); Assert.IsTrue(a2 == a3); Assert.IsFalse(a1 == b); Assert.IsFalse(a1 == c); Assert.IsFalse(a1 == null1); Assert.IsFalse(null1 == a1); Assert.IsTrue(null1 == null2); Assert.IsFalse(a1 != a2); Assert.IsFalse(a2 != a3); Assert.IsTrue(a1 != b); Assert.IsTrue(a1 != c); Assert.IsTrue(a1 != null1); Assert.IsTrue(null1 != a1); Assert.IsFalse(null1 != null2); Assert.AreEqual(a1.GetHashCode(), a2.GetHashCode()); }
public static void RemoveRide(ObjectId rideId) { var connectionString = "mongodb://localhost/?safe=true"; var server = MongoServer.Create(connectionString); var db = server.GetDatabase("TransportSystem"); var collectionRide = db.GetCollection <Ride>("Ride"); var collectionRoute = db.GetCollection <Route>("Route"); var collectionVehical = db.GetCollection <Vehical>("Vehical"); MongoDBRef RideRef = new MongoDBRef("Ride", rideId); //var query = Query.EQ("Ride", RideRef.ToBsonDocument()); //var update = MongoDB.Driver.Builders.Update.Set("Ride",""); //collectionVehical.Update(query, update); var Vehical = (from v in collectionVehical.AsQueryable <Vehical>() where v.Ride == RideRef select v).ToList(); foreach (var v in Vehical) { v.Ride = null; collectionVehical.Save(v); } var Routs = (from r in collectionRoute.AsQueryable <Route>() where r.Rides.Contains(RideRef) select r).ToList(); foreach (var r in Routs) { r.Rides.Remove(RideRef); collectionRoute.Save(r); } collectionRide.Remove(Query.EQ("_id", rideId)); }
private void btnDelete_Click(object sender, EventArgs e) { if (!Provera.chkIfSelected(dataGridViewTabela)) { return; } var connectionString = "mongodb://localhost/?safe=true"; var server = MongoServer.Create(connectionString); var db = server.GetDatabase("fudbal"); var kluboviColl = db.GetCollection <Klub>("klubovi"); var ligeColl = db.GetCollection <Liga>("lige"); Klub k = dataGridViewTabela.CurrentRow.DataBoundItem as Klub; if (k.Igraci.Count > 0 || k.Utakmice.Count > 0) { MessageBox.Show("Ne moze da se obrise klub koji sadrzi igrace i/ili utakmice"); return; } else { MongoDBRef kref = new MongoDBRef("klubovi", k.Id); L.Klubovi.Remove(kref); ligeColl.Save(L); kluboviColl.Remove(Query.EQ("_id", k.Id)); MessageBox.Show("Klub je obrisan"); UcitajDGVTabela(); } }
public static List <RideView> GetRides(ObjectId StationId) { var connectionString = "mongodb://localhost/?safe=true"; var server = MongoServer.Create(connectionString); var db = server.GetDatabase("TransportSystem"); var collectionRoute = db.GetCollection <Route>("Route"); var collectionStation = db.GetCollection <Station>("Station"); var collectionRide = db.GetCollection <Ride>("Ride"); var collectionVehical = db.GetCollection <Vehical>("Vehical"); MongoDBRef Stat = new MongoDBRef("Station", StationId); var Rides = collectionRide.AsQueryable <Ride>().Where(p => p.CurrentStation == Stat).Select(r => new RideView() { Id = r.Id, EndTime = r.EndTime, Late = r.Late, DynamicFields = r.DynamicFields, Rout = r.Rout != null ? db.FetchDBRefAs <Route>(r.Rout) : null, StartTime = r.StartTime, Vehical = r.Vehical != null ? db.FetchDBRefAs <Vehical>(r.Vehical) : null, CurrentStation = r.CurrentStation != null ? db.FetchDBRefAs <Station>(r.CurrentStation) : null, }).ToList(); return(Rides); }
public Merenje(MongoDBRef a, MongoDBRef b, MongoDBRef c) { this.temperatura = a; this.vlaznostVazduha = b; this.padavine = c; this.log = DateTime.Now; }
public void SendMsg <T>(ObjectId recv, string msg, MongoDBRef file = null) where T : Member { Type t = this.GetType(); Message nMsg = new Message(); nMsg.TimeCreated = DateTime.Now; nMsg.Content = msg; nMsg.Sender = new MongoDBRef(t.ToString().ToLower(), this.Id); nMsg.Reciver = new MongoDBRef(typeof(T).Name.ToLower(), recv); if (file != null) { nMsg.File = file; } this.userInbox.Sent.Insert(0, nMsg); var senderCollection = this.GetCollection(); senderCollection.Save(this); var recvCollection = mongoDB.GetCollection <T>(); Member reciver = recvCollection.FindOneById(recv); reciver.userInbox.Recived.Insert(0, nMsg); recvCollection.Save(reciver); }
private void button3_Click(object sender, EventArgs e) { var connectionString = "mongodb://localhost/?safe=true"; var server = MongoServer.Create(connectionString); var db = server.GetDatabase("CookingBook"); var kuvariCollection = db.GetCollection <Kuvar>("kuvari"); var collection = db.GetCollection <Recepts>("Recepts"); ObjectId objectId = new ObjectId(Id); var query = Query.And( (Query.EQ("_id", objectId)) ); collection.Remove(query); var query2 = Query.And( (Query.EQ("ID_Kartice", kuvar.ID_Kartice)), Query.EQ("sifra", kuvar.sifra) ); var sad = kuvariCollection.Find(query2); if (sad.Count() == 1) { foreach (Kuvar r in sad) { MongoDBRef referenca = new MongoDBRef("Recepts", new ObjectId(this.Id)); r.Recepts.Remove(referenca); kuvariCollection.Save(r); } } this.Close(); }
public ReviewControl(Member sender, Member reciver, MongoDBRef file = null) { User = sender; Reciver = reciver; File = file; InitializeComponent(); initMsgWriteMode(); }
public ActionResult HireInstructor(string id) { ObjectId i = ObjectId.Parse(id); Korisnici.PromeniInstruktora((ObjectId)Session["Id"], i); Session["Instruktor"] = new MongoDBRef("korisnici", i); return(View("~/Views/ListaInstruktora/ListaFitnessInstruktora.cshtml", new ListaInstruktoraModel())); }
public static T FetchDbRef <T>(this IMongoDatabase db, MongoDBRef dbRef) where T : Entity { var filter = Builders <T> .Filter.Eq(x => x.Id, dbRef.Id); var collection = db.GetCollection <T>(dbRef.CollectionName); return(collection.Find(filter).FirstOrDefault()); }
public static T Instance <T>(this MongoDBRef instance) where T : IEntity { if (instance == null || null == instance.Id || string.IsNullOrEmpty(instance.CollectionName)) { return(default(T)); } return(EntityOperationExtensions.DBFind <T>(instance.Id.ToString())); }
/// <summary> /// 加载引用对象 /// </summary> /// <param name="dbRef">引用对象</param> /// <typeparam name="T">引用对象类型</typeparam> /// <returns>返回加载的引用对象</returns> public T LoadRef <T>(MongoDBRef dbRef) where T : IDocumentEntity, new() { if (dbRef == null) { return(default(T)); } return(Excute(() => DataBase.FetchDBRefAs <T>(dbRef))); }
public IList <ChatRoom> GetMyChatRoom(MongoDBRef userRef) { var builder = new FilterDefinitionBuilder <ChatRoom>(); var filterSender = builder.Eq("User1", userRef); var filterReceiver = builder.Eq("User2", userRef); var list = chatRoomDao.Find.WhenMatch(filterSender | filterReceiver); return(list); }
public Padavine(double min, double max, double vrednost, MongoDBRef odgovorni) { this.DonjaGranica = min; this.GornjaGranica = max; this.Vrednost = vrednost; this.Jedinica = "l/m2"; this.Odgovorni = odgovorni; this.VremeEvidentiranja = DateTime.Now; }
/// <summary> /// 加载引用对象 /// </summary> /// <param name="dbRef">引用对象</param> /// <typeparam name="T">引用对象类型</typeparam> /// <returns>返回加载的引用对象</returns> public T LoadRef <T>(MongoDBRef dbRef) where T : IDocumentEntity, new() { if (dbRef == null) { return(default(T)); } return(Excute(() => DataBase.Client.GetDatabase(dbRef.DatabaseName).GetCollection <T>(dbRef.CollectionName).Find(p => p.Id == dbRef.Id)).FirstOrDefault()); }
public VlaznostVazduha(double min, double max, double vrednost, MongoDBRef odgovorni) { this.DonjaGranica = min; this.GornjaGranica = max; this.Vrednost = vrednost; this.Jedinica = "mm Hg"; this.Odgovorni = odgovorni; this.VremeEvidentiranja = DateTime.Now; }
public Zaposleni(String ime, String prezime, String username, String password, String jmbg, String zvanje, MongoDBRef stanica) { this.Ime = ime; this.Prezime = prezime; this.Username = username; this.Password = password; this.Jmbg = jmbg; this.Zvanje = zvanje; this.VremenskaStanica = stanica; }
public Cart(ObjectId customerId, ObjectId[] itemIds, ObjectId?id = null) { if (id.HasValue) { Id = id.Value; } Customer = new MongoDBRef("Customer", customerId); Items = itemIds.Select(itemId => new MongoDBRef("Item", itemId)).ToArray(); }
private void btnDeleteU_Click(object sender, EventArgs e) { if (!Provera.chkIfSelected(dataGridViewUtakmice)) { return; } var query = Query.Null; var connectionString = "mongodb://localhost/?safe=true"; var server = MongoServer.Create(connectionString); var db = server.GetDatabase("fudbal"); var utakmiceColl = db.GetCollection <Utakmica>("utakmice"); var dogadjajiColl = db.GetCollection <Dogadjaj>("dogadjaji"); var ligeColl = db.GetCollection <Liga>("lige"); var kluboviColl = db.GetCollection <Klub>("klubovi"); //pribavljanje utakmice ObjectId objid = (ObjectId)dataGridViewUtakmice.CurrentRow.Tag; query = Query.EQ("_id", objid); Utakmica u = utakmiceColl.Find(query).Single(); //pribavljanje lige i brisanje utakmice iz liste query = Query.EQ("_id", u.Liga.Id); Liga lg = ligeColl.Find(query).Single(); MongoDBRef utakmicaRef = new MongoDBRef("utakmice", objid); lg.Utakmice.Remove(utakmicaRef); ligeColl.Save(lg); //pribavljanje kluba i brisanje utakmice iz liste query = Query.EQ("_id", u.Klub1.Id); Klub k1 = kluboviColl.Find(query).Single(); query = Query.EQ("_id", u.Klub2.Id); Klub k2 = kluboviColl.Find(query).Single(); k1.Utakmice.Remove(utakmicaRef); k2.Utakmice.Remove(utakmicaRef); kluboviColl.Save(k1); kluboviColl.Save(k2); //brisanje dogadjaja foreach (MongoDBRef d in u.Dogadjaji) { query = Query.EQ("_id", d.Id); dogadjajiColl.Remove(query); } //brisanje utakmica query = Query.EQ("_id", objid); utakmiceColl.Remove(query); UcitajDGVUtakmice(); }
public static List <Vehical> GetAllVehical(ObjectId TransportId) { var connectionString = "mongodb://localhost/?safe=true"; var server = MongoServer.Create(connectionString); var db = server.GetDatabase("TransportSystem"); MongoDBRef Transp = new MongoDBRef("Transport", TransportId); var collectionVehical = db.GetCollection <Vehical>("Vehical"); return((from v in collectionVehical.AsQueryable <Vehical>() where v.Transport == Transp select v).ToList()); }
public List <Proizvod> VratiSveProizvode(string IdKategorije) { var db = SessionManager.GetMongoDB(); _proizvodi = db.GetCollection <Proizvod>("Proizvodi"); var r = new MongoDBRef("Kategorija", IdKategorije); var proizvodi = _proizvodi.Find(p => true && p.Kategorija.Id == r.Id).ToList(); return(proizvodi); }
public Item(string name, int count, double price, ObjectId sellerId, ObjectId?id = null) { if (id.HasValue) { Id = id.Value; } Name = name; Count = count; Price = price; Seller = new MongoDBRef("Seller", sellerId); }
public List <PublicInfo> SelectAllPublicInfoForInitiator(string token) { List <PublicInfo> result = new List <PublicInfo>(); var initiator = new MongoDBRef(ACCOUNTS_COLLECTION_NAME, SelectAccount(token, a => a.Token)._id); var queryOfAllFollowershipsWithThisInitiator = Query <Followership> .EQ(f => f.Initiator, initiator); foreach (var followership in followershippCollection.Find(queryOfAllFollowershipsWithThisInitiator)) { result.Add(SelectAccount(followership.Target.Id.AsObjectId, a => a._id).GetPublicInfo()); } return(result); }
public List <Account> SelectAllAccountForTarget(string email) { List <Account> result = new List <Account>(); var target = new MongoDBRef(ACCOUNTS_COLLECTION_NAME, SelectAccount(email, a => a.Email)._id); var queryOfAllFollowershipsWithThisTarget = Query <Followership> .EQ(f => f.Target, target); foreach (var followership in followershippCollection.Find(queryOfAllFollowershipsWithThisTarget)) { result.Add(SelectAccount(followership.Initiator.Id.AsObjectId, a => a._id)); } return(result); }
private void DeleteFollowerShip(string token, Account account) { if (account == null) { return; } var Initiator = new MongoDBRef(ACCOUNTS_COLLECTION_NAME, SelectAccount(token, a => a.Token)._id); var Target = new MongoDBRef(ACCOUNTS_COLLECTION_NAME, account._id); Followership followership = followershippCollection.FindOne(Query.And(Query <Followership> .EQ(f => f.Initiator, Initiator), Query <Followership> .EQ(f => f.Target, Target))); followershippCollection.Remove(Query <Followership> .EQ(f => f._id, followership._id)); }
public Order(DateTime dateTimeStamp, bool isCompleted, ObjectId customerId, ObjectId[] itemIds, ObjectId?id = null) { if (id.HasValue) { Id = id.Value; } DateTimeStamp = dateTimeStamp; IsCompleted = isCompleted; Customer = new MongoDBRef("Customer", customerId); Items = itemIds.Select(itemId => new MongoDBRef("Item", itemId)).ToArray(); }
//public StandardResult ParserHolders(string[] holderAccounts) //{ // if (holderAccounts == null || holderAccounts.Length == 0) return Result(iTripExceptionCode.Error_Null_Reference); // var resp = GetRespository<Holder>(); // var holders = resp.Select(h => holderAccounts.Contains(h.Account)).ToList(); // if (holders.Count == holderAccounts.Length) // return Result(holders); // List<Holder> hs = new List<Holder>(); // holderAccounts.ForEach(delegate(string acc) // { // if (!holders.Any(h => h.Account == acc)) // hs.Add(new Holder(acc)); // }); // resp.Insert(hs); // hs.AddRange(holders); // return Result(hs); //} public int AttachPackage(string[] holders, MongoDBRef package) { if (holders == null || holders.Length == 0) { return(0); } List <PackageHolding> phs = new List <PackageHolding>(); holders.ForEach(a => phs.Add(new PackageHolding(a, package.Id.AsString))); GetRespository <PackageHolding>().Insert(phs); return(phs.Count); }
public static T GetObjectFromReference <T>(MongoDBRef reference) { try { return(GetCollection <T>(reference.CollectionName).Find(new BsonDocument("_id", reference.Id)).ToCursor().First()); } catch (Exception e) { Console.WriteLine("Handled error.\n" + e.StackTrace); return(default(T)); } }