public Task <EntityVersion <string, DateTime> > TryUpdate( string entityId, DateTime entityVersion, ContactItemWrapper entityToUpdate, Func <ContactItemWrapper, ContactItemWrapper> entityModifier) { entityToUpdate = entityModifier(entityToUpdate); entityToUpdate.Inner.Save(); return(Task.FromResult(new EntityVersion <string, DateTime> (entityToUpdate.Inner.EntryID, entityToUpdate.Inner.LastModificationTime))); }
public async Task <EntityVersion <string, DateTime> > TryUpdate( string entityId, DateTime entityVersion, ContactItemWrapper entityToUpdate, Func <ContactItemWrapper, Task <ContactItemWrapper> > entityModifier, Tcontext context) { entityToUpdate = await entityModifier(entityToUpdate); entityToUpdate.Inner.Save(); return(new EntityVersion <string, DateTime> (entityToUpdate.Inner.EntryID, entityToUpdate.Inner.LastModificationTime)); }
public async Task <EntityVersion <string, DateTime> > Create(Func <ContactItemWrapper, Task <ContactItemWrapper> > entityInitializer, Tcontext context) { ContactItemWrapper newWrapper; using (var folderWrapper = CreateFolderWrapper()) { newWrapper = new ContactItemWrapper( (ContactItem)folderWrapper.Inner.Items.Add(OlItemType.olContactItem), entryId => (ContactItem)_mapiNameSpace.GetItemFromID(entryId, _folderStoreId)); } using (newWrapper) { using (var initializedWrapper = await entityInitializer(newWrapper)) { initializedWrapper.SaveAndReload(); var result = new EntityVersion <string, DateTime> (initializedWrapper.Inner.EntryID, initializedWrapper.Inner.LastModificationTime); return(result); } } }