public List <ContentFieldViewModel> GetFields(ApiCall call) { Guid FolderId = call.GetGuidValue("FolderId"); if (FolderId != default(Guid)) { var contenttype = call.WebSite.SiteDb().ContentTypes.GetByFolder(FolderId); List <ContentFieldViewModel> result = new List <ContentFieldViewModel>(); foreach (var item in contenttype.Properties) { if (item.Editable) { ContentFieldViewModel model = new ContentFieldViewModel(); model.Name = item.Name; model.Validations = item.Validations; model.ControlType = item.ControlType; model.ToolTip = item.Tooltip; model.Order = item.Order; // model.Value = content.GetValue(item.Name); model.IsMultilingual = item.MultipleLanguage; model.MultipleValue = item.MultipleValue; model.selectionOptions = item.selectionOptions; result.Add(model); } } return(result); } return(null); }
private List <ContentFieldViewModel> GetProperties(ApiCall call, Guid FolderId) { var culture = call.WebSite.DefaultCulture; List <ContentFieldViewModel> result = new List <ContentFieldViewModel>(); var contenttype = call.WebSite.SiteDb().ContentTypes.GetByFolder(FolderId); bool online = true; TextContent textcontentnew = null; if (call.ObjectId != default(Guid)) { textcontentnew = call.WebSite.SiteDb().TextContent.Get(call.ObjectId); online = textcontentnew.Online; } if (textcontentnew == null) { foreach (var item in contenttype.Properties) { if (item.Editable) { ContentFieldViewModel model = new ContentFieldViewModel(); model.Name = item.Name; model.DisplayName = item.DisplayName; model.Validations = item.Validations; model.ControlType = item.ControlType; model.ToolTip = item.Tooltip; model.Order = item.Order; if (item.MultipleLanguage) { foreach (var cultureitem in call.WebSite.Culture.Keys.ToList()) { model.Values.Add(cultureitem, ""); } } else { if (item.DataType == Data.Definition.DataTypes.Bool) { model.Values.Add(call.WebSite.DefaultCulture, "true"); } else { model.Values.Add(call.WebSite.DefaultCulture, ""); } } model.IsMultilingual = item.MultipleLanguage; model.selectionOptions = item.selectionOptions; model.MultipleValue = item.MultipleValue; result.Add(model); } } } else { foreach (var item in contenttype.Properties) { if (item.Editable) { ContentFieldViewModel model = new ContentFieldViewModel(); model.Name = item.Name; model.Validations = item.Validations; model.ControlType = item.ControlType; model.DisplayName = item.DisplayName; model.IsMultilingual = item.MultipleLanguage; model.ToolTip = item.Tooltip; model.Order = item.Order; model.selectionOptions = item.selectionOptions; model.MultipleValue = item.MultipleValue; if (item.MultipleLanguage) { foreach (var lang in textcontentnew.Contents) { var itemvalue = textcontentnew.GetValue(model.Name, lang.Lang); model.Values[lang.Lang] = itemvalue != null?itemvalue.ToString() : string.Empty; } foreach (var sitelang in call.WebSite.Culture.Keys.ToList()) { if (!model.Values.ContainsKey(sitelang)) { model.Values.Add(sitelang, ""); } } } else { var itemvalue = textcontentnew.GetValue(model.Name, culture); model.Values[culture] = itemvalue != null?itemvalue.ToString() : null; } result.Add(model); } } } var onlineitem = result.Find(o => o.Name.ToLower() == "online"); if (onlineitem != null) { result.Remove(onlineitem); onlineitem.ControlType = "boolean"; result.Add(onlineitem); } return(result); }