Esempio n. 1
0
 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)));
 }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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);
                }
            }
        }