public override void PartFieldEditorUpdating(ContentPartFieldDefinitionBuilder builder) { var contentPart = _contentDefinitionService.GetPart(builder.PartName); var contentField = contentPart.Fields.Single(x => x.Name == builder.Name); _oldContentPartFieldSettings = contentField.Settings; }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "TextBoxField") { yield break; } var model = new TextBoxFieldSettings(); if (updateModel.TryUpdateModel(model, "TextBoxFieldSettings", null, null)) { builder.WithSetting("TextBoxFieldSettings.Width", model.Width); builder.WithSetting("TextBoxFieldSettings.Height", model.Height.ToString()); builder.WithSetting("TextBoxFieldSettings.Readonly", model.Readonly.ToString().ToLower()); builder.WithSetting("TextBoxFieldSettings.Editable", model.Editable.ToString().ToLower()); builder.WithSetting("TextBoxFieldSettings.Disabled", model.Disabled.ToString().ToLower()); builder.WithSetting("TextBoxFieldSettings.Multiline", model.Multiline.ToString().ToLower()); builder.WithSetting("TextBoxFieldSettings.Required", model.Required.ToString().ToLower()); builder.WithSetting("TextBoxFieldSettings.Prompt", model.Prompt); builder.WithSetting("TextBoxFieldSettings.LabelAlign", model.LabelAlign); builder.WithSetting("TextBoxFieldSettings.LabelPosition", model.LabelPosition); builder.WithSetting("TextBoxFieldSettings.DefaultValue", model.DefaultValue); } yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "InputField") { yield break; } var model = new InputFieldSettings(); if (updateModel.TryUpdateModel(model, "InputFieldSettings", null, null)) { builder.WithSetting("InputFieldSettings.Type", model.Type.ToString()); builder.WithSetting("InputFieldSettings.Title", model.Title); builder.WithSetting("InputFieldSettings.Hint", model.Hint); builder.WithSetting("InputFieldSettings.Required", model.Required.ToString()); builder.WithSetting("InputFieldSettings.AutoFocus", model.AutoFocus.ToString()); builder.WithSetting("InputFieldSettings.AutoComplete", model.AutoComplete.ToString()); builder.WithSetting("InputFieldSettings.Placeholder", model.Placeholder); builder.WithSetting("InputFieldSettings.Pattern", model.Pattern); builder.WithSetting("InputFieldSettings.EditorCssClass", model.EditorCssClass); builder.WithSetting("InputFieldSettings.MaxLength", model.MaxLength.ToString()); } yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "SecureFileField") { yield break; } var model = new SecureFileFieldSettings(); if (updateModel.TryUpdateModel(model, "SecureFileFieldSettings", null, null)) { builder.WithSetting("SecureFileFieldSettings.Hint", model.Hint); builder.WithSetting("SecureFileFieldSettings.SecureDirectoryName", model.SecureDirectoryName); builder.WithSetting("SecureFileFieldSettings.SecureBlobAccountName", model.SecureBlobAccountName); builder.WithSetting("SecureFileFieldSettings.SecureBlobEndpoint", model.SecureBlobEndpoint); builder.WithSetting("SecureFileFieldSettings.SecureSharedKey", model.SecureSharedKey); builder.WithSetting("SecureFileFieldSettings.SharedAccessExpirationMinutes", model.SharedAccessExpirationMinutes.ToString()); builder.WithSetting("SecureFileFieldSettings.AllowedExtensions", model.AllowedExtensions); builder.WithSetting("SecureFileFieldSettings.Required", model.Required.ToString()); builder.WithSetting("SecureFileFieldSettings.GenerateFileName", model.GenerateFileName.ToString()); builder.WithSetting("SecureFileFieldSettings.CustomSubfolder", model.CustomSubfolder); builder.WithSetting("SecureFileFieldSettings.Custom1", model.Custom1); builder.WithSetting("SecureFileFieldSettings.Custom2", model.Custom2); builder.WithSetting("SecureFileFieldSettings.Custom3", model.Custom3); builder.WithSetting("SecureFileFieldSettings.EncryptFile", model.EncryptFile.ToString()); } yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate( ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (_typeHasConfigPart) { var settings = new FrontendEditorConfigurationSettings(); if (updateModel.TryUpdateModel(settings, "FrontendEditorConfigurationSettings", null, null)) { FrontendEditorConfigurationSettings.SetValues(builder, settings.AllowFrontEndEdit); // Update the type settings var partDefinition = _contentDefinitionManager.GetPartDefinition(builder.PartName); var typeDefinition = _typeBuilder.Current; // At this stage, the settings in the FieldDefinition are not updated, so the IFrontEndProfileService // has no way of knowing whether the value of settings.AllowFrontEndEdit has changed. We need to pass // it along to be used. var fieldPlacements = GetEditorPlacement(typeDefinition, partDefinition, builder.Current, settings.AllowFrontEndEdit); if (fieldPlacements.Any()) { UpdateFrontEndPlacements(typeDefinition, fieldPlacements); //// schedules a re-evaluation of the shell //_settingsManagerEventHandlers.Value.Invoke(x => x.Saved(_shellSettings), Logger); } } yield return(DefinitionTemplate(settings)); } }
public static void SetValues( ContentPartFieldDefinitionBuilder builder, MediaLibraryPickerFieldGDPRPartFieldSettings settings) { // anonymization settings builder.WithSetting( "MediaLibraryPickerFieldGDPRPartFieldSettings.AttemptToAnonymizeItems", settings.AttemptToAnonymizeItems.ToString(CultureInfo.InvariantCulture)); builder.WithSetting( "MediaLibraryPickerFieldGDPRPartFieldSettings.DetachGDPRItemsOnAnonymize", settings.DetachGDPRItemsOnAnonymize.ToString(CultureInfo.InvariantCulture)); builder.WithSetting( "MediaLibraryPickerFieldGDPRPartFieldSettings.DetachAllItemsOnAnonymize", settings.DetachAllItemsOnAnonymize.ToString(CultureInfo.InvariantCulture)); // erasure settings builder.WithSetting( "MediaLibraryPickerFieldGDPRPartFieldSettings.AttemptToEraseItems", settings.AttemptToEraseItems.ToString(CultureInfo.InvariantCulture)); builder.WithSetting( "MediaLibraryPickerFieldGDPRPartFieldSettings.DetachGDPRItemsOnErase", settings.DetachGDPRItemsOnErase.ToString(CultureInfo.InvariantCulture)); builder.WithSetting( "MediaLibraryPickerFieldGDPRPartFieldSettings.DetachAllItemsOnErase", settings.DetachAllItemsOnErase.ToString(CultureInfo.InvariantCulture)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (!builder.FieldType.Equals(typeof(MoneyField).Name)) { yield break; } var model = new MoneyFieldSettings(); if (updateModel.TryUpdateModel(model, typeof(MoneyFieldSettings).Name, null, null)) { if (string.IsNullOrEmpty(model.DefaultCurrency)) { builder.WithSetting("MoneyFieldSettings.DefaultCurrency", Currency.FromCurrentCulture().Iso3LetterCode); } else { Currency parsedCurrency; if (Currency.TryParse(model.DefaultCurrency, out parsedCurrency)) { builder.WithSetting("MoneyFieldSettings.DefaultCurrency", model.DefaultCurrency); } else { updateModel.AddModelError("InvalidCurrencyIsoCode", T("MoneyField - Invalid currency iso code was given.")); } } builder.WithSetting("MoneyFieldSettings.IsCurrencyReadOnly", model.IsCurrencyReadOnly.ToString(CultureInfo.InvariantCulture)); builder.WithSetting("MoneyFieldSettings.Hint", model.Hint); builder.WithSetting("MoneyFieldSettings.Required", model.Required.ToString(CultureInfo.InvariantCulture)); } yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate( ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType == "HiddenStringField") { var model = new HiddenStringFieldSettingsEventsViewModel { Settings = new HiddenStringFieldSettings(), ProcessVariant = HiddenStringFieldUpdateProcessVariant.None, ProcessVariants = _updateProcessor.GetVariants() }; if (updateModel.TryUpdateModel(model, "HiddenStringFieldSettingsEventsViewModel", null, null)) { builder.WithSetting("HiddenStringFieldSettings.Tokenized", model.Settings.Tokenized.ToString()); builder.WithSetting("HiddenStringFieldSettings.TemplateString", model.Settings.TemplateString); _updateProcessor.AddTask(model.ProcessVariant, model.Settings, builder); model.ProcessVariant = HiddenStringFieldUpdateProcessVariant.None; yield return(DefinitionTemplate(model)); } } else { yield break; } }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate( ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType == "HiddenStringField") { var model = new HiddenStringFieldSettingsEventsViewModel { Settings = new HiddenStringFieldSettings(), ProcessVariant = HiddenStringFieldUpdateProcessVariant.None, ProcessVariants = GetVariants() }; if (updateModel.TryUpdateModel(model, "HiddenStringFieldSettingsEventsViewModel", null, null)) { builder.WithSetting("HiddenStringFieldSettings.Tokenized", model.Settings.Tokenized.ToString()); builder.WithSetting("HiddenStringFieldSettings.TemplateString", model.Settings.TemplateString); builder.WithSetting("HiddenStringFieldSettings.AutomaticAdjustmentOnEdit", model.Settings.AutomaticAdjustmentOnEdit.ToString()); if (model.ProcessVariant != HiddenStringFieldUpdateProcessVariant.None) { // TODO: Check task isn't already scheduled. var completeFieldName = _contentTypeName + "_" + builder.PartName + "_" + builder.Name + "_" + model.ProcessVariant.ToString(); _scheduledTaskManager.CreateTask(HiddenStringFieldValueUpdateTaskHandler.UPDATEVALUES_TASK + "_" + completeFieldName, _clock.UtcNow.AddMinutes(1), null); } model.ProcessVariant = HiddenStringFieldUpdateProcessVariant.None; yield return(DefinitionTemplate(model)); } } else { yield break; } }
protected void UpdateSettings(FieldSettings model, ContentPartFieldDefinitionBuilder builder, string prefix) { model.HelpText = model.HelpText ?? string.Empty; builder.WithSetting(prefix + ".HelpText", model.HelpText); builder.WithSetting(prefix + ".Required", model.Required.ToString()); builder.WithSetting(prefix + ".ReadOnly", model.ReadOnly.ToString()); builder.WithSetting(prefix + ".AlwaysInLayout", model.AlwaysInLayout.ToString()); builder.WithSetting(prefix + ".IsSystemField", model.IsSystemField.ToString()); builder.WithSetting(prefix + ".IsAudit", model.IsAudit.ToString()); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { var model = new FieldIndexing(); updateModel.TryUpdateModel(model, "FieldIndexing", null, null); builder.WithSetting("FieldIndexing.Included", model.Included ? true.ToString() : null); CreateIndexingTasks(); yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { var settings = new ContentFieldSerializationSettings(); if (updateModel.TryUpdateModel(settings, "ContentFieldSerializationSettings", null, null)) { ContentFieldSerializationSettings.SetValues(builder, settings.AllowSerialization); } yield return(DefinitionTemplate(settings)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { var model = new DateTimeFieldSettings(); if (updateModel.TryUpdateModel(model, "DateTimeFieldSettings", null, null)) { builder.WithSetting("DateTimeFieldSettings.Display", model.Display.ToString()); } yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { var model = new ChoiceListFieldSettings(); if (updateModel.TryUpdateModel(model, "ChoiceListFieldSettings", null, null)) { builder.WithSetting("ChoiceListFieldSettings.Options", model.Options); builder.WithSetting("ChoiceListFieldSettings.ListMode", model.ListMode); } yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "TextField") { yield break; } var model = new ShortCodesSettingsViewModel(); updateModel.TryUpdateModel(model, "ShortCodesSettings", null, null); builder.WithSetting("ShortCodesSettings.EnabledShortCodes", string.Join(",", model.EnabledShortCodes)); yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "TextField") { yield break; } var model = new ContentShortCodeSettings(); updateModel.TryUpdateModel(model, "ContentShortCodeSettings", null, null); builder.WithSetting("ContentShortCodeSettings.DisplayedContentTypes", model.DisplayedContentTypes); yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "JsonDataTableField") { yield break; } var model = new JsonDataTableFieldSettings(); if (updateModel.TryUpdateModel(model, "JsonDataTableFieldSettings", null, null)) { builder.WithSetting("JsonDataTableFieldSettings.ColumnsDefinition", model.ColumnsDefinition); builder.WithSetting("JsonDataTableFieldSettings.MaxRows", model.MaxRows.ToString()); } yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { var model = new ColorPickerFieldSettings(); if (builder.FieldType != "ColorPickerField") { yield break; } if (updateModel.TryUpdateModel(model, "ColorPickerFieldSettings", null, null)) { builder.WithSetting("ColorPickerFieldSettings.Hint", model.Hint); builder.WithSetting("ColorPickerFieldSettings.Options", model.Options); } yield return(DefinitionTemplate(model)); }
public override void UpdateFieldSettings(ContentPartFieldDefinitionBuilder builder, SettingsDictionary settingsDictionary) { if (builder.FieldType != "DatetimeField") { return; } var model = settingsDictionary.TryGetModel <DatetimeFieldSettings>(); if (model != null) { UpdateSettings(model, builder, "DatetimeFieldSettings"); builder.WithSetting("DatetimeFieldSettings.DefaultValue", model.DefaultValue.ToString()); } }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { var typeDefinition = _contentDefinitionManager.GetTypeDefinition(builder.PartName); if (_typeHasLocalizationPart || (typeDefinition != null && typeDefinition.Parts.Any(ctpd => ctpd.PartDefinition.Name == "LocalizationPart"))) { _typeHasLocalizationPart = true; var settings = new LocalizationCultureNeutralitySettings(); if (updateModel.TryUpdateModel(settings, "LocalizationCultureNeutralitySettings", null, null)) { builder.WithSetting("LocalizationCultureNeutralitySettings.CultureNeutral", settings.CultureNeutral.ToString(CultureInfo.InvariantCulture)); } yield return(DefinitionTemplate(settings)); } }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "ContentPickerField") { yield break; } var model = new CPContentCreationSettings(); if (updateModel.TryUpdateModel(model, "CPContentCreationSettings", null, null)) { builder.WithSetting("CPContentCreationSettings.EnableContentCreation", model.EnableContentCreation.ToString(CultureInfo.InvariantCulture)); } yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "HtmlBlockField") { yield break; } var model = new HtmlBlockFieldSettings(); if (updateModel.TryUpdateModel(model, "HtmlBlockFieldSettings", null, null)) { builder.WithSetting("HtmlBlockFieldSettings.Height", model.Height.ToString()); builder.WithSetting("HtmlBlockFieldSettings.Helptext", model.HelpText); } yield return(DefinitionTemplate(model)); }
public override void UpdateFieldSettings(ContentPartFieldDefinitionBuilder builder, SettingsDictionary settingsDictionary) { if (builder.FieldType != "OptionSetField") { return; } var model = settingsDictionary.TryGetModel <OptionSetFieldSettings>(); if (model != null) { UpdateSettings(model, builder, "OptionSetFieldSettings"); builder.WithSetting("OptionSetFieldSettings.OptionSetId", model.OptionSetId.ToString()); builder.WithSetting("OptionSetFieldSettings.ListMode", model.ListMode.ToString()); } }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "LocationField") { yield break; } var model = new LocationFieldSettings(); if (updateModel.TryUpdateModel(model, "LocationFieldSettings", null, null)) { builder.WithSetting("LocationFieldSettings.Required", model.Required.ToString()); } yield return(DefinitionTemplate(model)); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { var model = new MediaPickerFieldSettings(); if (updateModel.TryUpdateModel(model, "MediaPickerFieldSettings", null, null)) { builder.WithSetting("MediaPickerFieldSettings.Hint", model.Hint); builder.WithSetting("MediaPickerFieldSettings.AllowedExtensions", model.AllowedExtensions); builder.WithSetting("MediaPickerFieldSettings.Required", model.Required.ToString()); builder.WithSetting("MediaPickerFieldSettings.Custom1", model.Custom1); builder.WithSetting("MediaPickerFieldSettings.Custom2", model.Custom2); builder.WithSetting("MediaPickerFieldSettings.Custom3", model.Custom3); } yield return(DefinitionTemplate(model)); }
public override void PartFieldEditorUpdated(ContentPartFieldDefinitionBuilder builder) { var contentPartFieldDefinition = builder.Build(); var newSettings = contentPartFieldDefinition.Settings; if (!AreEqual(newSettings, _oldContentPartFieldSettings)) { var eventData = new Dictionary <string, object> { { "ContentFieldName", builder.Name }, { "ContentPartName", builder.PartName }, { "OldSettings", ToXml(_oldContentPartFieldSettings) }, { "NewSettings", ToXml(newSettings) } }; RecordContentPartAuditTrail(ContentPartAuditTrailEventProvider.FieldSettingsUpdated, eventData, builder.PartName); } }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "TaxonomyField") { yield break; } var model = new TaxonomyFieldLocalizationSettings(); if (updateModel.TryUpdateModel(model, "TaxonomyFieldLocalizationSettings", null, null)) { builder.WithSetting("TaxonomyFieldLocalizationSettings.TryToLocalize", model.TryToLocalize.ToString(CultureInfo.InvariantCulture)); } yield return(DefinitionTemplate(model)); }
public override void UpdateFieldSettings(ContentPartFieldDefinitionBuilder builder, SettingsDictionary settingsDictionary) { if (builder.FieldType != "CoeveryTextField") { return; } var model = settingsDictionary.TryGetModel <CoeveryTextFieldSettings>(); if (model != null) { UpdateSettings(model, builder, "CoeveryTextFieldSettings"); builder.WithSetting("CoeveryTextFieldSettings.IsDispalyField", model.IsDispalyField.ToString()); builder.WithSetting("CoeveryTextFieldSettings.MaxLength", model.MaxLength.ToString()); builder.WithSetting("CoeveryTextFieldSettings.PlaceHolderText", model.PlaceHolderText); } }
public static void SetValues(ContentPartFieldDefinitionBuilder builder, GDPRPartFieldSettings settings) { builder.WithSetting( "GDPRPartFieldSettings.ShouldAnonymize", settings.ShouldAnonymize.ToString(CultureInfo.InvariantCulture)); builder.WithSetting( "GDPRPartFieldSettings.ShouldErase", settings.ShouldErase.ToString(CultureInfo.InvariantCulture)); // serialized dictionaries builder.WithSetting( "GDPRPartFieldSettings.AnonymizationSerializedPairs", settings.AnonymizationSerializedPairs); builder.WithSetting( "GDPRPartFieldSettings.ErasureSerializedPairs", settings.ErasureSerializedPairs); }
public override IEnumerable <TemplateViewModel> PartFieldEditorUpdate(ContentPartFieldDefinitionBuilder builder, IUpdateModel updateModel) { if (builder.FieldType != "FieldExternal") { yield break; } var model = new FieldExternalSetting(); if (updateModel.TryUpdateModel(model, "FieldExternalSetting", null, null)) { builder.WithSetting("FieldExternalSetting.Required", model.Required.ToString()); builder.WithSetting("FieldExternalSetting.CacheMinute", model.CacheMinute.ToString()); builder.WithSetting("FieldExternalSetting.ExternalURL", model.ExternalURL); builder.WithSetting("FieldExternalSetting.NoFollow", model.NoFollow.ToString()); builder.WithSetting("FieldExternalSetting.GenerateL", model.GenerateL.ToString()); builder.WithSetting("FieldExternalSetting.HttpVerb", model.HttpVerb.ToString()); builder.WithSetting("FieldExternalSetting.HttpDataType", model.HttpDataType.ToString()); builder.WithSetting("FieldExternalSetting.BodyRequest", model.BodyRequest); builder.WithSetting("FieldExternalSetting.CertificateRequired", model.CertificateRequired.ToString()); builder.WithSetting("FieldExternalSetting.CerticateFileName", model.CerticateFileName); builder.WithSetting("FieldExternalSetting.CacheInput", model.CacheInput); builder.WithSetting("FieldExternalSetting.CacheToFileSystem", model.CacheToFileSystem.ToString()); builder.WithSetting("FieldExternalSetting.ScheduledMinute", model.ScheduledMinute.ToString()); builder.WithSetting("FieldExternalSetting.DataType", model.DataType.ToString()); builder.WithSetting("FieldExternalSetting.AdditionalHeadersText", model.AdditionalHeadersText); builder.WithSetting("FieldExternalSetting.InternalHostNameForScheduledTask", model.InternalHostNameForScheduledTask); if (model.CertificatePrivateKey == "(none)") // empty private key { builder.WithSetting("FieldExternalSetting.CertificatePrivateKey", ""); } else if (!String.IsNullOrEmpty(model.CertificatePrivateKey)) //save new key { builder.WithSetting("FieldExternalSetting.CertificatePrivateKey", model.CertificatePrivateKey.EncryptString(_shellSettings.EncryptionKey)); } // otherwise keep private key untouched if (model.CertificateRequired) { string mobile_folder = HostingEnvironment.MapPath("~/") + @"App_Data\Sites\" + _shellSettings.Name + @"\ExternalFields\"; if (!System.IO.Directory.Exists(mobile_folder)) { System.IO.Directory.CreateDirectory(mobile_folder); } } } yield return(DefinitionTemplate(model)); }