Example #1
0
    /// <summary>
    /// Initializes the target object for the page
    /// </summary>
    /// <remarks>Many pages have "target" objects that the page operates on. For instance, when viewing
    /// an event, the target object is an event. When looking up a directory, that's the target
    /// object. This method is intended to be overriden to initialize the target object for
    /// each page that needs it.</remarks>
    protected override void InitializeTargetObject()
    {
        base.InitializeTargetObject();


        var contextObject = APIExtensions.LoadObjectFromAPI(ContextID);

        switch (contextObject.ClassType)
        {
        case msEvent.CLASS_NAME:
            targetEvent    = LoadObjectFromAPI <msEvent>(ContextID);
            targetAbstract = new msAbstract
            {
                Owner = ConciergeAPI.CurrentEntity.ID,
                Event = targetEvent.ID
            };
            break;

        case msAbstract.CLASS_NAME:
            targetAbstract = LoadObjectFromAPI <msAbstract>(ContextID);
            if (targetAbstract == null)
            {
                GoToMissingRecordPage();
                return;
            }
            targetEvent = LoadObjectFromAPI <msEvent>(targetAbstract.Event);
            break;

        default:
            QueueBannerError("Invalid context supplied.");
            GoHome();
            return;
        }

        if (targetEvent == null)
        {
            GoToMissingRecordPage();
            return;
        }
    }
Example #2
0
    /// <summary>
    /// Initializes the target object for the page
    /// </summary>
    /// <remarks>Many pages have "target" objects that the page operates on. For instance, when viewing
    /// an event, the target object is an event. When looking up a directory, that's the target
    /// object. This method is intended to be overriden to initialize the target object for
    /// each page that needs it.</remarks>
    protected override void InitializeTargetObject()
    {
        base.InitializeTargetObject();

        // Have to get the actual MemberSuiteObject for the custom fields
        targetAbstract = LoadObjectFromAPI <msAbstract>(ContextID);

        if (targetAbstract == null)
        {
            GoToMissingRecordPage();
            return;
        }


        var s = new Search(msAbstract.CLASS_NAME);

        s.AddCriteria(Expr.Equals("ID", ContextID));
        s.AddOutputColumn("Event.Name");
        s.AddOutputColumn("Status.Name");

        var s2 = new Search("AbstractSessionTrack");

        s2.AddCriteria(Expr.Equals("Abstract", ContextID));
        s2.AddOutputColumn("SessionTrack.Name");
        s2.AddSortColumn("SessionTrack.Name");

        var results = APIExtensions.GetMultipleSearchResults(new List <Search> {
            s, s2
        }, 0, 1);

        if (results[0].TotalRowCount == 0)
        {
            GoToMissingRecordPage();
        }

        targetAbstractRow = results[0].Table.Rows[0];

        targetTracks = results[1].Table;
    }
Example #3
0
    protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
    {
        msAbstract ab = SessionManager.Get <msAbstract>("Abstract");

        if (ab == null)
        {
            Response.Redirect(this.Request.Url.ToString()); // refresh
        }
        using (var api = GetServiceAPIProxy())
        {
            // save the abstract
            var result = api.Save(ab);

            // and send the email
            api.SendTransactionalEmail(EmailTemplates.Events.AbstractSubmission, result.ResultValue.SafeGetValue <string>("ID"),
                                       null);

            QueueBannerMessage(string.Format("Abstract '{0}' submitted successfully.", ab.Name));

            // go back to the event
            Response.Redirect("ViewEvent.aspx?contextID=" + targetEvent.ID);
        }
    }