public List<CustomizableFieldSearchResult> SelectCreatedEntites()
        {
            string sqlText = @"SELECT
                                 AdvancedFieldsEntities.id,
                                 AdvancedFieldsEntities.name,
                                 COUNT(AdvancedFieldsEntities.id) AS fields_number
                               FROM AdvancedFieldsEntities
                               INNER JOIN dbo.AdvancedFields ON dbo.AdvancedFieldsEntities.id = dbo.AdvancedFields.entity_id
                               GROUP BY
                                 AdvancedFieldsEntities.id,
                                 AdvancedFieldsEntities.name
                               ORDER BY dbo.AdvancedFieldsEntities.id";

            List<CustomizableFieldSearchResult> entities = new List<CustomizableFieldSearchResult>();
            using (SqlConnection conn = GetConnection())
            using (OpenCbsCommand cmd = new OpenCbsCommand(sqlText, conn))
            {
                using (OpenCbsReader reader = cmd.ExecuteReader())
                {
                    if (reader.Empty) return new List<CustomizableFieldSearchResult>();
                    while (reader.Read())
                    {
                        CustomizableFieldSearchResult result = new CustomizableFieldSearchResult();
                        result.EntityName = reader.GetString("name");
                        result.FieldsNumber = reader.GetInt("fields_number");
                        result.Fields = SelectFieldNamesForEntity(reader.GetInt("id"));
                        entities.Add(result);
                    }
                }
            }

            return entities;
        }
Esempio n. 2
0
        private void LoadFields()
        {
            List<CustomizableFieldSearchResult> results = new List<CustomizableFieldSearchResult>();

            List<CustomizableFieldSearchResult> entities = ServicesProvider.GetInstance().GetCustomizableFieldsServices().SelectCreatedEntites();
            foreach (var entity in entities)
            {
                CustomizableFieldSearchResult result = new CustomizableFieldSearchResult();
                result.EntityName = GetString("entity" + entity.EntityName);
                result.Fields = entity.Fields;
                result.FieldsNumber = entity.FieldsNumber;
                results.Add(result);
            }

            olvFieldGroups.Items.Clear();
            olvFieldGroups.SetObjects(results);
            CheckSelected();
        }