Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }