Example #1
0
        public static ContentLibraryResponseModel RequestContent(IbaCmsDbContext db, ContentLibraryRequestModel model)
        {
            var response = new ContentLibraryResponseModel();

            CheckTimedContent(db);
            var dbContent = db.ContentLibraries.Where(c => c.Status == ContentStatus.Active).OrderByDescending(c => c.Created).AsQueryable();

            response.TotalRecords = dbContent.Count();
            if (model.Start > 0)
            {
                dbContent = dbContent.Skip(model.Start);
            }
            if (model.Length <= 0)
            {
                model.Length = DefaultPageSize;
            }
            dbContent = dbContent.Take(model.Length);
            foreach (var content in dbContent)
            {
                var item = new ContentLibraryItemsResponseModel()
                {
                    Id           = content.Id,
                    ThumbnailUrl = content.ImageUrl ?? "",
                    Title        = content.Title,
                    Precis       = content.Precis ?? "",
                    ContentType  = content.ContentType,
                    Url          = content.Url,
                    Featured     = content.Featured,
                    CreatedDate  = content.Created.HasValue ? DateTime.SpecifyKind(content.Created.Value, DateTimeKind.Utc) : content.Created
                };
                response.Items.Add(item);
            }
            return(response);
        }
        public HttpResponseMessage Get([FromUri] ContentLibraryRequestModel model)
        {
            if (model == null)
            {
                model = new ContentLibraryRequestModel();
            }
            var access = UserRights.ViewContentLibrary(Db, Request);

            if (access.HasErrors)
            {
                return(Request.CreateErrorResponse(access.ErrorCode, access.ErrorMessage));
            }
            var result = ContentLibraryLayer.RequestContent(CmsDb, model);

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }