public void AddInstantMessenger(ObjectId contactId, InstantMessenger instantMessenger) { instantMessenger.Id = ObjectId.GenerateNewId(); var query = Query <Contact> .EQ(c => c.Id, contactId); var update = Update <Contact> .Push(c => c.InstantMessengers, instantMessenger); var result = contacts.Collection.Update(query, update, UpdateFlags.None, WriteConcern.Acknowledged); if (result.Ok == false) { throw new MongoException("Unable to insert object"); } }
public void UpdateContactInstantMessenger(ObjectId contactId, InstantMessenger instantMessenger) { var query = Query <Contact> .EQ(c => c.Id, contactId); var contact = contacts.Collection.AsQueryable <Contact>().Where(c => c.Id == contactId).First(); var originalInstantMessenger = contact.InstantMessengers.Where(w => w.Id == instantMessenger.Id).First(); var index = contact.InstantMessengers.IndexOf(originalInstantMessenger); var update = Update <Contact> .Set(c => c.InstantMessengers[index], instantMessenger); var result = contacts.Collection.Update(query, update, UpdateFlags.None, WriteConcern.Acknowledged); if (result.DocumentsAffected == 0) { throw new MongoException("Unable to update object"); } }
public static InstantMessengerModel ToModel(this InstantMessenger contact) { return(Mapper.Map <InstantMessenger, InstantMessengerModel>(contact)); }