private byte[] CreateItem(byte[] itemEntryId, byte[] folderEntryId, Func <string, string, string, byte[]> executeSync) { base.CheckDisposed(); Add add; if (!base.EasFolderCache.TryGetValue(folderEntryId, out add)) { MrsTracer.Provider.Warning("Source folder {0} doesn't exist", new object[] { TraceUtils.DumpBytes(folderEntryId) }); throw new EasObjectNotFoundException(EasMailbox.GetStringId(folderEntryId)); } string arg = EasSourceMailbox.ClientIdFromItemId(itemEntryId); string syncKey = base.GetPersistedSyncState(folderEntryId).SyncKey; return(executeSync(arg, syncKey, add.ServerId)); }
void IReplayProvider.Send(SendAction action) { MrsTracer.Provider.Function("EasSourceMailbox.Send({0})", new object[] { action }); string mimeString = null; using (MemoryStream memoryStream = new MemoryStream(action.Data)) { using (StreamReader streamReader = new StreamReader(memoryStream, Encoding.UTF8)) { mimeString = streamReader.ReadToEnd(); } } string clientId = EasSourceMailbox.ClientIdFromItemId(action.ItemId); base.EasConnectionWrapper.SendMail(clientId, mimeString); }