/// <summary> /// Retrieves form for creating or updating master page zone elements. /// </summary> /// <param name="context">Form context.</param> /// <returns>Form object.</returns> private Form GetMasterPageZoneElementForm(string context) { // Construct form data, consisting of master page zone element form action button labels MasterPageZoneElementFormData formData = new MasterPageZoneElementFormData { Labels = new Dictionary<string, string>() }; formData.Labels.Add("update", MasterPageResource.UpdateZoneElementButtonLabel); formData.Labels.Add("create", MasterPageResource.CreateZoneElementButtonLabel); formData.MasterPageZoneElement = new MasterPageZoneElement(); // Get all elements long tenantId = _authenticationService.TenantId; IEnumerable<MasterPage> masterPages = _masterPageService.ListElementsByMasterPage(tenantId); // Construct form string data = JsonConvert.SerializeObject(formData); Form form = new Form { Fields = new Dictionary<string, IFormField>(), Id = FormId.ToString(), Context = context, Data = data }; form.Fields.Add("elementId", new SelectListField<string> { Name = "elementId", Label = MasterPageResource.ElementIdLabel, Items = GetElementIdListFieldItems(masterPages), Required = true, RequiredErrorMessage = MasterPageResource.ElementIdRequiredMessage }); form.Fields.Add("beginRender", new MultiLineTextField { Name = "beginRenderZoneElement", Label = MasterPageResource.ZoneElementBeginRenderLabel, Rows = 4 }); form.Fields.Add("endRender", new MultiLineTextField { Name = "endRenderZoneElement", Label = MasterPageResource.ZoneElementEndRenderLabel, Rows = 4 }); // Return result return form; }