Exemplo n.º 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();

        using (IConciergeAPIService proxy = ConciergeAPIProxyGenerator.GenerateProxy())
        {
            loadTargetOrder(proxy);

            if (targetOrder == null)
            {
                GoToMissingRecordPage();
            }

            // If an Order found, try to get a related Gift object
            var giftSearch = new Search(msGift.CLASS_NAME);
            giftSearch.AddCriteria(Expr.Equals(msFinancialTransaction.FIELDS.Order, ContextID));

            var result = proxy.GetObjectsBySearch(giftSearch, msAggregate.FIELDS.ID, 0, 1);
            if (result.Success && result.ResultValue.TotalRowCount > 0)
            {
                targetGift = result.ResultValue.Objects[0].ConvertTo <msGift>();

                if (targetGift != null)
                {
                    hlViewOrder.NavigateUrl = "/donations/ViewGift.aspx?contextID=" + targetGift.ID;
                }
                else
                {
                    // If a gift not found, at least go to the completed Order
                    hlViewOrder.NavigateUrl = "/financial/ViewOrder.aspx?contextID=" + targetOrder.ID;
                }
            }
        }
    }
Exemplo n.º 2
0
    protected override void InitializeTargetObject()
    {
        base.InitializeTargetObject();

        targetGift = LoadObjectFromAPI <msGift>(ContextID);

        if (targetGift == null)
        {
            GoToMissingRecordPage();
        }
    }