protected void Page_Load(object sender, EventArgs e) { SPSecurity.RunWithElevatedPrivileges(delegate() { try { intlistid = new Guid(Request["intlistid"]); } catch { } intcore = new API.Integration.IntegrationCore(Web.Site.ID, Web.ID); intadmin = new API.Integration.IntegrationAdmin(intcore, intlistid, moduleid); bool bWizard = false; try { if (Request["wizard"] == "1") { bWizard = true; } }catch {} PageHead = intadmin.GetIntegrationHeader(); Hashtable hshProps = new Hashtable(); if (intlistid != Guid.Empty) { hshProps = intcore.GetProperties(intlistid); } SPList list = Web.Lists[intadmin.ListId]; List <ColumnProperty> ColumnList = intcore.GetColumns(hshProps, intadmin.ModuleID, intlistid, list); DropDownList ddlColsTemp = new DropDownList(); foreach (ColumnProperty Column in ColumnList) { ListItem li1 = new ListItem(Column.DiplayName, Column.ColumnName); ddlIDColumn.Items.Add(li1); ListItem li2 = new ListItem(Column.DiplayName, Column.ColumnName); ddlSPColumn.Items.Add(li2); ListItem li3 = new ListItem(Column.DiplayName, Column.ColumnName); ddlSecMatch.Items.Add(li3); ListItem li4 = new ListItem(Column.DiplayName, Column.ColumnName); ddlIntegrationMatch.Items.Add(li4); } SPList List = Web.Lists[new Guid(Request["List"])]; pnlColumns.Controls.Add(new LiteralControl("<table>")); pnlColumns.Controls.Add(new LiteralControl("<tr><td><b>SharePoint Column</b></td><td><b>Integration Column</b></td></tr>")); SortedList sl = new SortedList(); foreach (SPField field in List.Fields) { if (field.Reorderable) { if (!sl.Contains(field.Title)) { sl.Add(field.Title, field.InternalName); } } } sl.Add("Created By", "Author"); Hashtable hshParams = new Hashtable(); hshParams.Add("intlistid", intlistid); DataSet ds = intcore.GetDataSet("SELECT * FROM INT_COLUMNS WHERE INT_LIST_ID=@intlistid", hshParams); DataTable dtColumns = ds.Tables[0]; foreach (DictionaryEntry de in sl) { DropDownList ddl = new DropDownList(); ddl.ID = de.Value.ToString(); ddl.Items.Add(new ListItem("--Select Column--", "")); ListItem li3 = new ListItem(de.Key.ToString(), de.Value.ToString()); ddlSharePointMatch.Items.Add(li3); string curCol = ""; if (!IsPostBack) { DataRow [] drCol = dtColumns.Select("SharePointColumn='" + de.Value.ToString() + "'"); if (drCol.Length > 0) { curCol = drCol[0]["IntegrationColumn"].ToString(); } } foreach (ColumnProperty Column in ColumnList) { ListItem li2 = new ListItem(Column.DiplayName, Column.ColumnName); if (!IsPostBack) { if (bWizard && Column.DefaultListColumn == de.Value.ToString()) { li2.Selected = true; } else if (curCol == Column.ColumnName) { li2.Selected = true; } } ddl.Items.Add(li2); } bool selectedFound = false; foreach (ListItem listItem in ddl.Items) { if (!selectedFound) { selectedFound = listItem.Selected; } else { listItem.Selected = false; } } ArrControls.Add(ddl); pnlColumns.Controls.Add(new LiteralControl("<tr><td>" + de.Key.ToString() + "</td><td>")); pnlColumns.Controls.Add(ddl); pnlColumns.Controls.Add(new LiteralControl("</td></tr>")); } pnlColumns.Controls.Add(new LiteralControl("</table>")); if (!IsPostBack) { if (bWizard) { foreach (ColumnProperty Column in ColumnList) { ListItem li2 = new ListItem(Column.DiplayName, Column.ColumnName); if (Column.DefaultListColumn == "INTUID") { ddlIDColumn.SelectedValue = Column.ColumnName; } if (Column.DefaultListColumn == "SPID") { ddlSPColumn.SelectedValue = Column.ColumnName; } if (Column.DefaultListColumn == "SECMATCH") { ddlSecMatch.SelectedValue = Column.ColumnName; } } } else { try { ddlIDColumn.SelectedValue = hshProps["IDColumn"].ToString(); } catch { } try { ddlSPColumn.SelectedValue = hshProps["SPColumn"].ToString(); } catch { } try { ddlSecMatch.SelectedValue = hshProps["SecMatch"].ToString(); } catch { } try { string[] match = hshProps["ItemMatch"].ToString().Split('|'); ddlSharePointMatch.SelectedValue = match[0]; ddlIntegrationMatch.SelectedValue = match[1]; } catch { } } } if (bWizard) { Button1.Text = "Finish"; Button1.OnClientClick = "Install();"; } else { Button1.OnClientClick = "DisableButtons();"; } }); }