Exemplo n.º 1
0
        public static IEnumerable <T> GetModels <T>(this SharedLinkPost model, Func <T, bool> where = null, Func <T, int> orderBy = null, bool asc = true) where T : ISharedLink
        {
            if (where == null)
            {
                where = b => b.Displayed;
            }
            if (orderBy == null)
            {
                orderBy = b => b.DisplayOrder;
            }
            var query = model.Models.Where(b => where ((T)b)).Select(b => (T)b);

            if (asc)
            {
                return(query.OrderBy(orderBy));
            }
            return(query.OrderByDescending(orderBy));
        }
Exemplo n.º 2
0
        public static SharedLinkPost GetSharedLinkPost(this ContentProperty model, int?lang = null)
        {
            var type       = model.RelatedType;
            var allowChild = type.GetCustomAttribute <AllowChildrenAttribute>();
            var header     = allowChild?.TableList ?? Enumerable.Empty <string>();
            var image      = allowChild?.TableList ?? Enumerable.Empty <string>();
            var models     = PassModeConvert.GetSharedLinks(type, lang, model.IsSingleRecord, model.IsLinkedRecord, model.ModelId);
            var result     = new SharedLinkPost
            {
                Headers      = header,
                Images       = image,
                Models       = models,
                Lang         = lang,
                TypeName     = type?.FullName,
                AssemblyName = type?.Assembly.FullName,
                IsRelated    = model.IsLinkedRecord,
                RelatedId    = model.ModelId,
                View         = new SharedLinkView(Newtonsoft.Json.JsonConvert.SerializeObject(models), model.Key)
            };

            return(result);
        }