コード例 #1
0
        /// <summary>
        /// Create a PostItem response.
        /// </summary>
        /// <param name="parentFolderId">The parent folder id.</param>
        /// <param name="messageDisposition">The message disposition.</param>
        /// <returns>Created PostItem.</returns>
        internal PostItem InternalCreate(FolderId parentFolderId, MessageDisposition?messageDisposition)
        {
            ((ItemId)this.PropertyBag[ResponseObjectSchema.ReferenceItemId]).Assign(this.referenceItem.Id);

            List <Item> items = this.Service.InternalCreateResponseObject(
                this,
                parentFolderId,
                messageDisposition);

            PostItem postItem = EwsUtilities.FindFirstItemOfType <PostItem>(items);

            // This should never happen. If it does, we have a bug.
            EwsUtilities.Assert(
                postItem != null,
                "PostReply.InternalCreate",
                "postItem is null. The CreateItem call did not return the expected PostItem.");

            return(postItem);
        }
コード例 #2
0
ファイル: XEwsCmdlet.cs プロジェクト: IvanFranjic/XEws
        /// <summary>
        /// Method is creating temporary post item and deletes it as soon as creator address is determined.
        /// </summary>
        /// <returns></returns>
        internal string GetCurrentUser()
        {
            try
            {
                PostItem postItem = new PostItem(this.GetSessionVariable());
                postItem.Body = new MessageBody("Ews temp post item");
                postItem.Save();

                PostItem tempPostItem = PostItem.Bind(this.GetSessionVariable(), postItem.Id);
                string from = tempPostItem.From.Address.ToString();

                postItem = null;
                tempPostItem.Delete(DeleteMode.HardDelete);

                return from.ToLower();
            }
            catch
            {
                return null;
            }
        }