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