/// <summary>
        ///     Convert a <see cref="StructuredQuery" /> to a <see cref="Report" />.
        /// </summary>
        /// <param name="structuredQuery">
        ///     The <see cref="StructuredQuery" /> to convert. This cannot be null.
        /// </param>
        /// <returns>
        ///     The converted report.
        /// </returns>
        /// <exception cref="ArgumentNullException">
        ///     <paramref name="structuredQuery" /> cannot be null.
        /// </exception>
        internal static Report ToReport(StructuredQuery structuredQuery)
        {
            if (structuredQuery == null)
            {
                throw new ArgumentNullException("structuredQuery");
            }

            Report report = ReportToEntityModelHelper.ConvertToEntity(structuredQuery);

            return(report);
        }
Example #2
0
        /// <summary>
        /// Convert a <see cref="StructuredQuery"/> to a <see cref="Report"/>.
        /// </summary>
        /// <param name="structuredQuery">
        /// The <see cref="StructuredQuery"/> to convert. This cannot be null.
        /// </param>
        /// <returns>
        /// The converted report.
        /// </returns>
        public static Report ToReport(this StructuredQuery structuredQuery)
        {
            if (structuredQuery == null)
            {
                throw new ArgumentNullException("structuredQuery");
            }

            // The structure query already has a report. Return it.
            if (structuredQuery.Report != null)
            {
                return(structuredQuery.Report);
            }

            Report report = ReportToEntityModelHelper.ConvertToEntity(structuredQuery);

            // Attach the report to the structured query.
            structuredQuery.Report = report;


            return(report);
        }
Example #3
0
        private SecurityTestData SetupSecurityTest(IEnumerable <Tuple <string, string> > nameAndDescription)
        {
            var testData = new SecurityTestData();

            // Create entity type
            var entityType = EntityModel.Entity.Create <EntityModel.EntityType>();

            entityType.Name = "TestType";
            entityType.Inherits.Add(EntityModel.Entity.Get <EntityModel.EntityType>("core:userResource"));
            entityType.Save();

            testData.EntityType = entityType;

            // Create entity instances
            foreach (var nameDesc in nameAndDescription)
            {
                EntityModel.IEntity entity = EntityModel.Entity.Create(entityType);
                entity.SetField("core:name", nameDesc.Item1);
                entity.SetField("core:description", nameDesc.Item2);

                entity.Save();

                testData.EntityInstances.Add(entity);
            }

            // Create query
            Guid resourceGuid    = Guid.NewGuid();
            var  structuredQuery = new StructuredQuery
            {
                RootEntity = new ResourceEntity
                {
                    EntityTypeId = entityType.Id,
                    ExactType    = false,
                    NodeId       = resourceGuid
                },
                SelectColumns = new List <SelectColumn>()
            };

            structuredQuery.SelectColumns.Add(new SelectColumn
            {
                Expression = new IdExpression {
                    NodeId = resourceGuid
                }
            });
            structuredQuery.SelectColumns.Add(new SelectColumn
            {
                Expression = new ResourceDataColumn
                {
                    NodeId  = resourceGuid,
                    FieldId = EntityModel.Entity.GetId("core:name")
                }
            });
            structuredQuery.SelectColumns.Add(new SelectColumn
            {
                Expression = new ResourceDataColumn
                {
                    NodeId  = resourceGuid,
                    FieldId = EntityModel.Entity.GetId("core:description")
                }
            });

            // Create report
            var report = ReportToEntityModelHelper.ConvertToEntity(structuredQuery);

            report.Save();
            testData.Report = report;

            // Create user
            var userAccount = new EntityModel.UserAccount();

            userAccount.Save();
            testData.UserAccount = userAccount;

            return(testData);
        }