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();

        //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();
    }
Exemplo n.º 2
0
 protected void unbindAndSave()
 {
     unbindEventDiscountCode();
     targetEventDiscountCode = SaveObject(targetEventDiscountCode).ConvertTo <msEventDiscountCode>();
 }