示例#1
0
        protected TreeNode CreateEntityTreeNode(FluidityCollectionConfig collection, object entity, FormDataCollection queryStrings)
        {
            var itemId      = entity.GetPropertyValue(collection.IdProperty);
            var compositeId = collection.Alias + "!" + itemId;

            var entityName = collection.NameProperty != null?entity.GetPropertyValue(collection.NameProperty).ToString()
                                 : collection.NameFormat != null?collection.NameFormat(entity) : entity.ToString();

            var node = CreateTreeNode(
                compositeId,
                collection.Alias,
                queryStrings,
                entityName,
                collection.IconSingular,
                false,
                SectionAlias + "/fluidity/edit/" + compositeId);

            if (!collection.IconColor.IsNullOrWhiteSpace())
            {
                node.SetColorStyle(collection.IconColor);
            }

            node.Path = collection.Path + FluidityConstants.PATH_SEPERATOR + compositeId;
            node.AdditionalData.AddOrUpdate("entityId", itemId);

            return(node);
        }
        protected TreeNode CreateEntityTreeNode(FluidityCollectionConfig collection, object entity, FormDataCollection queryStrings)
        {
            var itemId      = entity.GetPropertyValue(collection.IdProperty);
            var compositeId = collection.Alias + "!" + itemId;

            var entityName = collection.NameProperty != null?entity.GetPropertyValue(collection.NameProperty).ToString()
                                 : collection.NameFormat != null?collection.NameFormat(entity) : entity.ToString();

            var node = CreateTreeNode(
                compositeId,
                collection.Alias,
                queryStrings,
                entityName,
                collection.IconSingular,
                false,
                SectionAlias + "/fluidity/edit/" + compositeId);

            if (!collection.IconColor.IsNullOrWhiteSpace())
            {
                node.SetColorStyle(collection.IconColor);
            }

            node.Path = collection.Path + FluidityConstants.PATH_SEPERATOR + compositeId;
            node.AdditionalData.AddOrUpdate("entityId", itemId);
            node.AdditionalData.AddOrUpdate("collectionAlias", collection.Alias);
            node.AdditionalData.AddOrUpdate("sectionAlias", SectionAlias);
            node.AdditionalData.AddOrUpdate("dashboardRoute", collection.ViewMode == FluidityViewMode.Tree
                ? SectionAlias                                          // Tree mode so just show the default dashboard
                : SectionAlias + "/fluidity/list/" + collection.Alias); // List view so show the list

            return(node);
        }
示例#3
0
        public FluidityEntityDisplayModel ToDisplayModel(FluiditySectionConfig section, FluidityCollectionConfig collection, object entity)
        {
            var entityId          = entity?.GetPropertyValue(collection.IdProperty);
            var entityCompositeId = entityId != null
                ? collection.Alias + "!" + entityId
                : null;

            var name = "";

            if (collection.NameProperty != null)
            {
                name = entity.GetPropertyValue(collection.NameProperty).ToString();
            }
            else if (collection.NameFormat != null)
            {
                name = collection.NameFormat(entity);
            }
            else
            {
                name = entity?.ToString();
            }

            var display = new FluidityEntityDisplayModel
            {
                Id         = entity?.GetPropertyValue(collection.IdProperty),
                Name       = name,
                Icon       = collection.IconSingular + (collection.IconColor != null ? " color-" + collection.IconColor : ""),
                Section    = section.Alias,
                Tree       = section.Tree.Alias,
                Collection = collection.Alias,
                CreateDate = entity != null && collection.DateCreatedProperty != null ? (DateTime)entity.GetPropertyValue(collection.DateCreatedProperty) : DateTime.MinValue,
                UpdateDate = entity != null && collection.DateModifiedProperty != null ? (DateTime)entity.GetPropertyValue(collection.DateModifiedProperty) : DateTime.MinValue,
                EditPath   = $"{section.Alias}/fluidity/edit/{entityCompositeId}",
            };

            if (collection.ListView != null)
            {
                var properties = new List <ContentPropertyBasic>();

                foreach (var field in collection.ListView.Fields)
                {
                    var value = entity?.GetPropertyValue(field.Property);

                    var encryptedProp = collection.EncryptedProperties?.FirstOrDefault(x => x.Name == field.Property.Name);
                    if (encryptedProp != null)
                    {
                        value = SecurityHelper.Decrypt(value.ToString());
                    }

                    if (field.Format != null)
                    {
                        value = field.Format(value, entity);
                    }

                    var propertyScaffold = new ContentPropertyBasic
                    {
                        Id    = properties.Count,
                        Alias = field.Property.Name,
                        Value = value?.ToString()
                    };

                    properties.Add(propertyScaffold);
                }

                display.Properties = properties;
            }

            return(display);
        }