/// <summary> /// Adiciona um novo descritor. /// </summary> /// <param name="member"></param> /// <returns></returns> public global::Kendo.Mvc.UI.ModelFieldDescriptor AddDescriptor(string member) { var descriptor = Fields.FirstOrDefault(f => f.Member == member); if (descriptor != null) { return(descriptor); } descriptor = new global::Kendo.Mvc.UI.ModelFieldDescriptor { Member = member }; Fields.Add(descriptor); return(descriptor); }
/// <summary> /// Traduz os metadados. /// </summary> /// <param name="metadata"></param> /// <returns></returns> private IList <global::Kendo.Mvc.UI.ModelFieldDescriptor> Translate(System.Web.Mvc.ModelMetadata metadata) { var result = new List <global::Kendo.Mvc.UI.ModelFieldDescriptor>(); foreach (var i in metadata.Properties) { global::Kendo.Mvc.UI.ModelFieldDescriptor field = null; object item = null; if (i.AdditionalValues.TryGetValue("StateItem", out item)) { field = new CustomModelFieldDescriptor((Colosoft.Validation.IStatebleItem)item); } else { field = new global::Kendo.Mvc.UI.ModelFieldDescriptor(); } field.Member = i.PropertyName; field.MemberType = i.ModelType; field.IsEditable = !i.IsReadOnly; result.Add(field); } return(result); }