Example #1
0
        /// <summary>
        /// Returns MappedInTextAdvertCollection with distinct Tags
        /// </summary>
        MappedInTextAdvertCollection GetDistinctAds()
        {
            Map();
            var groupedCollection  = mapped.GroupBy(m => m.Tag);
            var distinctCollection = new MappedInTextAdvertCollection();

            foreach (var item in groupedCollection)
            {
                var index = new Random().Next(0, item.Count());

                distinctCollection.Add(item.ToArray()[index]);
            }
            return(distinctCollection);
        }
Example #2
0
        void Map()
        {
            var dataTable = new DataTable();

            using (var bridge = ParserPool.Acquire(Database.Client))
            {
                dataTable = bridge.Instance.ExecuteRawCommandToDataTable(GetSelectQueryQuery());
            }

            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                int    id          = dataTable.Rows[i].Field <int>("Id");
                string title       = dataTable.Rows[i].Field <string>("Title");
                string description = dataTable.Rows[i].Field <string>("Description");
                string tag         = dataTable.Rows[i].Field <string>("Tag").ToLower();
                var    result      = new MappedInTextAdvert(id, title, description, tag);
                mapped.Add(result);
            }
        }