示例#1
0
        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();";
                }
            });
        }