Ejemplo n.º 1
0
        public void Drop(IResource targetResource, IDataObject data, DragDropEffects allowedEffect, int keyState)
        {
            if (data.GetDataPresent(typeof(IResourceList)))                // Dragging resources over
            {
                // The resources we're dragging
                IResourceList dragResources = (IResourceList)data.GetData(typeof(IResourceList));

                if (targetResource != null && dragResources != null && dragResources.Count > 0)
                {
                    if (ListOfMailsOrLinkedAttachments(dragResources))
                    {
                        IResourceList mailsOnly = ResourceTypeHelper.ExtractListForType(dragResources, STR.Email);
                        _moveAction.DoMove(targetResource, mailsOnly);
                    }
                    else
                    if (dragResources.AllResourcesOfType(STR.MAPIFolder))
                    {
                        _moveFolderAction.DoMove(targetResource, dragResources);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public override void UndeleteResource(IResource res)
        {
            Guard.NullArgument(res, "res");
            IResourceList attachments = res.GetLinksOfType(null, PROP.Attachment);

            foreach (IResource attachment in attachments.ValidResources)
            {
                attachment.SetProp(Core.Props.IsDeleted, false);
            }

            IResource folder = null;
            MAPIIDs   IDs    = OutlookSession.GetInboxIDs();

            if (IDs != null)
            {
                folder = Folder.Find(IDs.EntryID);
            }

            if (folder != null)
            {
                MoveMessageToFolderAction action = new MoveMessageToFolderAction(false);
                action.DoMove(folder, res.ToResourceList());
            }
        }