protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);  // first things first
        if (ConciergeAPI.CurrentEntity == null)
        {
            return;
        }

        targetForm = LoadObjectFromAPI <msCustomObjectPortalForm>(ContextID);
        if (targetForm == null)
        {
            GoToMissingRecordPage();
        }

        targetObject = LoadObjectFromAPI <msCustomObject>(targetForm.CustomObject);

        using (var api = GetServiceAPIProxy())
            targetFormManifest = api.DescribePortalForm(targetForm.ID, ConciergeAPI.CurrentEntity.ID).ResultValue;

        rgMainDataGrid.AutoGenerateColumns = false;

        targetSearch = new Search(targetObject.Name);
        targetSearch.AddCriteria(Expr.Equals("Owner", ConciergeAPI.CurrentEntity.ID));

        var columns = targetForm.ManagementFieldsToDisplay;

        if (columns == null || columns.Count == 0)
        {
            columns = new List <string> {
                "Name"
            }
        }
        ;

        columns.ForEach(targetSearch.AddOutputColumn);


        if (!IsPostBack)
        {
            using (var api = GetServiceAPIProxy())
            {
                var meta = api.DescribeCompiledSearch(targetSearch).ResultValue;
                GridLogic.GenerateRadGridColumnsFromFieldMetadata(rgMainDataGrid, meta.Fields);
            }
        }

        GridHyperLinkColumn gc = new GridHyperLinkColumn();

        rgMainDataGrid.Columns.Add(gc); // remember we have to do this right away for column settings to persist
        gc.DataNavigateUrlFormatString = "ViewFormInstance.aspx?contextID={0}&formID=" + targetForm.ID;
        gc.DataNavigateUrlFields       = new string[] { "ID" };
        gc.Text = "(view)";
    }
Esempio n. 2
0
    protected override void InitializeTargetObject()
    {
        base.InitializeTargetObject();
        targetForm = LoadObjectFromAPI <msCustomObjectPortalForm>(Request.QueryString["formID"]);
        if (targetForm == null)
        {
            GoToMissingRecordPage();
        }

        targetRecord = LoadObjectFromAPI <msCustomObjectInstance>(ContextID);
        if (targetRecord == null)
        {
            GoToMissingRecordPage();
        }

        targetObject = LoadObjectFromAPI <msCustomObject>(targetForm.CustomObject);

        using (var api = GetServiceAPIProxy())
            targetFormManifest = api.DescribePortalForm(targetForm.ID, ConciergeAPI.CurrentEntity.ID).ResultValue;
    }