public ISPCFolder GetRootFolder(EUSiteSetting siteSetting)
        {
            string[] pathArray  = siteSetting.Url.Split(new string[] { "\\" }, StringSplitOptions.None);
            string   folderName = pathArray[pathArray.Count() - 1];

            return(new FSFolder(siteSetting, siteSetting.Url, folderName, siteSetting.Url));
        }
예제 #2
0
        public List <ISPCFolder> GetFolders(EUSiteSetting siteSetting, ISPCFolder parentFolder)
        {
            Login(siteSetting.User, siteSetting.Password);
            List <ISPCFolder>  folders = new List <ISPCFolder>();
            DocumentsListQuery query   = new DocumentsListQuery();

            if (parentFolder.UniqueIdentifier != String.Empty)
            {
                query = new FolderQuery(parentFolder.UniqueIdentifier);
            }
            query.ShowFolders = true;
            DocumentsFeed feed = service.Query(query);

            foreach (DocumentEntry entry in feed.Entries)
            {
                if (entry.IsFolder)
                {
                    if (parentFolder == null || parentFolder.UniqueIdentifier == String.Empty)
                    {
                        if (entry.ParentFolders.Count > 0)
                        {
                            continue;
                        }
                    }
                    ISPCFolder folder = new GFolder(siteSetting, entry.ResourceId, entry.Title.Text, entry.Id.AbsoluteUri);
                    folders.Add(folder);
                }
            }
            return(folders);
        }
        public void Initialize(string destinationFolderUrl, string sourceFolder, EUSiteSetting siteSetting, string rootFolderPath, string siteURL, string webURL, string listName, List <EUEmailUploadFile> emailUploadFiles, Outlook.MailItem mailItem)
        {
//            CurrentMailItem.MessageClass
            _destinationFolderUrl = destinationFolderUrl;
            _sourceFolder         = sourceFolder;
            _webURL      = webURL;
            _siteURL     = siteURL;
            _siteSetting = siteSetting;
            _listName    = listName;
            DestinationValueLabel.Text = destinationFolderUrl;
            CurrentMailItem            = mailItem;
            foreach (EUEmailUploadFile emailUploadFile in emailUploadFiles)
            {
                ListViewGroup listViewGroup = EmailsListView.Groups[emailUploadFile.EntryID];
                if (listViewGroup == null)
                {
                    EmailsListView.Groups.Add(emailUploadFile.EntryID, emailUploadFile.MetaData.Subject);
                }
            }
            foreach (EUEmailUploadFile emailUploadFile in emailUploadFiles)
            {
                ListViewGroup listViewGroup = EmailsListView.Groups[emailUploadFile.EntryID];
                FileInfo      fileInfo      = new FileInfo(emailUploadFile.FilePath);
                ListViewItem  listViewItem  = new ListViewItem(listViewGroup);
                listViewItem.Checked = true;
                listViewItem.Tag     = emailUploadFile.MetaData;
                listViewItem.Text    = fileInfo.Name;
                listViewItem.SubItems.Add(new ListViewItem.ListViewSubItem(listViewItem, fileInfo.Name));
                EmailsListView.Items.Add(listViewItem);
            }
        }
예제 #4
0
 public SDFolder(EUSiteSetting siteSetting, string uniqueIdentifier, string title)
 {
     SiteSetting      = siteSetting;
     UniqueIdentifier = uniqueIdentifier;
     Title            = title;
     ContainsItems    = true;
 }
        public void InitializeForm(EUSiteSetting siteSetting)
        {
            SiteSetting = siteSetting;
            if (siteSetting.SiteSettingType == EUSiteSettingTypes.FileSystem)
            {
                FileSystemRadioButton.Checked = true;
            }
            else if (siteSetting.SiteSettingType == EUSiteSettingTypes.GMail)
            {
                GMailRadioButton.Checked = true;
            }
            else
            {
                SharePointRadioButton.Checked = true;
            }

            UrlTextBox.Text      = siteSetting.Url;
            UserTextBox.Text     = siteSetting.User;
            PasswordTextBox.Text = siteSetting.Password;
            if (siteSetting.UseDefaultCredential == true)
            {
                DefaultCredentialRadioButton.Checked = true;
            }
            else
            {
                CustomCredentialRadioButton.Checked = true;
            }

            SetCredentialControls();
        }
예제 #6
0
 public static string UpdateAlert(EUSiteSetting siteSetting, string webUrl, EUAlert alert)
 {
     SobiensAlertsWS.AlertsWebService ws = new Sobiens.Office.SharePointOutlookConnector.SobiensAlertsWS.AlertsWebService();
     ws.Credentials = SharePointManager.GetCredential(siteSetting);
     ws.Url         = webUrl + "/_layouts/AlertsWebSebService.asmx";
     return(ws.UpdateAlert(alert.ID, alert.Title, alert.ListID, alert.AlertTime, alert.EventType, alert.AlertFrequency, alert.GetFilterXML()));
 }
예제 #7
0
        private void LoadLists(TreeNode node, string webUrl, EUSiteSetting siteSetting)
        {
            SPFoldersTreeView.BeginUpdate();
            List <EUList> lists = SharePointManager.GetLists(webUrl, siteSetting);

            foreach (EUList list in lists)
            {
                if (
                    (list.ServerTemplate == 101 || list.ServerTemplate == 100 || list.BaseType == 1) && //or BaseType == 1 - JOEL JEFFERY 20110708
                    list.Hidden == false
                    )
                {
                    TreeNode listNode = node.Nodes.Add(list.Title);
                    listNode.Tag = list;
                    SetTreeNodeImage(listNode);
                    AddLoadingNode(listNode);

                    //                    TreeNode rootFolderNode = listNode.Nodes.Add(list.RootFolder.Title);
                    //                    rootFolderNode.Tag = list.RootFolder;
                    //                    SetTreeNodeImage(rootFolderNode);
                    //                    AddLoadingNode(rootFolderNode);
                    if (list.ServerTemplate == 101)
                    {
                    }
                }
            }
            SPFoldersTreeView.EndUpdate();
        }
예제 #8
0
        private void alertsMaintenanceToolStripMenuItem_Click(object sender, EventArgs e)
        {
            EUFolder      folder      = SPFoldersTreeView.SelectedNode.Tag as EUFolder;
            EUList        list        = SPFoldersTreeView.SelectedNode.Tag as EUList;
            EUWeb         web         = SPFoldersTreeView.SelectedNode.Tag as EUWeb;
            EUSiteSetting siteSetting = null;
            string        webUrl      = String.Empty;

            if (folder != null)
            {
                webUrl      = folder.WebUrl;
                siteSetting = folder.SiteSetting;
            }
            else if (list != null)
            {
                webUrl      = list.WebUrl;
                siteSetting = list.SiteSetting;
            }
            else if (web != null)
            {
                webUrl      = web.Url;
                siteSetting = web.SiteSetting;
            }
            if (AlertManager.CheckSobiensAlertServiceEnability(siteSetting, webUrl) == false)
            {
                SobiensAlertServiceDisabledForm sobiensAlertServiceDisabledForm = new SobiensAlertServiceDisabledForm();
                sobiensAlertServiceDisabledForm.ShowDialog();
                return;
            }

            AlertMaintenanceForm alertMaintenanceForm = new AlertMaintenanceForm();

            alertMaintenanceForm.Initialize(webUrl, siteSetting);
            alertMaintenanceForm.ShowDialog();
        }
예제 #9
0
        public void DeleteFile(EUSiteSetting siteSetting, string fileResourceId)
        {
            Login(siteSetting.User, siteSetting.Password);
            AtomEntry entry = service.Get(DocumentsListQuery.documentsBaseUri + "/" + fileResourceId);

            entry.Delete();
        }
예제 #10
0
 public GItem(EUSiteSetting siteSetting, string uniqueIdentifier, string title, string url)
 {
     SiteSetting      = siteSetting;
     UniqueIdentifier = uniqueIdentifier;
     Title            = title;
     URL = url;
 }
예제 #11
0
        public List <ISPCItem> GetItems(EUSiteSetting siteSetting, ISPCFolder parentFolder)
        {
            Login(siteSetting.User, siteSetting.Password);
            List <ISPCItem> items = new List <ISPCItem>();

            DocumentsListQuery query = new DocumentsListQuery();

            if (parentFolder.UniqueIdentifier != String.Empty)
            {
                query = new FolderQuery(parentFolder.UniqueIdentifier);
            }
            DocumentsFeed feed = service.Query(query);

            foreach (DocumentEntry entry in feed.Entries)
            {
                if (entry.IsFolder == false)
                {
                    if (parentFolder == null || parentFolder.UniqueIdentifier == String.Empty)
                    {
                        if (entry.ParentFolders.Count > 0)
                        {
                            continue;
                        }
                    }
                    ISPCItem item = new GItem(siteSetting, entry.ResourceId, entry.Title.Text, entry.AlternateUri.ToString());
                    items.Add(item);
                }
            }
            return(items);
        }
예제 #12
0
 public static SharePointAlertsWS.DeleteFailure[] DeleteAlert(EUSiteSetting siteSetting, string webUrl, string alertID)
 {
     SharePointAlertsWS.Alerts ws = new Sobiens.Office.SharePointOutlookConnector.SharePointAlertsWS.Alerts();
     ws.Credentials = SharePointManager.GetCredential(siteSetting);
     ws.Url         = webUrl + "/_vti_bin/alerts.asmx";
     SharePointAlertsWS.DeleteFailure[] failures = ws.DeleteAlerts(new string[] { alertID });
     return(failures);
 }
예제 #13
0
 public void Initialize(EUSiteSetting _siteSetting, string _webUrl, string _listName, string _listID, EUAlert _alert)
 {
     siteSetting  = _siteSetting;
     webUrl       = _webUrl;
     listName     = _listName;
     listID       = _listID;
     CurrentAlert = _alert;
 }
예제 #14
0
 public GFolder(EUSiteSetting siteSetting, string uniqueIdentifier, string title, string path)
 {
     SiteSetting      = siteSetting;
     UniqueIdentifier = uniqueIdentifier;
     Title            = title;
     Path             = path;
     ContainsItems    = true;
 }
예제 #15
0
 public FSView(EUSiteSetting siteSetting, string uniqueIdentifier, string name)
 {
     SiteSetting      = siteSetting;
     UniqueIdentifier = uniqueIdentifier;
     Name             = name;
     RowLimit         = 100;
     ViewFields       = new List <EUCamlFieldRef>();
     ViewFields.Add(new EUCamlFieldRef("File Name"));
 }
예제 #16
0
        public static List <EUAlert> GetAlerts(EUSiteSetting siteSetting, string webUrl)
        {
            SobiensAlertsWS.AlertsWebService ws = new Sobiens.Office.SharePointOutlookConnector.SobiensAlertsWS.AlertsWebService();
            ws.Credentials = SharePointManager.GetCredential(siteSetting);
            ws.Url         = webUrl + "/_layouts/AlertsWebSebService.asmx";
            XmlElement element = ws.GetMyAlerts();

            return(AlertManager.NodeToSobiensAlerts(element));
        }
예제 #17
0
        private void AddButton_Click(object sender, EventArgs e)
        {
            EUSiteSetting   siteSetting     = new EUSiteSetting();
            SiteSettingForm siteSettingForm = new SiteSettingForm();

            siteSettingForm.InitializeForm(siteSetting);
            if (siteSettingForm.ShowDialog() == DialogResult.OK)
            {
                Settings.SiteSettings.Add(siteSetting);
                LoadSites();
            }
        }
예제 #18
0
        public bool CheckFileExistency(EUSiteSetting siteSetting, string folderResourceId, string fileName)
        {
            return(false);

            /*
             * Login(siteSetting.User, siteSetting.Password);
             * AtomEntry entry = service.Get(DocumentsListQuery.documentsBaseUri + "/" + fileResourceId);
             * if (entry == null)
             *  return false;
             * return true;
             */
        }
예제 #19
0
        private void LoadWebs(TreeNode node, string webUrl, EUSiteSetting siteSetting)
        {
            SPFoldersTreeView.BeginUpdate();
            List <EUWeb> webs = SharePointManager.GetWebs(webUrl, siteSetting);

            foreach (EUWeb web in webs)
            {
                TreeNode webNode = node.Nodes.Add(web.Title);
                webNode.Tag = web;
                SetTreeNodeImage(webNode);
                AddLoadingNode(webNode);
            }
            SPFoldersTreeView.EndUpdate();
        }
예제 #20
0
        private void AttachmentsToSPButton_Click(object sender, RibbonControlEventArgs e)
        {
            Inspector inspector = this.Context as Inspector;

            if (inspector == null)
            {
                throw new System.Exception("This is not an inspector window.");
            }
            Outlook.MailItem mailItem = inspector.CurrentItem as Outlook.MailItem;
            if (mailItem == null)
            {
                throw new System.Exception("This is not a mail item.");
            }

            if (EUSettingsManager.GetInstance().Settings.EmailAttachmentFolderUrl == String.Empty)
            {
                MessageBox.Show("Please set attachments folder first.");
                return;
            }
            string sourceFolder = EUSettingsManager.GetInstance().CreateATempFolder();
            List <EUEmailUploadFile> emailUploadFiles = new List <EUEmailUploadFile>();

            foreach (Attachment attachment in mailItem.Attachments)
            {
                string fileName                 = attachment.FileName;
                string extensionName            = String.Empty;
                string filenameWithoutExtension = String.Empty;
                if (fileName.LastIndexOf(".") > -1)
                {
                    extensionName            = fileName.Substring(fileName.LastIndexOf(".") + 1);
                    filenameWithoutExtension = fileName.Substring(0, fileName.LastIndexOf("."));
                }
                else
                {
                    filenameWithoutExtension = fileName;
                }
                string filePath = SharePointManager.GetUnuqieFileName(sourceFolder, filenameWithoutExtension, extensionName, out fileName);
                attachment.SaveAsFile(filePath);
                emailUploadFiles.Add(new EUEmailUploadFile(filePath, mailItem, null, false));
            }
//            string siteURL = SharePointManager.GetSiteURL(
            UploadAttachmentsProgressForm uploadAttachmentsProgressForm = new UploadAttachmentsProgressForm();
            EUSiteSetting siteSetting = EUSettingsManager.GetInstance().GetSiteSetting(EUSettingsManager.GetInstance().Settings.EmailAttachmentRootWebUrl);
            string        siteURL     = SharePointManager.GetSiteURL(siteSetting.Url, siteSetting);

            uploadAttachmentsProgressForm.Initialize(EUSettingsManager.GetInstance().Settings.EmailAttachmentWebUrl + "/" + EUSettingsManager.GetInstance().Settings.EmailAttachmentFolderUrl.TrimStart(new char[] { '/' }), sourceFolder, siteSetting, EUSettingsManager.GetInstance().Settings.EmailAttachmentRootFolderUrl, siteURL, EUSettingsManager.GetInstance().Settings.EmailAttachmentWebUrl, EUSettingsManager.GetInstance().Settings.EmailAttachmentListName, emailUploadFiles, mailItem);
            uploadAttachmentsProgressForm.ShowDialog();
//            SetSaveAttachmentsToSharePointButton();
        }
 public static IOutlookConnector GetConnector(EUSiteSetting siteSetting)
 {
     if (siteSetting.SiteSettingType == EUSiteSettingTypes.SharePoint)
     {
         return(new Sobiens.Office.SharePointOutlookConnector.BLL.SharePoint.SharePointOutlookConnector());
     }
     else if (siteSetting.SiteSettingType == EUSiteSettingTypes.GMail)
     {
         return(new Sobiens.Office.SharePointOutlookConnector.BLL.SharePoint.GmailOutlookConnector());
     }
     else
     {
         return(new FileSystemOutlookConnector());
     }
 }
예제 #22
0
        public void UploadFile(EUSiteSetting siteSetting, string filePath, string parentResourceId)
        {
            Login(siteSetting.User, siteSetting.Password);
            FileInfo fileInfo      = new FileInfo(filePath);
            string   fileName      = fileInfo.Name;
            string   fileExtension = fileInfo.Extension.ToUpper().Substring(1);

            fileName = fileName + "." + fileExtension;
            String contentType = (String)DocumentsService.DocumentTypes[fileExtension];
            string feed        = string.Format(DocumentsListQuery.foldersUriTemplate, parentResourceId);

            FileStream stream = fileInfo.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

            var result = service.Insert(new Uri(feed), stream, contentType, fileName);
        }
예제 #23
0
        private void SitesListBox_DoubleClick(object sender, EventArgs e)
        {
            if (SitesListBox.SelectedItem == null)
            {
                return;
            }
            EUSiteSetting   siteSetting     = (EUSiteSetting)SitesListBox.SelectedItem;
            SiteSettingForm siteSettingForm = new SiteSettingForm();

            siteSettingForm.InitializeForm(siteSetting);
            if (siteSettingForm.ShowDialog() == DialogResult.OK)
            {
                LoadSites();
            }
        }
예제 #24
0
        public static bool CheckSobiensAlertServiceEnability(EUSiteSetting siteSetting, string webUrl)
        {
            SobiensAlertsWS.AlertsWebService ws = new Sobiens.Office.SharePointOutlookConnector.SobiensAlertsWS.AlertsWebService();
            ws.Credentials = SharePointManager.GetCredential(siteSetting);
            ws.Url         = webUrl + "/_layouts/AlertsWebSebService.asmx";
            bool serviceExistency = false;

            try
            {
                serviceExistency = ws.CheckServiceExistency();
            }
            catch (Exception ex)
            {
            }
            return(serviceExistency);
        }
예제 #25
0
        private void DeleteButton_Click(object sender, EventArgs e)
        {
            if (SitesListBox.SelectedItem == null)
            {
                return;
            }
            EUSiteSetting siteSetting = (EUSiteSetting)SitesListBox.SelectedItem;

            for (int i = Settings.SiteSettings.Count - 1; i > -1; i--)
            {
                if (Settings.SiteSettings[i] == siteSetting)
                {
                    Settings.SiteSettings.RemoveAt(i);
                }
            }
            LoadSites();
        }
예제 #26
0
        public void Initialize(ISPCFolder folder, string sourceFolder, List <EUEmailUploadFile> emailUploadFiles, bool isListItemAndAttachmentMode, EUFieldInformations fieldInfoArray)
        {
            // string rootFolderPath, string destinationFolderUrl, string sourceFolder, string webURL, string listName,
            EUFolder _folder = folder as EUFolder;

            _destinationFolderUrl = _folder.WebUrl.TrimEnd(new char[] { '/' }) + "/" + _folder.FolderPath.TrimStart(new char[] { '/' });
            _sourceFolder         = sourceFolder;
            _rootFolderPath       = _folder.RootFolderPath;
            _siteSetting          = _folder.SiteSetting;
            _siteURL  = _folder.SiteUrl;
            _webURL   = _folder.WebUrl;
            _listName = _folder.ListName;
            _isListItemAndAttachmentMode = isListItemAndAttachmentMode;
            _fieldInfoArray            = fieldInfoArray;
            DestinationValueLabel.Text = _destinationFolderUrl;

            foreach (EUEmailUploadFile emailUploadFile in emailUploadFiles)
            {
                string groupID    = String.Empty;
                string groupTitle = String.Empty;
                if (emailUploadFile.IsEmail == false)
                {
                    groupID    = new FileInfo(emailUploadFile.FilePath).Name;
                    groupTitle = groupID;
                }
                else
                {
                    groupID    = emailUploadFile.EntryID;
                    groupTitle = emailUploadFile.MetaData.Subject;
                }

                ListViewGroup listViewGroup = EmailsListView.Groups[groupID];
                if (listViewGroup == null)
                {
                    EmailsListView.Groups.Add(groupID, groupTitle);
                }
            }
            foreach (EUEmailUploadFile emailUploadFile in emailUploadFiles)
            {
                InsertEmailUploadFile(emailUploadFile);
                foreach (EUEmailUploadFile emailUploadFile1 in emailUploadFile.Attachments)
                {
                    InsertEmailUploadFile(emailUploadFile1);
                }
            }
        }
예제 #27
0
 public ISPCFolder GetRootFolder(EUSiteSetting siteSetting)
 {
     return(new EUWeb(siteSetting.Url, siteSetting.Url, siteSetting, siteSetting.Url));
 }
예제 #28
0
        public void Initialize(EUSiteSetting siteSetting, string webURL, string fileURL)
        {
            List <EUListItemVersion> versions = SharePointManager.GetListItemVersions(siteSetting, webURL, fileURL);

            LoadVersions(versions);
        }
        public ISPCFolder GetRootFolder(EUSiteSetting siteSetting)
        {
            SDFolder rootFolder = new SDFolder(siteSetting, siteSetting.User, siteSetting.User);

            return(rootFolder);
        }
예제 #30
0
 public void Initialize(string _webUrl, EUSiteSetting _siteSetting)
 {
     webUrl      = _webUrl;
     siteSetting = _siteSetting;
 }