Ejemplo n.º 1
0
        private static JqGridColumnModel CreateJqGridColumnModel(ModelMetadata columnMetadata)
        {
            JqGridColumnModel columnModel = new JqGridColumnModel(columnMetadata.PropertyName);

            TimestampAttribute             timeStampAttribute             = null;
            JqGridColumnLayoutAttribute    jqGridColumnLayoutAttribute    = null;
            JqGridColumnSortableAttribute  jqGridColumnSortableAttribute  = null;
            JqGridColumnFormatterAttribute jqGridColumnFormatterAttribute = null;
            JqGridColumnSummaryAttribute   jqGridColumnSummaryAttribute   = null;

            foreach (Attribute customAttribute in columnMetadata.ContainerType.GetProperty(columnMetadata.PropertyName).GetCustomAttributes(true))
            {
                timeStampAttribute             = (customAttribute as TimestampAttribute) ?? timeStampAttribute;
                jqGridColumnLayoutAttribute    = (customAttribute as JqGridColumnLayoutAttribute) ?? jqGridColumnLayoutAttribute;
                jqGridColumnSortableAttribute  = (customAttribute as JqGridColumnSortableAttribute) ?? jqGridColumnSortableAttribute;
                jqGridColumnFormatterAttribute = (customAttribute as JqGridColumnFormatterAttribute) ?? jqGridColumnFormatterAttribute;
                jqGridColumnSummaryAttribute   = (customAttribute as JqGridColumnSummaryAttribute) ?? jqGridColumnSummaryAttribute;
            }

            if (timeStampAttribute != null)
            {
            }
            else
            {
                columnModel = SetLayoutOptions(columnModel, jqGridColumnLayoutAttribute);
                columnModel = SetSortOptions(columnModel, jqGridColumnSortableAttribute);
                columnModel = SetFormatterOptions(columnModel, jqGridColumnFormatterAttribute);
                columnModel = SetSummaryOptions(columnModel, jqGridColumnSummaryAttribute);
            }

            return(columnModel);
        }
        private static JqGridColumnModel CreateJqGridColumnModel(ModelMetadata columnMetadata, IUrlHelper urlHelper)
        {
            JqGridColumnModel columnModel = new JqGridColumnModel(columnMetadata.PropertyName);

            TimestampAttribute              timeStampAttribute              = null;
            RangeAttribute                  rangeAttribute                  = null;
            RequiredAttribute               requiredAttribute               = null;
            JqGridColumnLayoutAttribute     jqGridColumnLayoutAttribute     = null;
            JqGridColumnSortableAttribute   jqGridColumnSortableAttribute   = null;
            JqGridColumnFormatterAttribute  jqGridColumnFormatterAttribute  = null;
            JqGridColumnSearchableAttribute jqGridColumnSearchableAttribute = null;
            JqGridColumnEditableAttribute   jqGridColumnEditableAttribute   = null;
            JqGridColumnSummaryAttribute    jqGridColumnSummaryAttribute    = null;
            JqGridColumnMappingAttribute    jqGridColumnMappingAttribute    = null;

            foreach (Attribute customAttribute in columnMetadata.ContainerType.GetProperty(columnMetadata.PropertyName).GetCustomAttributes(true))
            {
                timeStampAttribute              = (customAttribute as TimestampAttribute) ?? timeStampAttribute;
                rangeAttribute                  = (customAttribute as RangeAttribute) ?? rangeAttribute;
                requiredAttribute               = (customAttribute as RequiredAttribute) ?? requiredAttribute;
                jqGridColumnLayoutAttribute     = (customAttribute as JqGridColumnLayoutAttribute) ?? jqGridColumnLayoutAttribute;
                jqGridColumnSortableAttribute   = (customAttribute as JqGridColumnSortableAttribute) ?? jqGridColumnSortableAttribute;
                jqGridColumnFormatterAttribute  = (customAttribute as JqGridColumnFormatterAttribute) ?? jqGridColumnFormatterAttribute;
                jqGridColumnSearchableAttribute = (customAttribute as JqGridColumnSearchableAttribute) ?? jqGridColumnSearchableAttribute;
                jqGridColumnEditableAttribute   = (customAttribute as JqGridColumnEditableAttribute) ?? jqGridColumnEditableAttribute;
                jqGridColumnSummaryAttribute    = (customAttribute as JqGridColumnSummaryAttribute) ?? jqGridColumnSummaryAttribute;
                jqGridColumnMappingAttribute    = (customAttribute as JqGridColumnMappingAttribute) ?? jqGridColumnMappingAttribute;
            }

            if (timeStampAttribute != null)
            {
                columnModel.Editable = true;
                columnModel.Hidden   = true;
            }
            else
            {
                columnModel = SetLayoutOptions(columnModel, jqGridColumnLayoutAttribute);
                columnModel = SetSortOptions(columnModel, jqGridColumnSortableAttribute);
                columnModel = SetFormatterOptions(columnModel, jqGridColumnFormatterAttribute);
                columnModel = SetSearchOptions(columnModel, urlHelper, columnMetadata.ModelType, jqGridColumnSearchableAttribute, rangeAttribute);
                columnModel = SetEditOptions(columnModel, urlHelper, columnMetadata.ModelType, jqGridColumnEditableAttribute, rangeAttribute, requiredAttribute);
                columnModel = SetDatePickerDateFormatFromFormatter(columnModel, jqGridColumnFormatterAttribute);
                columnModel = SetSummaryOptions(columnModel, jqGridColumnSummaryAttribute);
                columnModel = SetMappingOptions(columnModel, jqGridColumnMappingAttribute);
            }

            return(columnModel);
        }
        private static JqGridColumnModel SetSortOptions(JqGridColumnModel columnModel, JqGridColumnSortableAttribute jqGridColumnSortableAttribute)
        {
            if (jqGridColumnSortableAttribute != null)
            {
                columnModel.Index = jqGridColumnSortableAttribute.Index;
                columnModel.InitialSortingOrder = jqGridColumnSortableAttribute.InitialSortingOrder;
                columnModel.Sortable            = jqGridColumnSortableAttribute.Sortable;
                columnModel.SortType            = jqGridColumnSortableAttribute.SortType;
                columnModel.SortFunction        = jqGridColumnSortableAttribute.SortFunction;
            }

            return(columnModel);
        }