/// <summary>
    /// Runs example.
    /// </summary>
    public void Run()
    {
        try
        {
            if (RunExample != null)
            {
                bool success = RunExample();

                if (!success)
                {
                    // Display error message
                    lblError.Text    = ErrorMessage;
                    lblError.Visible = true;

                    return;
                }
            }
        }
        catch (Exception ex)
        {
            // Log exception
            EventLogProvider ep = new EventLogProvider();
            ep.LogEvent("APIExample", "EXCEPTION", ex);

            string msg = "";

            // Try to find id of last interesting log
            string where = ep.GetSiteWhereCondition(0) + " AND (Source = 'APIExample') AND (IPAddress = '" + HTTPHelper.UserHostAddress + "')";
            string  orderBy = "EventTime DESC, EventID DESC";
            DataSet ds      = ep.GetAllEvents(where, orderBy, 1, "EventID");

            // Get id
            int eventId = 0;
            if (!DataHelper.DataSourceIsEmpty(ds))
            {
                eventId = ValidationHelper.GetInteger(ds.Tables[0].Rows[0]["EventID"], 0);
            }

            if (eventId != 0)
            {
                string    identifier  = Guid.NewGuid().ToString();
                Hashtable mParameters = new Hashtable();
                mParameters["where"]   = where;
                mParameters["orderby"] = orderBy;

                WindowHelper.Add(identifier, mParameters);

                string queryString = "?params=" + identifier;
                queryString = URLHelper.AddParameterToUrl(queryString, "hash", QueryHelper.GetHash(queryString));
                queryString = URLHelper.AddParameterToUrl(queryString, "eventid", eventId.ToString());

                // Add link to event details in event log
                msg = String.Format("The API example failed. See event log for <a href=\"\" onclick=\"modalDialog('" + ResolveUrl("~/CMSModules/EventLog/EventLog_Details.aspx") + queryString + "', 'eventdetails', 920, 700); return false;\">more details</a>.");
            }
            else
            {
                // Add link to Event log
                msg = String.Format("The API example failed. See <a href=\"" + ResolveUrl("~/CMSModules/EventLog/EventLog.aspx") + "\" target=\"_blank\">event log</a> for more details.");
            }

            // Display error message
            lblError.Text    = msg;
            lblError.ToolTip = ex.Message;
            lblError.Visible = true;

            return;
        }

        //Display info message
        lblInfo.Text    = InfoMessage;
        lblInfo.Visible = true;
    }
예제 #2
0
    /// <summary>
    /// Runs example.
    /// </summary>
    public void Run()
    {
        try
        {
            if (RunExample != null)
            {
                bool success = RunExample();

                if (!success)
                {
                    // Display error message
                    lblError.Text = ErrorMessage;
                    lblError.Visible = true;

                    return;
                }
            }
        }
        catch (Exception ex)
        {
            // Log exception
            EventLogProvider ep = new EventLogProvider();
            ep.LogEvent("APIExample", "EXCEPTION", ex);

            string  msg = "";

            // Try to find id of last interesting log
            string where = ep.GetSiteWhereCondition(0) + " AND (Source = 'APIExample') AND (IPAddress = '" + HTTPHelper.UserHostAddress + "')";
            string orderBy = "EventTime DESC, EventID DESC";
            DataSet ds = ep.GetAllEvents(where, orderBy, 1, "EventID");

            // Get id
            int eventId = 0;
            if (!DataHelper.DataSourceIsEmpty(ds))
            {
                eventId = ValidationHelper.GetInteger(ds.Tables[0].Rows[0]["EventID"], 0);
            }

            if(eventId != 0)
            {
                string identificator = Guid.NewGuid().ToString();
                Hashtable mParameters = new Hashtable();
                mParameters["where"] = where;
                mParameters["orderby"] = orderBy;

                WindowHelper.Add(identificator, mParameters);

                string queryString = "?params=" + identificator;
                queryString = URLHelper.AddParameterToUrl(queryString, "hash", QueryHelper.GetHash(queryString));
                queryString = URLHelper.AddParameterToUrl(queryString, "eventid", eventId.ToString());

                // Add link to event details in event log
                msg = String.Format("The API example failed. See event log for <a href=\"\" onclick=\"modalDialog('" + ResolveUrl("~/CMSModules/EventLog/EventLog_Details.aspx") + queryString + "', 'eventdetails', 920, 700); return false;\">more details</a>.");
            }
            else
            {
                // Add link to Event log
                msg = String.Format("The API example failed. See <a href=\"" + ResolveUrl("~/CMSModules/EventLog/EventLog.aspx") + "\" target=\"_blank\">event log</a> for more details.");
            }

            // Display error message
            lblError.Text = msg;
            lblError.ToolTip = ex.Message;
            lblError.Visible = true;

            return;
        }

        //Display info message
        lblInfo.Text = InfoMessage;
        lblInfo.Visible = true;
    }