/// <summary> /// </summary> private void lbProfiles_SelectedIndexChanged(object sender, EventArgs e) { // load selected profile details if (lbProfiles.SelectedIndex < 0) { return; } var profName = lbProfiles.SelectedItem.ToString(); if (GenUtil.IsNull(profName)) { return; } var prof = lstProfiles.FirstOrDefault(x => x.profileName.Trim().ToLower() == profName.Trim().ToLower()); if (prof == null) { return; } tbProfileName.Text = prof.profileName; tbSiteUrl.Text = prof.siteUrl; tbUsername.Text = prof.username; tbPassword.Text = prof.password; tbDomain.Text = prof.domain; cbIsSharePointOnline.Checked = prof.isSpOnline; }
/// <summary> /// </summary> private void btnSaveProfile_Click(object sender, EventArgs e) { // save profile details var newProfile = new ProfileDetail(); newProfile.profileName = tbProfileName.Text.Trim(); newProfile.siteUrl = tbSiteUrl.Text.Trim(); newProfile.username = tbUsername.Text.Trim(); newProfile.password = tbPassword.Text.Trim(); newProfile.domain = tbDomain.Text.Trim(); newProfile.isSpOnline = cbIsSharePointOnline.Checked; if (GenUtil.IsNull(newProfile.profileName)) { MessageBox.Show("Profile name is required.", "Error"); return; } if (GenUtil.IsNull(newProfile.siteUrl)) { MessageBox.Show("Site url is required.", "Error"); return; } if (GenUtil.IsNull(newProfile.username)) { MessageBox.Show("Username is required.", "Error"); return; } if (GenUtil.IsNull(newProfile.password)) { MessageBox.Show("Password is required.", "Error"); return; } if (!cbIsSharePointOnline.Checked && GenUtil.IsNull(newProfile.domain)) { MessageBox.Show("Domain is required.", "Error"); return; } // get matching profile or create new var existingProfile = lstProfiles.FirstOrDefault(x => x.profileName.Trim().ToLower() == newProfile.profileName.Trim().ToLower()); if (existingProfile == null) { lstProfiles.Add(newProfile); LoadProfilesIntoListbox(); } else { existingProfile.profileName = newProfile.profileName; existingProfile.siteUrl = newProfile.siteUrl; existingProfile.username = newProfile.username; existingProfile.password = newProfile.password; existingProfile.domain = newProfile.domain; existingProfile.isSpOnline = newProfile.isSpOnline; } }
/// <summary> /// </summary> private void bgWorkerLoadFields_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { form1.EnableFormFields(); var lstResults = e.Result as List <object>; var msg = lstResults[0].ToString(); var lstFieldNames = lstResults[1] as List <string>; if (!GenUtil.IsNull(msg)) { form1.cout("Error loading file fields", msg); } else { cbFields.Items.AddRange(lstFieldNames.ToArray()); } }
/// <summary> /// </summary> private void Worker() { Exception retErr = null; DataTable dt = null; try { SPWSLists.Lists proxy = new SPCAMLQueryHelperOnline.SPWSLists.Lists(); if (parentForm.formChooser.appMode == Chooser.AppMode.UseWSDef) { proxy.UseDefaultCredentials = true; } else if (parentForm.formChooser.appMode == Chooser.AppMode.UseWSCreds) { proxy.UseDefaultCredentials = false; proxy.Credentials = new System.Net.NetworkCredential(parentForm.formChooser.credUsername, parentForm.formChooser.credPassword, parentForm.formChooser.credDomain); } else if (parentForm.formChooser.appMode == Chooser.AppMode.UseWSOffice365) { proxy.CookieContainer = SharedStuff.GetAuthCookies(new Uri(siteUrl), parentForm.formChooser.credUsername, parentForm.formChooser.credPassword); } proxy.Url = GenUtil.CombineUrls(siteUrl, XMLConsts.AsmxSuffix_Lists); var strQuery = GenUtil.RemoveWhiteSpace(txtQuery.Text); strQuery = GenUtil.WrapWSQuery(strQuery); // StringReader rdrQuery = new StringReader(strQuery); XElement xQuery = XElement.Load(rdrQuery); // string rowLimit = (GenUtil.SafeToNum(txtRowLimit.Text) == 0 ? "" : GenUtil.SafeToNum(txtRowLimit.Text).ToString()); // string webID = ""; // StringReader rdrQueryOptions = null; if (GenUtil.IsNull(txtViewAttributes.Text)) { rdrQueryOptions = new StringReader("<QueryOptions><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns></QueryOptions>"); } else { rdrQueryOptions = new StringReader(string.Format("<QueryOptions><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns><ViewAttributes {0} /></QueryOptions>", GenUtil.RemoveWhiteSpace(txtViewAttributes.Text.Trim()))); } XElement xQueryOptions = XElement.Load(rdrQueryOptions); // XElement xViewFields = null; if (GenUtil.IsNull(txtViewFields.Text)) { xViewFields = new XElement("ViewFields"); } else { StringReader rdrViewFields = new StringReader(string.Format("<ViewFields>{0}</ViewFields>", GenUtil.RemoveWhiteSpace(txtViewFields.Text.Trim()))); xViewFields = XElement.Load(rdrViewFields); } // string viewName = ""; // XElement results = proxy.GetListItems( listName, viewName, xQuery.GetXmlNode(), xViewFields.GetXmlNode(), rowLimit, xQueryOptions.GetXmlNode(), webID).GetXElement(); // dt = new DataTable(); foreach (XElement xRow in results.Descendants(XMLConsts.z + "row")) { foreach (XAttribute xAttr in xRow.Attributes()) { string colName = xAttr.Name.ToString(); if (!dt.Columns.Contains(xAttr.Name.ToString())) { dt.Columns.Add(xAttr.Name.ToString(), typeof(string)); } } } foreach (XElement xRow in results.Descendants(XMLConsts.z + "row")) { DataRow dr = dt.NewRow(); foreach (XAttribute xAttr in xRow.Attributes()) { string colName = xAttr.Name.ToString(); string colVal = xAttr.Value; dr[colName] = colVal; } dt.Rows.Add(dr); } } catch (Exception ex) { retErr = ex; } // update gui parentForm.Invoke(new MethodInvoker(() => { if (retErr != null) { GenUtil.LogIt(txtStatus, retErr.ToString()); } else { GenUtil.LogIt(txtStatus, string.Format("Found {0} Record(s).", dt.Rows.Count)); gvResults.DataSource = dt; if (dt.Rows.Count > 0) { tabControl1.SelectTab(2); } } // finish action btnSearch.Enabled = true; toolStripStatusLabel1.Text = ""; statusStrip1.Refresh(); picLogoWait.Visible = false; picLogoWait.Refresh(); })); }
/// <summary> /// </summary> private void Worker() { // configure view web service List <CustXMLView> lstViews = new List <CustXMLView>(); List <CustXMLField> lstFields = new List <CustXMLField>(); Exception retErr = null; try { SPWSViews.Views proxyViews = new SPCAMLQueryHelperOnline.SPWSViews.Views(); if (parentForm.formChooser.appMode == Chooser.AppMode.UseWSDef) { proxyViews.UseDefaultCredentials = true; } else if (parentForm.formChooser.appMode == Chooser.AppMode.UseWSCreds) { proxyViews.UseDefaultCredentials = false; proxyViews.Credentials = new System.Net.NetworkCredential(parentForm.formChooser.credUsername, parentForm.formChooser.credPassword, parentForm.formChooser.credDomain); } else if (parentForm.formChooser.appMode == Chooser.AppMode.UseWSOffice365) { proxyViews.CookieContainer = SharedStuff.GetAuthCookies(new Uri(url), parentForm.formChooser.credUsername, parentForm.formChooser.credPassword); } proxyViews.Url = GenUtil.CombineUrls(url, XMLConsts.AsmxSuffix_Views); // configure list web service SPWSLists.Lists proxyLists = new SPCAMLQueryHelperOnline.SPWSLists.Lists(); if (parentForm.formChooser.appMode == Chooser.AppMode.UseWSDef) { proxyLists.UseDefaultCredentials = true; } else if (parentForm.formChooser.appMode == Chooser.AppMode.UseWSCreds) { proxyLists.UseDefaultCredentials = false; proxyLists.Credentials = new System.Net.NetworkCredential(parentForm.formChooser.credUsername, parentForm.formChooser.credPassword, parentForm.formChooser.credDomain); } else if (parentForm.formChooser.appMode == Chooser.AppMode.UseWSOffice365) { proxyLists.CookieContainer = SharedStuff.GetAuthCookies(new Uri(url), parentForm.formChooser.credUsername, parentForm.formChooser.credPassword); } proxyLists.Url = GenUtil.CombineUrls(url, XMLConsts.AsmxSuffix_Lists); // get list views XElement xViews = proxyViews.GetViewCollection(listName).GetXElement(); foreach (XElement xView in xViews.Elements(XMLConsts.s + "View")) { lstViews.Add(new CustXMLView() { DefaultView = GenUtil.SafeToBool(GenUtil.GetXElemAttrAsString(xView, "DefaultView")), DisplayName = GenUtil.GetXElemAttrAsString(xView, "DisplayName"), Name = GenUtil.GetXElemAttrAsString(xView, "Name"), Url = GenUtil.GetXElemAttrAsString(xView, "Url") }); } // get list fields XElement xList = proxyLists.GetList(listName).GetXElement(); foreach (XElement xField in xList.Descendants(XMLConsts.s + "Field")) { CustXMLField cXmlField = new CustXMLField(); cXmlField.DisplayName = GenUtil.GetXElemAttrAsString(xField, "DisplayName"); cXmlField.ID = GenUtil.GetXElemAttrAsString(xField, "ID"); cXmlField.Name = GenUtil.GetXElemAttrAsString(xField, "Name"); cXmlField.Required = GenUtil.SafeToBool(GenUtil.GetXElemAttrAsString(xField, "Required")); cXmlField.Type = GenUtil.GetXElemAttrAsString(xField, "Type"); if (!GenUtil.IsNull(cXmlField.ID)) { lstFields.Add(cXmlField); } } } catch (Exception ex) { retErr = ex; } // update gui parentForm.Invoke(new MethodInvoker(() => { ddlListViews.Items.Clear(); tvFields.Nodes.Clear(); btnOpenListDetails.Visible = false; if (retErr != null) { GenUtil.LogIt(txtStatus, retErr.ToString()); } else { GenUtil.LogIt(txtStatus, "OK"); // render list views ddlListViews.Items.Insert(0, "None"); ddlListViews.SelectedIndex = 0; foreach (CustXMLView v in lstViews) { ddlListViews.Items.Add(v.DisplayName); } // render list fields DataTable dt = new DataTable(); dt.Columns.Add("Id", typeof(string)); dt.Columns.Add("InternalName", typeof(string)); dt.Columns.Add("Required", typeof(string)); dt.Columns.Add("Title", typeof(string)); dt.Columns.Add("TypeAsString", typeof(string)); foreach (CustXMLField cXmlField in lstFields) { DataRow dr = dt.NewRow(); dr["Id"] = cXmlField.ID; dr["InternalName"] = cXmlField.Name; dr["Required"] = cXmlField.Required.ToString(); dr["Title"] = cXmlField.DisplayName; dr["TypeAsString"] = cXmlField.Type; dt.Rows.Add(dr); TreeNode tn = new TreeNode(); if (lnkToggleFieldsName.Text == text_show_internalnames) { tn.Text = string.Format("{0} [{1}]", cXmlField.DisplayName, cXmlField.Name); } else { tn.Text = string.Format("{0} [{1}]", cXmlField.Name, cXmlField.DisplayName); } tn.Name = cXmlField.Name; tvFields.Nodes.Add(tn); } DataView dv = new DataView(dt); dv.Sort = "Title"; gvFields.DataSource = dv; if (tvFields.Nodes.Count > 0) { tvFields.Sort(); tvFields.SelectedNode = tvFields.Nodes[0]; } } btnOpenListDetails.Visible = true; // finish action toolStripStatusLabel1.Text = ""; statusStrip1.Refresh(); picLogoWait.Visible = false; picLogoWait.Refresh(); })); }
/// <summary> /// </summary> private void bgWorkerSave_DoWork(object sender, DoWorkEventArgs e) { var errors_found = false; var msg = ""; var lstSubObjects = new List <SPTree_FolderFileObj>(); // add files to list foreach (string filePath in _lstFilePaths) { lstSubObjects.Add(new SPTree_FolderFileObj() { dtModified = null, folderLevel = filePath.ToCharArray().Count(x => x == '/'), treeNodeType = Enums.TreeNodeTypes.FILE, name = filePath.Substring(filePath.LastIndexOf('/') + 1), url = filePath, length = 0 }); } // for any folders selected, get all the files in those folders, add to list for processing foreach (string curServRelFolderPath in _lstFolderPaths) { if (!SpComHelper.GetListAllFilesFolderLevel( spSiteUrl, spUsername, spPassword, spDomain, isSpOnline, form1.curSPLocationObj.listId.Value, curServRelFolderPath, ref lstSubObjects, out msg)) { bgWorkerSave.ReportProgress(0, string.Format("Error getting folder sub objects, {0}: {1}", curServRelFolderPath, msg)); errors_found = errors_found || true; } } // process all files foreach (var curSubObject in lstSubObjects.OrderBy(x => x.folderLevel)) { int i = 0; var error_found = false; var filePath = curSubObject.url; var htFieldVals = new Hashtable(); while (i < gridFields.RowCount) { var fieldName = GenUtil.SafeTrim(gridFields.Rows[i].Cells[0].Value); var fieldVal = GenUtil.SafeTrim(gridFields.Rows[i].Cells[1].Value); if (!GenUtil.IsNull(fieldName)) { htFieldVals[fieldName] = fieldVal; } i++; } if (htFieldVals.Count > 0) { if (!SpComHelper.UpdateSharePointFileFields(spSiteUrl, spUsername, spPassword, spDomain, isSpOnline, form1.curSPLocationObj.listId.Value, filePath, htFieldVals, out msg)) { bgWorkerSave.ReportProgress(0, string.Format("Error updating file field data, {0}, invalid field name or value: {1}", filePath.Substring(filePath.LastIndexOf('/') + 1), msg)); error_found = true; } else { bgWorkerSave.ReportProgress(0, string.Format("File, {0}, Updated Successfully.", filePath.Substring(filePath.LastIndexOf('/') + 1))); } errors_found = errors_found || error_found; } } e.Result = new List <object>() { errors_found }; }