Beispiel #1
0
        public async Task <List <VMInfoNews> > GetNews(string keyword, int numberRecords)
        {
            if (string.IsNullOrEmpty(keyword))
            {
                return(new List <VMInfoNews>());
            }
            var collectionHelper = new B_Collection();
            var collection       = await collectionHelper.ReadByName(keyword);

            if (collection == null)
            {
                return(new List <VMInfoNews>());
            }
            var contentHelper = new B_Content();
            var contents      = await contentHelper.Reads(collection.Id, 1);

            if (contents == null || !contents.Any())
            {
                return(new List <VMInfoNews>());
            }
            var imageHelper = new B_Image();
            var Images      = await imageHelper.ReadByIds(contents.Select(s => s.ImageId).ToList());

            var dataItems = contents.Join(Images,
                                          a => a.ImageId,
                                          b => b.Id,
                                          (a, b) => new { a, b })
                            .Select(s => new VMInfoNews()
            {
                id          = s.a.Id,
                image_url   = s.b.RelativeUrl + "/" + s.b.Name,
                name        = s.a.Title,
                description = s.a.Description,
                content     = s.a.Text,
                date        = s.a.CreatedAt.Date.ToString("dd/MM/yyyy"),
            })
                            .Take(numberRecords)
                            .ToList();

            if (dataItems == null || !dataItems.Any())
            {
                return(new List <VMInfoNews>());
            }
            return(dataItems);
        }