/// <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(); //Describe an Event Discount Code. We will need this metadata to bind to the acceptable values for certain fields and for creating a new Discount / Promo Code using (IConciergeAPIService proxy = GetConciegeAPIProxy()) { eventDiscountCodeClassMetadata = proxy.DescribeObject(msEventDiscountCode.CLASS_NAME).ResultValue; eventDiscountCodeFieldMetadata = eventDiscountCodeClassMetadata.GenerateFieldDictionary(); } var contextObject = APIExtensions.LoadObjectFromAPI(ContextID); if (contextObject.ClassType == msEvent.CLASS_NAME) { targetEvent = contextObject.ConvertTo <msEvent>(); targetEventDiscountCode = msEventDiscountCode.FromClassMetadata(eventDiscountCodeClassMetadata); lblTitleAction.Text = "Create"; } else { targetEventDiscountCode = contextObject.ConvertTo <msEventDiscountCode>(); targetEvent = LoadObjectFromAPI <msEvent>(targetEventDiscountCode.Event); lblTitleAction.Text = "Edit"; } if (targetEvent == null || targetEventDiscountCode == null) { GoToMissingRecordPage(); return; } targetEventDiscountCode.Event = targetEvent.ID; loadEventOwners(); }
protected void unbindAndSave() { unbindEventDiscountCode(); targetEventDiscountCode = SaveObject(targetEventDiscountCode).ConvertTo <msEventDiscountCode>(); }