/// <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; } } } }
protected override void InitializeTargetObject() { base.InitializeTargetObject(); targetGift = LoadObjectFromAPI <msGift>(ContextID); if (targetGift == null) { GoToMissingRecordPage(); } }