Catalogue.Web.Controllers.Formats.FormatsController.Get C# (CSharp) Méthode

Get() public méthode

public Get ( string q ) : DataFormatGroupCollection
q string
Résultat DataFormatGroupCollection
        public DataFormatGroupCollection Get(string q)
        {
            // slightly weird projection - in order to filter out the formats (and groups)
            // we don't want, we have to query and then reproject into the correct static type

            if (q.IsNotBlank())
            {
                var query = from g in DataFormats.Known
                            from f in g.Formats
                            where g.Name.ToLowerInvariant().Contains(q)
                                     || f.Name.ToLowerInvariant().Contains(q)
                                     || f.Code.ToLowerInvariant().Contains(q)
                            group f by g into formats
                            select new DataFormatGroup
                            {

                                Name = formats.Key.Name,
                                Glyph = formats.Key.Glyph,
                                Formats = new DataFormatCollection(formats)
                            };

                return new DataFormatGroupCollection(query);
            }
            else
            {
                return DataFormats.Known;
            }
        }

Usage Example

Exemple #1
0
        public void should_return_correct_results_for_microsoft_query()
        {
            var c = new FormatsController();

            var result = c.Get("microsoft");

            result.SelectMany(g => g.Formats)
                .Should().OnlyContain(f => f.Name.ToLowerInvariant().Contains("microsoft"));
        }
All Usage Examples Of Catalogue.Web.Controllers.Formats.FormatsController::Get
FormatsController