/// <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); }
/// <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); }
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); }