private void UploadWithOriginatorUser(SPFolder destinationFolder, SPContentType destinationContentType, SPField descriptionField, InfoPathAttachment attachment, string destinationFileURL)
        {
            using (SPSite site = new SPSite(destinationFolder.ParentWeb.Site.ID, __ActivationProperties.OriginatorUser.UserToken))
            {
                using (SPWeb web = site.OpenWeb(destinationFolder.ParentWeb.ID))
                {
                    SPFolder tempDestFolder = web.GetFolder(destinationFolder.UniqueId);
                    //SPFile fileAdded = tempDestFolder.Files.Add( destinationFileURL, attachment.DecodedFile, null, __ActivationProperties.OriginatorUser, __ActivationProperties.OriginatorUser, DateTime.Now, DateTime.Now, true);
                    SPFile fileAdded = tempDestFolder.Files.Add( destinationFileURL, attachment.DecodedFile, null, true);
                    if (destinationContentType != null)
                    {
                        fileAdded.Item.Properties["ContentTypeId"] = destinationContentType.Id.ToString();
                        fileAdded.Item.SystemUpdate();
                    }

                    CopyDescription(attachment, descriptionField, fileAdded.Item);
                }
            }

            //set contenttype
        }
        private void UploadWithSystemAccount(SPFolder destinationFolder, SPContentType destinationContentType, SPField descriptionField, InfoPathAttachment attachment, string destinationFileURL)
        {
            //add file
            SPFile fileAdded = destinationFolder.Files.Add(destinationFileURL, attachment.DecodedFile, null, __ActivationProperties.OriginatorUser, __ActivationProperties.OriginatorUser, DateTime.Now, DateTime.Now, true);

            //set contenttype
            if (destinationContentType != null)
            {
                fileAdded.Item.Properties["ContentTypeId"] = destinationContentType.Id.ToString();
                fileAdded.Item.SystemUpdate();
            }

            //copy description
            CopyDescription(attachment, descriptionField, fileAdded.Item);
        }
 private void CopyDescription(InfoPathAttachment attachment, SPField descriptionField, SPListItem item)
 {
     try
     {
         if (descriptionField != null)
         {
             item[descriptionField.Id] = attachment.Description;
             item.SystemUpdate();
         }
     }
     catch { }
 }