private void CreateDynamicColumnNameForDuplicateColumn(IGridSchemaContainer schema, ICollection <string> sameColumnNameDictionary) { var hasSameKey = _fluentGridSchemaRegistrator.Container .Where(toCheck => toCheck.UniqueId != schema.UniqueId) .Any(toCheck => toCheck.ModelPropetyNameToBind == schema.ModelPropetyNameToBind); var isFirstInstance = sameColumnNameDictionary.Any(toCheck => toCheck == schema.ModelPropetyNameToBind); //Create new keyName for grid to create dynamic column var suffix = hasSameKey && isFirstInstance?schema.Order.ToString(CultureInfo.InvariantCulture) : string.Empty; schema.ModelPropetyNameToBind = string.Format("{0}{1}", schema.ModelPropetyNameToBind, suffix); if (hasSameKey) { sameColumnNameDictionary.Add(schema.ModelPropetyNameToBind); } }
private void BuildGridSetting(IGridSettingDataBuilder gridSettingDataBuilder, IGridSchemaContainer schema) { gridSettingDataBuilder.EntityType(schema.ModelNamespace, schema.ModelName) .EntityProperties(schema.PrimaryKeyName, schema.ModelPropetyNameToBind) .SortOrder(schema.Order) .GridProperty(schema.GridName); }