protected void Page_Load(object sender, EventArgs e)
        {
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                Act act = new Act(Web);

                API.Integration.IntegrationCore integration = new API.Integration.IntegrationCore(Web.Site.ID, Web.ID);

                DataSet dsIntegrations = integration.GetIntegrations(act.IsOnline);

                StringBuilder sb = new StringBuilder();

                DataTable dtCat = dsIntegrations.Tables[0];

                foreach (DataRow drCat in dtCat.Rows)
                {
                    sb.Append("<div class=\"header-wrapper\">");
                    sb.Append("<h4>" + drCat["CATEGORY"].ToString() + "</h4>");
                    sb.Append("</div>");
                    sb.Append("<div style=\"width:100%;overflow: hidden;padding-bottom:30px;\">");


                    DataTable dtMods = dsIntegrations.Tables[drCat["INT_CAT_ID"].ToString()];

                    if (dtMods.Rows.Count == 0)
                    {
                        sb.Append("<div style=\"text-align:left;\">No integration modules available</div>");
                    }

                    foreach (DataRow dr in dtMods.Rows)
                    {
                        sb.Append("<div style=\"width:270px;float:left;padding-right:20px\">");

                        string icon = dr["Icon"].ToString();

                        if (icon == "")
                        {
                            icon = "/_layouts/epmlive/images/integration/base.png";
                        }
                        else
                        {
                            icon = "/_layouts/epmlive/images/integration/" + icon;
                        }

                        string desc = dr["Description"].ToString();


                        sb.Append("<TABLE border=0 cellSpacing=0 cellPadding=0 width=\"100%\" height=\"100%\"><tr>");
                        sb.Append("<td class=\"add-app-logo-box\">");
                        sb.Append("<img src=\"");
                        sb.Append(((Web.ServerRelativeUrl == "/") ? "" : Web.ServerRelativeUrl));
                        sb.Append(icon);
                        sb.Append("\"></td></tr><tr>");
                        sb.Append("<td class=\"titletd\"><b>");
                        sb.Append(dr["Title"].ToString());
                        sb.Append("</b>");
                        if (desc != "")
                        {
                            sb.Append("<div style=\"padding-top: 5px;padding-bottom:10px;padding-right:5px;work-wrap:break-word;\">");
                            sb.Append(desc);
                            sb.Append("</div>");
                        }
                        sb.Append("</td>");
                        sb.Append("</tr>");
                        sb.Append("<tr><td style=\"text-align:center;\">");
                        sb.Append("<a href=\"javascript:void(0);\" onclick=\"AddIntegration('");
                        sb.Append(dr["MODULE_ID"].ToString());
                        sb.Append("')\" class=\"btn btn-large btn-success\" style=\"text-decoration:none;\">Configure</a>");
                        sb.Append("</td></tr>");

                        sb.Append("</table>");

                        sb.Append("</div>");
                    }

                    sb.Append("</div>");
                }

                Integrations = sb.ToString();
            });
        }