public Schema ImportDbml(Stream stream) { if(stream == null) throw new ArgumentNullException("stream"); var typeToTableMapping = new Dictionary<string, ITableDefinition>(); var document = new XmlDocument(); document.Load(stream); var schema = new Schema(); foreach(XmlNode tableNode in document.SelectNodes("dbml:Database/dbml:Table", namespaceManager)) { var name = tableNode.Attributes["Name"].Value.Split('.'); ISchemaDefinition schemaDefinition = schema.GetSchema(name[0]);// new SchemaDefinition(name[0]); var tableDefinition = new TableDefinition(name[1], schemaDefinition); schema.AddSchema(schemaDefinition); //schemaDefinition. //Console.WriteLine(tableNode.Name); } // foreach return schema; }
public void Create(TableDefinition def) { if (def.ColumnDefinitions.FindAll(x => x.IsPrimaryKey).Count != 1) { // TODO do we allow 0 primary keys? throw new EseException("Ensure one primary key is defined for the table"); } using (var transaction = new Transaction(connection.session)) { JET_TABLEID tableid; Api.JetCreateTable(connection.session, connection.dbid, def.TableName, 16, 100, out tableid); foreach (var column in def.ColumnDefinitions) { AddColumn(tableid, column); } foreach (var item in def.Indexes) { // all indexes are ascending var indexName = string.Join("|", item.ToArray()); var indexDef = "+" + string.Join("\0+", item.ToArray()) + "\0\0"; Api.JetCreateIndex(connection.session, tableid, indexName, CreateIndexGrbit.IndexSortNullsHigh, indexDef, indexDef.Length, 100); } transaction.Commit(CommitTransactionGrbit.LazyFlush); } }
public void GivenTheTableIsCreatedInTheSchema(string tableName, string schemaName, Table table) { var tableActions = new TableActions(database.ConnectionString); var def = new TableDefinition(new DatabaseObjectName(schemaName, tableName)); def.Columns.AddFromRaw(table.CreateSet<ColumnDefinitionRaw>()); tableActions.Create(def); }
public void TableDefinitionToCSharp() { var table = new TableDefinition(DatabaseObjectName.FromName("table1"), new ColumnDefinition[] { new IntegerColumnDefinition("c1", SqlDbType.Int) { AllowNulls = true }, new StandardColumnDefinition("c2", SqlDbType.DateTime2) { AllowNulls = false }, new StringColumnDefinition("c3", SqlDbType.VarChar) { AllowNulls = false, Size = 100 }, new DecimalColumnDefinition("c4") { AllowNulls = false, Precision = 10, Scale = 2 }, new IntegerColumnDefinition("c5", SqlDbType.Int) { IdentitySeed = 1 }, new BinaryColumnDefinition("c6", SqlDbType.VarBinary) { AllowNulls = true, Size = 1000 }, }); string actual = table.ToCSharp(); string expected = @"var table = new TableDefinition(DatabaseObjectName.FromName(""[dbo].[table1]""), new ColumnDefinition[] { new IntegerColumnDefinition(""c1"", SqlDbType.Int) { AllowNulls = true }, new StandardColumnDefinition(""c2"", SqlDbType.DateTime2) { AllowNulls = false }, new StringColumnDefinition(""c3"", SqlDbType.VarChar) { AllowNulls = false, Size = 100 }, new DecimalColumnDefinition(""c4"") { AllowNulls = false, Precision = 10, Scale = 2 }, new IntegerColumnDefinition(""c5"", SqlDbType.Int) { AllowNulls = false, IdentitySeed = 1 }, new BinaryColumnDefinition(""c6"", SqlDbType.VarBinary) { AllowNulls = true, Size = 1000 }, });"; // GitHub stores this source file with \n line breaks not \r\n so update it to use the windows format expected = expected.Replace("\n", Environment.NewLine); Assert.AreEqual(expected, actual); }
public void ThenTheDefinitionOfViewShouldMatchSystemTablesDefinition(string viewName, Table table) { var definition = new TableDefinition(viewName); definition.Columns.AddFromRaw(table.CreateSet<ColumnDefinitionRaw>()); var checker = new ViewCheck(database.ConnectionString); checker.VerifyMatch(definition, TableDefinitionInterrogationStrategyType.SystemTables); }
public void EditFieldsTest() { const string fieldName1 = "field1"; const ColumnTypes fieldType1 = ColumnTypes.String; const string fieldName2 = "field2"; const ColumnTypes fieldType2 = ColumnTypes.Numeric; Collection<FieldDefinition> fields = null; var parentTD = new TableDefinition("Parent Table Definition"); var td = new TableDefinition("Test Table Definition"); td.AddField(fieldName1, fieldType1); td.AddField(fieldName2, fieldType2, parentTD); Assert.AreEqual(td[fieldName1].ColumnType, fieldType1); Assert.AreEqual(td[fieldName2].ColumnType, fieldType2); fields = td.GetFields(); Assert.AreEqual(fields.Count, 2); td.RemoveField(fields.FirstOrDefault(f => f.SystemName.Equals(fieldName1))); fields = td.GetFields(); Assert.AreEqual(fields.Count, 1); Assert.AreEqual(fields[0].ColumnType, fieldType2); }
public void WhenTheTable_BackedViewIsCreated(string viewName, Table table) { var definition = new TableDefinition("tbl" + viewName); definition.Columns.AddFromRaw(table.CreateSet<ColumnDefinitionRaw>()); definition.CreateOrReplace(database); definition.CreateView(database, viewName); }
public void GetPrefixedFieldListShouldIncludeOnlyInResultFileColumns() { var stub = new SearchQueryGeneratorStub(); var rootTable = new TableDefinition("test"); stub.RootTable = rootTable; rootTable.AddField("File", ColumnTypes.File); Assert.IsTrue(stub.GetPrefixedFieldListPublic(0, true).Contains("[File]")); Assert.IsTrue(stub.GetPrefixedFieldListPublic(0, true).Contains("[FileUrl]")); stub.ResultColumns.Add("None"); stub.LimitResultColumns = true; Assert.IsFalse(stub.GetPrefixedFieldListPublic(0, true).Contains("[File]")); Assert.IsFalse(stub.GetPrefixedFieldListPublic(0, true).Contains("[FileUrl]")); stub.ResultColumns.Add("FileUrl"); Assert.IsFalse(stub.GetPrefixedFieldListPublic(0, true).Contains("[File]")); Assert.IsTrue(stub.GetPrefixedFieldListPublic(0, true).Contains("[FileUrl]")); stub.ResultColumns.Add("File"); Assert.IsTrue(stub.GetPrefixedFieldListPublic(0, true).Contains("[File]")); Assert.IsTrue(stub.GetPrefixedFieldListPublic(0, true).Contains("[FileUrl]")); }
public void Create(TableDefinition definition) { using (var connection = new SqlConnection(connectionString)) { connection.Execute(new TableCreateSqlGenerator().Sql(definition)); } }
/// <summary> /// Visits the given <paramref name="addTableNode"/>. /// </summary> /// <param name="addTableNode"></param> public override void Visit(IAddTableNode addTableNode) { // // Create TableDefinition for the IAddTableNode we have TableDefinition table = new TableDefinition(addTableNode.Name); Environment.Schema.AddTable(table); base.Visit(addTableNode); }
public void AddTable() { Schema schema = new Schema(); TableDefinition table = new TableDefinition("Foo"); schema.AddTable(table); Assert.AreSame(table, schema.Tables[0]); }
public void AddColumn() { ITableDefinition table = new TableDefinition("Foo"); IColumnDefinition column = new ColumnDefinition("ID"); table.AddColumn(column); Assert.AreSame(column, table.Columns[0]); Assert.AreEqual(table.Name, column.Table); }
public void GetFieldReturnsRootTableField() { // Arrange. var rootTable = new TableDefinition("TestTable"); var field = rootTable.AddField("TestField", ColumnTypes.String); var processDefinition = new ProcessDefinition(); processDefinition.TableList.Add(rootTable); // Act. Assert.AreSame(field, processDefinition.GetField("TestField")); }
public void GetFieldReturnsSingleCrossReferenceField() { // Arrange. var rootTable = new TableDefinition("TestTable"); var processDefinition = new ProcessDefinition(); processDefinition.TableList.Add(rootTable); var field = new ReferenceFieldDefinition { SystemName = "TestField" }; processDefinition.SingleCrossReferenceFields.Add(field); // Act / Assert. Assert.AreSame(field, processDefinition.GetField("TestField")); }
public void Execute(IDbPlatform platform, IRefactorNode refactorNode, Environment environment) { string auditTableName = AstNodePropertyUtil.AsString(refactorNode.Properties["audit-table"].Value); string tableName = AstNodePropertyUtil.AsString(refactorNode.Properties["table"].Value); // // We only need columns here ITableDefinition tableDefinition = environment.Schema.GetTable(tableName); ITableDefinition auditTable = new TableDefinition(auditTableName); foreach(ColumnDefinition column in tableDefinition.Columns) { // // Keep name and type only. IColumnDefinition auditColumn = new ColumnDefinition(column.Name); // // Special handling for rowversion if(column.Type == DbType.Time) { auditColumn.Length = 8; auditColumn.Type = DbType.Binary; } // if else { auditColumn.Length = column.Length; auditColumn.Type = column.Type; } // else auditColumn.Nullable = true; auditTable.AddColumn(auditColumn); } // foreach environment.Schema.AddTable(auditTable); // // Now build an AST IAddTableNode addAuditTableNode = new AddTableNode(refactorNode.Parent, auditTableName); foreach(IColumnDefinition auditColumn in auditTable.Columns) { IAddColumnNode addAuditColumnNode = new AddColumnNode(addAuditTableNode, auditColumn.Name); addAuditColumnNode.Type = auditColumn.Type; addAuditColumnNode.Length = auditColumn.Length; addAuditColumnNode.Nullable = auditColumn.Nullable; addAuditTableNode.ChildNodes.Add(addAuditColumnNode); } // foreach addAuditTableNode.Parent.ChildNodes.Add(addAuditTableNode); }
/// <summary> /// Generates a column altering SQL command and executes it. /// </summary> /// <param name="tableDefinition">Table definition for the table to modify.</param> /// <param name="columnDefinition">Column definition for the column to modify.</param> /// <param name="sqlType">New column type.</param> /// <param name="sqlPrecision">New column precision.</param> protected override void AlterColumn(TableDefinition tableDefinition, ColumnDefinition columnDefinition, ColumnType sqlType, int sqlPrecision) { string tableName = tableDefinition.Name; string columnName = columnDefinition.Name; if (columnDefinition.Committed) { if (sqlType == columnDefinition.SqlType) { //Log.WriteInfo("Altering column precision.\nTable: {0}\nColumn: {1}", tableName, columnName); string commandText = string.Format("ALTER TABLE [dbo].[{0}] ALTER COLUMN [{1}] {2} NULL", tableName, columnName, ConvertToString(sqlType, sqlPrecision)); ExecuteNonQuery(commandText); } else { //Log.WriteInfo("Altering column type.\nTable: {0}\nColumn: {1}", tableName, columnName); string commandText; string typeAndPrecision = ConvertToString(sqlType, sqlPrecision); commandText = string.Format("SELECT [_id], [{0}] INTO #temp FROM [dbo].[{1}]", columnName, tableName); ExecuteNonQuery(commandText); commandText = string.Format("ALTER TABLE [dbo].[{0}] DROP COLUMN [{1}]", tableName, columnName); ExecuteNonQuery(commandText); commandText = string.Format("ALTER TABLE [dbo].[{0}] ADD [{1}] {2} NULL", tableName, columnName, typeAndPrecision); ExecuteNonQuery(commandText); commandText = string.Format("UPDATE [dbo].[{0}] SET [dbo].[{0}].[{1}] = CONVERT({2}, [#temp].[{1}]) FROM #temp WHERE [#temp].[_id] = [dbo].[{0}].[_id]", tableName, columnName, typeAndPrecision); ExecuteNonQuery(commandText); commandText = string.Format("DROP TABLE #temp"); ExecuteNonQuery(commandText); } } else if (tableDefinition.Committed) { //Log.WriteInfo("Adding column.\nTable: {0}\nColumn: {1}", tableName, columnName); string commandText = string.Format("ALTER TABLE [dbo].[{0}] ADD [{1}] {2} NULL", tableName, columnName, ConvertToString(sqlType, sqlPrecision)); ExecuteNonQuery(commandText); columnDefinition.Committed = true; } columnDefinition.SqlType = sqlType; columnDefinition.SqlPrecision = sqlPrecision; }
public void GetPrimaryKeyColumns() { TableDefinition table = new TableDefinition(); table.AddColumn(new ColumnDefinition("Foo")); table.AddColumn(new ColumnDefinition("ID")); table.AddColumn(new ColumnDefinition("Bar")); Assert.IsNull(table.GetPrimaryKeyColumns()); table.Columns[1].PrimaryKey = true; Assert.AreSame(table.Columns[1], table.GetPrimaryKeyColumns()[0]); }
public void GetColumn() { TableDefinition table = new TableDefinition("Qux"); table.AddColumn(new ColumnDefinition("Foo")); table.AddColumn(new ColumnDefinition("bAr")); Assert.AreSame(table.Columns[0], table.GetColumn("Foo")); Assert.AreSame(table.Columns[0], table.GetColumn("foo")); Assert.AreSame(table.Columns[1], table.GetColumn("Bar")); Assert.AreSame(table.Columns[1], table.GetColumn("BAR")); Assert.IsNull(table.GetColumn("ID")); }
public void GetFieldReturnsIdField() { // Arrange. var processDefinition = new ProcessDefinition(); var rootTable = new TableDefinition("TestTable"); processDefinition.TableList.Add(rootTable); // Act. var field = processDefinition.GetField(Constants.IdColumnName); // Assert. Assert.IsNotNull(field); Assert.AreEqual(Constants.IdColumnName, field.SystemName); Assert.AreEqual(ColumnTypes.Integer, field.ColumnType); Assert.AreSame("TestTable", field.GetTableName()); }
public void RemoveColumn() { TableDefinition table = new TableDefinition("Qux"); table.AddColumn(new ColumnDefinition("Foo")); table.AddColumn(new ColumnDefinition("bAr")); table.RemoveColumn("foo"); Assert.AreEqual(1, table.Columns.Count); table.RemoveColumn("baz"); Assert.AreEqual(1, table.Columns.Count); table.RemoveColumn("BAR"); Assert.AreEqual(0, table.Columns.Count); }
private static string TableString(TableDefinition table) { string alias = table.GetAliasName(); string name = table.GetName(); StringBuilder sb = new StringBuilder(); sb.AppendLine(string.Format("{0} ({1})", alias.Length > 0 ? alias : name, name)); sb.Append(new string('-', 80)); foreach (var fld in table.GetFields()) { sb.Append(string.Format("{0,-20}", fld.AliasName ?? fld.Name)); sb.Append(string.Format("{0,-14} ({1}) ", fld.FieldType.ToString(), fld.Length)); if (fld.IsNullable || fld.IsRequired) { string sep = fld.IsNullable && fld.IsRequired ? ", " : ""; sb.Append(string.Format("({0}{1}{2})", fld.IsNullable ? "Null" : "", sep, fld.IsRequired ? "Required" : "")); } sb.Append("\r\n"); } sb.Append("\r\n"); return sb.ToString(); }
public void TestFixtureSetUp() { schema = new Schema(); TableDefinition barTable = new TableDefinition("Bar"); barTable.AddColumn(new ColumnDefinition("ID", "Bar", DbType.Int32, false, null, null, null, true, false)); barTable.AddColumn(new ColumnDefinition("Name", DbType.String, false, 1000, null, null)); barTable.AddColumn(new ColumnDefinition("ParentID", DbType.Int32, true, null, null, null)); uqNameIndex = new IndexDefinition("UQ_Name", new IndexColumnDefinition("Name", SortDirection.Ascending)); uqNameIndex.Unique = true; uqNameIndex.Clustered = true; barTable.AddIndex(uqNameIndex); ReferenceDefinition fkBarReference = new ReferenceDefinition("FK_Bar", "Bar", "Bar"); fkBarReference.PkColumns.Add("ID"); fkBarReference.FkColumns.Add("ParentID"); schema.AddTable(barTable); }
public void GetColumnNameTest() { // Arrange. var frenchCulture = new CultureInfo("fr-FR"); var spanishCulture = new CultureInfo("es-ES"); var table = new TableDefinition("TestTable"); table.SupportedLocalizations.Add(new LocalizationInfoAttribute(Constants.DefaultCultureName)); table.SupportedLocalizations.Add(new LocalizationInfoAttribute(frenchCulture.Name)); var simpleField = new FieldDefinition("Field1", ColumnTypes.String, table, null); var localizedField = new FieldDefinition("Field2", ColumnTypes.String, table, null, allowLocalizedData: true); // Act / Assert. Assert.AreEqual("Field1", simpleField.GetColumnName(Constants.DefaultCultureName)); Assert.AreEqual("Field1", simpleField.GetColumnName(frenchCulture.Name)); Assert.AreEqual("Field1", simpleField.GetColumnName(spanishCulture.Name)); Assert.AreEqual("Field2", localizedField.GetColumnName(Constants.DefaultCultureName)); Assert.AreEqual("Field2_fr_FR", localizedField.GetColumnName(frenchCulture.Name)); Assert.AreEqual("Field2", localizedField.GetColumnName(spanishCulture.Name)); }
public void AddFiltersAndReplacePredefinedValuesTests() { // arrange const string columnSystemName = "CreatedBy"; const string userFullName = "James Bond"; var sourceFilterList = new List<IFilterDescriptor> { new FilterDescriptor(LogicalOperators.And, new MobileObservableCollection<IFilterDescriptor>()) { ColumnName = columnSystemName, Value = new FilterValue { DisplayName = "Current User", SystemName = "user", Type = FilterValueType.SystemVariable } } }; var destinationFilterList = new List<IFilterDescriptor>(); var queryGenerator = new SearchQueryGenerator(); var tb = new TableDefinition(columnSystemName); tb.AddField(columnSystemName, ColumnTypes.String); queryGenerator.RootTable = tb; var identityMock = Mock.Create<IMQ1Identity>(); var principalMock = Mock.Create<IPrincipal>(); Mock.Arrange(() => principalMock.Identity).Returns(identityMock); Mock.Arrange(() => identityMock.FullName).Returns(userFullName); Csla.ApplicationContext.User = principalMock; // act QueryGeneratorExtensions.AddFilters(sourceFilterList, destinationFilterList, tb, queryGenerator); // assert Assert.AreEqual(userFullName, destinationFilterList.First().Value); }
/// <summary> /// Adds the filters. /// </summary> /// <param name="sourceFilterList">The source filter list.</param> /// <param name="destinationFilterList">The destination filter list.</param> /// <param name="rootTable">The root table.</param> /// <param name="queryGenerator">The query generator.</param> public static void AddFilters(IEnumerable<IFilterDescriptor> sourceFilterList, IList<IFilterDescriptor> destinationFilterList, TableDefinition rootTable, SearchQueryGenerator queryGenerator) { if (sourceFilterList == null || destinationFilterList == null || queryGenerator == null) return; foreach (var filter in sourceFilterList) { if (filter.FilterDescriptors != null && filter.FilterDescriptors.Count > 0) { var list = new List<IFilterDescriptor>(); destinationFilterList.Add(new SharedTypes.QueryGenerator.FilterDescriptor(filter.LogicalOperator, list)); AddFilters(filter.FilterDescriptors, list, rootTable, queryGenerator); } else { var column = queryGenerator.FindColumn(filter.ColumnName, true, false); if (column != null) destinationFilterList.Add(new SharedTypes.QueryGenerator.FilterDescriptor(column, filter.ColumnName, filter.Operator, filter.Value, filter.MemberType)); else { if (!string.IsNullOrWhiteSpace(filter.ColumnName)) if (filter.ColumnName.Contains('.')) { var parts = filter.ColumnName.Split('.'); if (parts.Count() < 3) return; var t = new TableDefinition(parts[0]); t.AddField(parts[1], ColumnTypes.Reference); queryGenerator.AddBaseTable(t); } else destinationFilterList.Add(new SharedTypes.QueryGenerator.FilterDescriptor(filter.ColumnName, filter.ColumnName, filter.Operator, filter.Value, filter.MemberType)); } } } }
public TableDefinition GetTableDefinition(DatabaseObjectName viewName) { var mapper = new SchemaRowToColumnMapper(); var viewDefinition = new TableDefinition(viewName); using (SqlConnection connection = new SqlConnection(connectionString)) { using (SqlCommand command = connection.CreateCommand()) { command.CommandText = string.Format(TableDefinitionQuery, viewName.Qualified); connection.Open(); using (var reader = command.ExecuteReader()) { foreach (DataRow row in reader.GetSchemaTable().Rows) { viewDefinition.Columns.Add(mapper.ToColumnDefinition(row)); } } } } return viewDefinition; }
/// <summary> /// Generates a column altering SQL command and executes it. /// </summary> /// <param name="tableDefinition">Table definition for the table to modify.</param> /// <param name="columnDefinition">Column definition for the column to modify.</param> /// <param name="sqlType">New column type.</param> /// <param name="sqlPrecision">New column precision.</param> protected override void AlterColumn(TableDefinition tableDefinition, ColumnDefinition columnDefinition, ColumnType sqlType, int sqlPrecision) { string tableName = tableDefinition.Name; string columnName = columnDefinition.Name; if (columnDefinition.Committed) { string commandText = string.Format("ALTER TABLE `{0}` CHANGE COLUMN `{1}` `{1}` {2} NULL", tableName, columnName, ConvertToString(sqlType, sqlPrecision)); ExecuteNonQuery(commandText); } else if (tableDefinition.Committed) { //Log.WriteInfo("Adding column.\nTable: {0}\nColumn: {1}", tableName, columnName); string commandText = string.Format("ALTER TABLE `{0}` ADD `{1}` {2} NULL", tableName, columnName, ConvertToString(sqlType, sqlPrecision)); ExecuteNonQuery(commandText); columnDefinition.Committed = true; } columnDefinition.SqlType = sqlType; columnDefinition.SqlPrecision = sqlPrecision; }
public void CloneTest() { const string fieldName1 = "field1"; const ColumnTypes fieldType1 = ColumnTypes.String; const string fieldName2 = "field2"; const ColumnTypes fieldType2 = ColumnTypes.Numeric; Collection<FieldDefinition> fields = null; const string tableName = "Test Table Definition"; const string tablePrefix = "prefix"; const string parentTableName = "Parent Table Definition"; const string parentTablePrefix = "parentPrefix"; var parentTD = new TableDefinition(parentTableName) { Prefix = parentTablePrefix}; var td = new TableDefinition(tableName) {BaseTable = parentTD, Prefix = tablePrefix}; td.AddField(fieldName1, fieldType1); td.AddField(fieldName2, fieldType2, parentTD); var clone = td.Clone(); Assert.AreEqual(td.GetFields(), clone.GetFields()); Assert.AreEqual(td.Name, clone.Name); Assert.AreEqual(td.Prefix, clone.Prefix); Assert.AreEqual(td.BaseTable.Name, clone.BaseTable.Name); Assert.AreEqual(td.BaseTable.GetFields(), clone.BaseTable.GetFields()); Assert.AreEqual(td.BaseTable.Prefix, clone.BaseTable.Prefix); fields = clone.GetFields(); Assert.AreEqual(fields.Count, 2); Assert.IsTrue(fields.Any(f => f.SystemName.Equals(fieldName1))); Assert.IsTrue(fields.Any(f => f.SystemName.Equals(fieldName2))); var fieldWithParent = fields.FirstOrDefault(f => f.SystemName.Equals(fieldName2)); Assert.IsTrue(fieldWithParent != null && fieldWithParent.ParentTable != null); Assert.AreEqual(fieldWithParent.ParentTable.Name, parentTableName); }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { string prevSnapshotLabel = string.Empty; BusinessCriteriaDTO prevSnapshotBCResult = null; if (reportData?.CurrentSnapshot == null) { return(null); } string currSnapshotLabel = SnapshotUtility.GetSnapshotVersionNumber(reportData.CurrentSnapshot); BusinessCriteriaDTO _currSnapshotBcdto = BusinessCriteriaUtility.GetBusinessCriteriaGradesSnapshot(reportData.CurrentSnapshot, true); if (reportData.PreviousSnapshot != null) { prevSnapshotLabel = SnapshotUtility.GetSnapshotVersionNumber(reportData.PreviousSnapshot); prevSnapshotBCResult = BusinessCriteriaUtility.GetBusinessCriteriaGradesSnapshot(reportData.PreviousSnapshot, true); } else { Snapshot _previousSnapshot = reportData.Application.Snapshots?.FirstOrDefault(_ => _.Annotation.Date.DateSnapShot < reportData.CurrentSnapshot.Annotation.Date.DateSnapShot); if (_previousSnapshot != null) { prevSnapshotLabel = SnapshotUtility.GetSnapshotVersionNumber(_previousSnapshot); prevSnapshotBCResult = BusinessCriteriaUtility.GetBusinessCriteriaGradesSnapshot(_previousSnapshot, true); } } var rowData = new List <string> { null, currSnapshotLabel }; if (prevSnapshotBCResult != null) { rowData.Add(prevSnapshotLabel ?? Constants.No_Value); } #region Programming Practices rowData.Add(Labels.Prog); rowData.Add(_currSnapshotBcdto.ProgrammingPractices.ToString()); if (prevSnapshotBCResult != null) { rowData.Add(prevSnapshotBCResult.ProgrammingPractices.ToString()); } #endregion Programming Practices #region Architectural Design rowData.Add(Labels.Arch); rowData.Add(_currSnapshotBcdto.ArchitecturalDesign.ToString()); if (prevSnapshotBCResult != null) { rowData.Add(prevSnapshotBCResult.ArchitecturalDesign.ToString()); } #endregion Architectural Design #region Documentation rowData.Add(Labels.Doc); rowData.Add(_currSnapshotBcdto.Documentation.ToString()); if (prevSnapshotBCResult != null) { rowData.Add(prevSnapshotBCResult.Documentation.ToString()); } #endregion Documentation TableDefinition resultTable = new TableDefinition { HasRowHeaders = true, HasColumnHeaders = true, NbRows = 4, NbColumns = (prevSnapshotBCResult != null) ? 3 : 2, Data = rowData }; return(resultTable); }
public TableDetailDesignatorStructSubform(TableDetailDesignator SourceDesignator, FrameworkElement AssociatedImportWidget = null, bool DirectApply = false) : this() { this.SourceDesignator = SourceDesignator; this.AssociatedImportWidget = AssociatedImportWidget; this.DirectApply = DirectApply; this.PnlButtons.SetVisible(DirectApply); // Clone for detect changes this.InitialTableDefinitionClone = (this.SourceDesignator.DeclaringTableDefinition == null ? null : this.SourceDesignator.DeclaringTableDefinition.CreateClone(ECloneOperationScope.DeepAndEquivalent, null)); this.RelatedDomain = this.SourceDesignator.OwnerDomain; this.AvailabeTableStructures = this.RelatedDomain.TableDefinitions.Where(tdef => tdef.Alterability != EAlterability.System);; if (this.SourceDesignator.TableDefIsOwned) { this.OwnedTableDefinition = this.SourceDesignator.DeclaringTableDefinition; } if (this.OwnedTableDefinition == null) { var LocalName = this.SourceDesignator.AssignerOwnerName + " - " + this.SourceDesignator.Name; this.OwnedTableDefinition = new TableDefinition(this.RelatedDomain, LocalName, LocalName.TextToIdentifier()); this.OwnedTableDefinition.Alterability = EAlterability.Definition; // This prevents the table-def to be edited from the Domain. } this.FrmTableStructEditor.SetSourceTableDef(this.OwnedTableDefinition); TableDefinitionMaintainer.SetFieldDefinitionsMaintainer(this.FrmTableStructEditor.FieldsMaintainer); // Don't forget to assign the new maintainer this.FrmTableStructEditor.FieldsMaintainer.VisualControl.CanEditItemsDirectly = false; this.CbxCopySourceTableStruct.ItemsSource = this.AvailabeTableStructures; if (this.AvailabeTableStructures != null && this.AvailabeTableStructures.Any()) { this.CbxReferencedTableStruct.ItemsSource = this.AvailabeTableStructures; if (this.SourceDesignator.DeclaringTableDefinition != null && this.AvailabeTableStructures.Contains(this.SourceDesignator.DeclaringTableDefinition) && !this.SourceDesignator.TableDefIsOwned) { this.CbxReferencedTableStruct.SelectedItem = this.SourceDesignator.DeclaringTableDefinition; } else { this.CbxReferencedTableStruct.SelectedItem = this.AvailabeTableStructures.First(); } } else { this.RbReferenced.IsEnabled = false; this.TxbReferencedTableStruct.IsEnabled = false; this.CbxReferencedTableStruct.IsEnabled = false; } if (this.SourceDesignator.TableDefIsOwned || !this.RbReferenced.IsEnabled) { this.RbOwned.IsChecked = true; } else { this.RbReferenced.IsChecked = true; } }
internal RowBuilder(TableDefinition table, Snapshot snapshot) { _table = table; _snapshot = snapshot; Row = _snapshot.AddRow(table); }
/// <summary> /// Creates a PatchTargetCodeRow row that does not belong to a table. /// </summary> /// <param name="sourceLineNumbers">Original source lines for this row.</param> /// <param name="tableDef">TableDefinition this PatchTargetCode row belongs to and should get its column definitions from.</param> public WixBundlePatchTargetCodeRow(SourceLineNumber sourceLineNumbers, TableDefinition tableDef) : base(sourceLineNumbers, tableDef) { }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { List <string> rowData = new List <string>(); bool hasPreviousSnapshot = (null != reportData.PreviousSnapshot); double?previousLowVal = null; double?previousAveVal = null; double?previousHigVal = null; double?previousVhiVal = null; if (reportData.CurrentSnapshot != null) { #region Selected Snapshot var selectedName = reportData.CurrentSnapshot.Annotation.Version; var selectedLowVal = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_Low.GetHashCode()); var selectedAveVal = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_Average.GetHashCode()); var selectedHigVal = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_High.GetHashCode()); var selectedVhiVal = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_VeryHigh.GetHashCode()); #endregion Selected Snapshot #region Previous Snapshot var previousName = hasPreviousSnapshot ? reportData.PreviousSnapshot.Annotation.Version : "No previous snapshot selected"; if (hasPreviousSnapshot) { previousLowVal = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_Low.GetHashCode()); previousAveVal = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_Average.GetHashCode()); previousHigVal = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_High.GetHashCode()); previousVhiVal = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_VeryHigh.GetHashCode()); } #endregion Previous Snapshot #region Data rowData.Add(" "); rowData.Add(selectedName); if (hasPreviousSnapshot) { rowData.Add(previousName); } rowData.Add(" "); rowData.Add("0"); if (hasPreviousSnapshot) { rowData.Add("0"); } rowData.Add(Labels.CplxLow); rowData.Add(selectedLowVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); if (hasPreviousSnapshot) { rowData.Add(previousLowVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); } rowData.Add(Labels.CplxAverage); rowData.Add(selectedAveVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); if (hasPreviousSnapshot) { rowData.Add(previousAveVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); } rowData.Add(Labels.CplxHigh); rowData.Add(selectedHigVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); if (hasPreviousSnapshot) { rowData.Add(previousHigVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); } rowData.Add(Labels.CplxVeryHigh); rowData.Add(selectedVhiVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); if (hasPreviousSnapshot) { rowData.Add(previousVhiVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); } rowData.Add(" "); rowData.Add("0"); if (hasPreviousSnapshot) { rowData.Add("0"); } #endregion Data } TableDefinition back = new TableDefinition { Data = rowData, HasRowHeaders = false, HasColumnHeaders = false, NbColumns = hasPreviousSnapshot ? 3 : 2, NbRows = 7 }; return(back); }
public Row CreateRow(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData data, TableDefinition tableDefinition) { var table = data.EnsureTable(tableDefinition); var row = table.CreateRow(symbol.SourceLineNumbers); row.SectionId = section.Id; return(row); }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { List <string> rowData = new List <string>(); List <CellAttributes> cellProps = new List <CellAttributes>(); int cellidx = 0; // cellProps will contains the properties of the cell (background color) linked to the data by position in the list stored with cellidx. List <string> metrics = options.GetOption("METRICS").Trim().Split('|').ToList(); bool critical; if (options == null || !options.ContainsKey("CRITICAL")) { critical = false; } else { critical = options.GetOption("CRITICAL").Equals("true"); } List <string> qualityRules = MetricsUtility.BuildRulesList(reportData, metrics, critical); rowData.Add(Labels.Violations); cellidx++; if (qualityRules.Count > 0) { const string bcId = "60017"; int nbLimitTop = options.GetIntOption("COUNT", 5); bool hasPreviousSnapshot = reportData.PreviousSnapshot != null; foreach (string _metric in qualityRules) { RuleDescription rule = reportData.RuleExplorer.GetSpecificRule(reportData.Application.DomainId, _metric); string ruleName = rule.Name; if (ruleName == null) { continue; } int metricId; if (!int.TryParse(_metric, out metricId)) { continue; } ViolStatMetricIdDTO violStats = RulesViolationUtility.GetViolStat(reportData.CurrentSnapshot, metricId); if (violStats == null) { continue; } // if no violations, do not display anything for this rule if (violStats.TotalViolations < 1) { continue; } rowData.Add(""); cellidx++; rowData.Add(Labels.ObjectsInViolationForRule + " " + ruleName); cellProps.Add(new CellAttributes(cellidx, Color.Gray, Color.White, "bold")); cellidx++; rowData.Add(Labels.ViolationsCount + ": " + violStats.TotalViolations); cellProps.Add(new CellAttributes(cellidx, Color.White)); cellidx++; if (!string.IsNullOrWhiteSpace(rule.Rationale)) { rowData.Add(Labels.Rationale + ": "); cellProps.Add(new CellAttributes(cellidx, Color.LightGray)); cellidx++; rowData.Add(rule.Rationale); cellProps.Add(new CellAttributes(cellidx, Color.White)); cellidx++; } rowData.Add(Labels.Description + ": "); cellProps.Add(new CellAttributes(cellidx, Color.LightGray)); cellidx++; rowData.Add(rule.Description); cellProps.Add(new CellAttributes(cellidx, Color.White)); cellidx++; if (!string.IsNullOrWhiteSpace(rule.Remediation)) { rowData.Add(Labels.Remediation + ": "); cellProps.Add(new CellAttributes(cellidx, Color.LightGray)); cellidx++; rowData.Add(rule.Remediation); cellProps.Add(new CellAttributes(cellidx, Color.White)); cellidx++; } IEnumerable <Violation> results = reportData.SnapshotExplorer.GetViolationsListIDbyBC(reportData.CurrentSnapshot.Href, _metric, bcId, nbLimitTop, "$all"); if (results == null) { continue; } var _violations = results as Violation[] ?? results.ToArray(); if (_violations.Length == 0) { continue; } int violation_counter = 0; string domainId = reportData.CurrentSnapshot.DomainId; string snapshotId = reportData.CurrentSnapshot.Id.ToString(); cellidx = MetricsUtility.PopulateViolationsBookmarks(reportData, _violations, violation_counter, rowData, cellidx, ruleName, cellProps, hasPreviousSnapshot, domainId, snapshotId, _metric); // Add empty lines for readability for (int i = 1; i < 5; i++) { rowData.Add(""); cellidx++; } } if (rowData.Count <= 1) { rowData.Add(Labels.NoViolation); } } else { rowData.Add(Labels.NoItem); } var table = new TableDefinition { HasRowHeaders = false, HasColumnHeaders = true, NbRows = rowData.Count, NbColumns = 1, Data = rowData, CellsAttributes = cellProps }; return(table); }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { List <string> rowData = new List <string>(); int nbLimitTop; List <int> bcId = new List <int>(); int idx; if (null == options || !options.ContainsKey("IDX") || !int.TryParse(options["IDX"], out idx)) { idx = -1; } if (null == options || !options.ContainsKey("COUNT") || !int.TryParse(options["COUNT"], out nbLimitTop)) { nbLimitTop = 10; if (idx >= 0 && nbLimitTop <= idx) { nbLimitTop = idx + 1; } } if (options != null && options.ContainsKey("PAR")) { foreach (var par in options["PAR"].Split('|')) { int id; if (int.TryParse(par, out id)) { bcId.Add(id); } } } if (bcId.Count == 0) { bcId.Add(Constants.BusinessCriteria.TechnicalQualityIndex.GetHashCode()); } ApplicationResult bc = reportData.CurrentSnapshot.BusinessCriteriaResults.FirstOrDefault(_ => bcId.Contains(_.Reference.Key)); rowData.AddRange(new[] { "Rules Descriptions for Top Critical Violation Rules For Business Criterion " + bc?.Reference.Name, null }); var criticalRuleViolations = bc?.CriticalRulesViolation.Where(_ => _.DetailResult?.ViolationRatio != null).OrderByDescending(_ => _.DetailResult.ViolationRatio.FailedChecks).Take(nbLimitTop); if (idx >= 0) { criticalRuleViolations = criticalRuleViolations?.Skip(idx).Take(1); } if (criticalRuleViolations != null) { foreach (var violation in criticalRuleViolations) { var ruleDescription = reportData.RuleExplorer.GetSpecificRule(reportData.Application.DomainId, violation.Reference.Key.ToString()); rowData.AddRange(new[] { Labels.RuleName, violation.Reference.Name, Labels.Rationale, ruleDescription.Rationale, Labels.Description, ruleDescription.Description, Labels.Remediation, string.IsNullOrWhiteSpace(ruleDescription.Remediation) ? Constants.No_Value : ruleDescription.Remediation, Labels.ViolationsCount, violation.DetailResult.ViolationRatio.FailedChecks.ToString(), " ", " " }); } } var back = new TableDefinition { HasRowHeaders = false, HasColumnHeaders = true, NbRows = rowData.Count + 1, NbColumns = 2, Data = rowData }; return(back); }
public ComponentRow(SourceLineNumber sourceLineNumbers, TableDefinition tableDefinition) : base(sourceLineNumbers, tableDefinition) { }
protected override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { int rowCount = 0; int nbLimitTop = 0; int order = 0; List <string> rowData = new List <string>(); TableDefinition resultTable = null; List <RuleVariationResultDTO> variationRules = new List <RuleVariationResultDTO>(); //List<RuleVariationResultDTO> improvmentRules = new List<RuleVariationResultDTO>(); //List<RuleVariationResultDTO> degradationRules = new List<RuleVariationResultDTO>(); //List<RuleVariationResultDTO> selected_elements = new List<RuleVariationResultDTO>(); IEnumerable <RuleVariationResultDTO> selected_elements; rowData.AddRange(new string[] { Labels.RuleName, Labels.ViolationsCurrent, Labels.ViolationsPrevious, Labels.Evolution, Labels.Grade, Labels.GradeEvolution }); Int32?metricId = (options != null && options.ContainsKey("PAR")) ? Convert.ToInt32(options["PAR"]) : (Int32?)null; if (options == null || !options.ContainsKey("COUNT") || !Int32.TryParse(options["COUNT"], out nbLimitTop)) { nbLimitTop = reportData.Parameter.NbResultDefault; } if (options == null || !options.ContainsKey("C") || !Int32.TryParse(options["C"], out order)) { order = 0; } if (reportData != null && reportData.CurrentSnapshot != null && metricId.HasValue) { var currentCriticalRulesViolation = RulesViolationUtility.GetAllRuleViolations(reportData.CurrentSnapshot, Constants.RulesViolation.All, (Constants.BusinessCriteria)metricId, true); var previousCriticalRulesViolation = (reportData.PreviousSnapshot != null) ? RulesViolationUtility.GetAllRuleViolations(reportData.PreviousSnapshot, Constants.RulesViolation.All, (Constants.BusinessCriteria)metricId, false) : null; if (currentCriticalRulesViolation != null) { foreach (var item in currentCriticalRulesViolation) { //Get previous value var previousitem = (previousCriticalRulesViolation != null) ? previousCriticalRulesViolation.FirstOrDefault(_ => _.Rule.Key == item.Rule.Key) : null; double?previousVal = (previousitem != null && previousitem.TotalFailed.HasValue) ? previousitem.TotalFailed.Value : (double?)null; double?previousGrade = (previousitem != null && previousitem.Grade.HasValue) ? previousitem.Grade.Value : (double?)null; //Compute the varioation double?variationVal = (item.TotalFailed.HasValue && previousVal.HasValue) ? (item.TotalFailed.Value - previousVal.Value) : (double?)null; double?variationGrade = (item.TotalFailed.HasValue && previousVal.HasValue) ? (item.Grade.Value - previousGrade.Value) : (double?)null; variationRules.Add(new RuleVariationResultDTO { Rule = new RuleDetailsDTO { Name = item.Rule.Name, Key = item.Rule.Key }, CurrentNbViolations = (item.TotalFailed.HasValue) ? item.TotalFailed.Value : -1, PreviousNbViolations = (previousitem != null && previousitem.TotalFailed.HasValue) ? previousitem.TotalFailed.Value : -1, Evolution = (variationVal.HasValue && previousVal.HasValue && previousVal > 0) ? variationVal / previousVal : double.NaN, Grade = (item.Grade.HasValue) ? item.Grade.Value : double.NaN, GradeEvolution = (variationGrade.HasValue && previousGrade.HasValue && previousGrade > 0) ? variationGrade / previousGrade : double.NaN }); } switch (order) { default: case 0: { selected_elements = variationRules.OrderByDescending(_ => _.Rule.CompoundedWeight * (4 - _.Grade.Value)).Take(nbLimitTop); break; } case 1: { selected_elements = variationRules.Where(_ => _.GradeEvolution >= 0).OrderByDescending(_ => _.GradeEvolution).Take(nbLimitTop); break; } case 2: { selected_elements = variationRules.Where(_ => _.GradeEvolution < 0).OrderBy(_ => _.GradeEvolution).Take(nbLimitTop); break; } } ; foreach (var varRule in selected_elements) { rowData.AddRange(new string[] { varRule.Rule.Name , (varRule.CurrentNbViolations.HasValue && varRule.CurrentNbViolations.Value != -1)? varRule.CurrentNbViolations.Value.ToString("N0"): CastReporting.Domain.Constants.No_Value , (varRule.PreviousNbViolations.HasValue && varRule.PreviousNbViolations.Value != -1)? varRule.PreviousNbViolations.Value.ToString("N0"): CastReporting.Domain.Constants.No_Value , (varRule.Evolution.HasValue && !double.IsNaN(varRule.Evolution.Value)) ? TableBlock.FormatPercent(varRule.Evolution.Value) : Constants.No_Value , (varRule.Grade.HasValue && !double.IsNaN(varRule.Grade.Value)) ? varRule.Grade.Value.ToString("N2"):CastReporting.Domain.Constants.No_Value , (varRule.GradeEvolution.HasValue && !double.IsNaN(varRule.GradeEvolution.Value)) ? TableBlock.FormatPercent(varRule.GradeEvolution.Value) : Constants.No_Value } ); rowCount++; } } else { rowData.AddRange(new string[] { Labels.NoItem, string.Empty, string.Empty, string.Empty, string.Empty }); rowCount = 1; } } resultTable = new TableDefinition { HasRowHeaders = false, HasColumnHeaders = true, NbRows = rowCount + 1, NbColumns = 6, Data = rowData }; return(resultTable); }
private async Task SetupDefinitionDetailsAsync() { DefinitionDetails.Clear(); try { var lstDefs = await QueuedTask.Run <List <string> >(() => { Definition datasetDefinition = Dataset.DatasetDefinition; List <string> lstDefDetails = new List <string>(); if (datasetDefinition is TableDefinition) { TableDefinition tableDefinition = datasetDefinition as TableDefinition; lstDefDetails.Add($"Object ID Field: {tableDefinition.GetObjectIDField()}"); StringBuilder stringBuilder = new StringBuilder(); if (!(_datastore is FileSystemDatastore)) { lstDefDetails.Add($"Alias Name: {tableDefinition.GetAliasName()}"); lstDefDetails.Add($"CreatedAt Field: {tableDefinition.GetCreatedAtField()}"); lstDefDetails.Add($"Creator Field: {tableDefinition.GetCreatorField()}"); lstDefDetails.Add($"Subtype Field: {tableDefinition.GetSubtypeField()}"); lstDefDetails.Add($"Default Subtype Code: {tableDefinition.GetDefaultSubtypeCode()}"); lstDefDetails.Add($"EditedAt Field: {tableDefinition.GetEditedAtField()}"); lstDefDetails.Add($"Editor Field: {tableDefinition.GetEditorField()}"); lstDefDetails.Add($"Global ID Field: {tableDefinition.GetGlobalIDField()}"); lstDefDetails.Add($"Model Name: {tableDefinition.GetModelName()}"); foreach (var subtype in tableDefinition.GetSubtypes()) { stringBuilder.Append(subtype.GetCode()).Append(": ").Append(subtype.GetName()).Append(Environment.NewLine); } lstDefDetails.Add($"Subtypes: {stringBuilder}"); } stringBuilder = new StringBuilder(); foreach (Index index in tableDefinition.GetIndexes()) { stringBuilder.Append(index.GetName()).Append(","); string order = index.IsAscending() ? "Ascending" : "Descending"; stringBuilder.Append(order).Append(", "); string unique = index.IsUnique() ? "Unique" : "Not Unique"; stringBuilder.Append(unique); } lstDefDetails.Add($"Indexes: {stringBuilder}"); } if (datasetDefinition is FeatureClassDefinition) { FeatureClassDefinition featureClassDefinition = datasetDefinition as FeatureClassDefinition; if (!(_datastore is FileSystemDatastore)) { lstDefDetails.Add($"Area Field: {featureClassDefinition.GetAreaField()}"); lstDefDetails.Add($"Length Field: {featureClassDefinition.GetLengthField()}"); } lstDefDetails.Add($"Shape Field: {featureClassDefinition.GetShapeField()}"); lstDefDetails.Add($"Shape Type: {featureClassDefinition.GetShapeType()}"); lstDefDetails.Add($"Spatial Reference Name: {featureClassDefinition.GetSpatialReference().Name}"); Envelope extent = featureClassDefinition.GetExtent(); lstDefDetails.Add($"Extent Details: XMin-{extent.XMin} XMax-{extent.XMax} YMin-{extent.YMin} YMax-{extent.YMax}"); } if (datasetDefinition is FeatureDatasetDefinition) { FeatureDatasetDefinition featureDatasetDefinition = datasetDefinition as FeatureDatasetDefinition; lstDefDetails.Add($"Spatial Reference Name: {featureDatasetDefinition.GetSpatialReference().Name}"); try { Envelope extent = featureDatasetDefinition.GetExtent(); lstDefDetails.Add($"Extent Details: XMin-{extent.XMin} XMax-{extent.XMax} YMin-{extent.YMin} YMax-{extent.YMax}"); } catch (Exception) { lstDefDetails.Add("Could not get extent"); } } if (datasetDefinition is RelationshipClassDefinition) { RelationshipClassDefinition relationshipClassDefinition = datasetDefinition as RelationshipClassDefinition; lstDefDetails.Add($"Alias Name: {relationshipClassDefinition.GetAliasName()}"); lstDefDetails.Add($"Cardinality: {relationshipClassDefinition.GetCardinality()}"); lstDefDetails.Add($"Origin Class: {relationshipClassDefinition.GetOriginClass()}"); lstDefDetails.Add($"Destination Class: {relationshipClassDefinition.GetDestinationClass()}"); lstDefDetails.Add($"Origin Primary Key: {relationshipClassDefinition.GetOriginKeyField()}"); lstDefDetails.Add($"Origin Foreign Key: {relationshipClassDefinition.GetOriginForeignKeyField()}"); lstDefDetails.Add($"Is Attachement?: {relationshipClassDefinition.IsAttachmentRelationship()}"); lstDefDetails.Add($"Is Composite Relationship?: {relationshipClassDefinition.IsComposite()}"); } if (datasetDefinition is AttributedRelationshipClassDefinition) { AttributedRelationshipClassDefinition relationshipClassDefinition = datasetDefinition as AttributedRelationshipClassDefinition; lstDefDetails.Add($"Destination Key: {relationshipClassDefinition.GetDestinationKeyField()}"); lstDefDetails.Add($"Destination Foreign Key: {relationshipClassDefinition.GetDestinationForeignKeyField()}"); lstDefDetails.Add($"Object ID Field: {relationshipClassDefinition.GetObjectIDField()}"); } return(lstDefDetails); }); DefinitionDetails.AddRange(lstDefs); } catch (Exception exObj) { MessageBox.Show(exObj.Message, "Error"); } }
public void AddBaseTable_ShouldUpdateIsFilterableProperty() { #region Arrange var visibleFields = new[] { BaseField1Name, BaseField3Name }; var queryGenerator = new SearchQueryGeneratorTest(); queryGenerator.SetNonFilteredColumns(null); queryGenerator.ResultColumns.AddRange(visibleFields); queryGenerator.LimitResultColumns = true; var baseProcessdefinition = new ProcessDefinition(); var baseTableDefinition = new TableDefinition("TestBaseProcess"); baseProcessdefinition.TableList.Insert(0, baseTableDefinition); baseTableDefinition.AddField(BaseField1Name, ColumnTypes.Numeric, null, true, true); baseTableDefinition.AddField(BaseField2Name, ColumnTypes.Object, null, true, true); baseTableDefinition.AddField(BaseField3Name, ColumnTypes.Object, null, true, false); #endregion Arrange // Act queryGenerator.AddBaseTable(baseProcessdefinition); // Assert Assert.IsTrue(queryGenerator.BaseFieldIsFilterable(BaseField1Name)); Assert.IsFalse(queryGenerator.BaseFieldIsFilterable(BaseField2Name)); Assert.IsFalse(queryGenerator.BaseFieldIsFilterable(BaseField3Name)); }
private AttributeDefinition GetColumnFromJoinString(TableDefinition table, string joinString) { return(table.GetAttributeByName(joinString.Contains(".") ? joinString.Split(".")[1] : joinString)); }
private bool TryOptimizeIN(SelectASTNode selectASTNode, ReadLogicalElement input, TableDefinition tableDefinition, out CartesianProductElement result) { if (selectASTNode.Condition is RelOpASTNode relOpASTNode && relOpASTNode.RelationOperator == Compiler.Common.RelOp.In) { SelectASTNode innerSelectASTNode = null; IdentifierASTNode outerIdentifierASTNode = null; if (relOpASTNode.Right is SelectASTNode) { innerSelectASTNode = (SelectASTNode)relOpASTNode.Right; if (relOpASTNode.Left is IdentifierASTNode) { outerIdentifierASTNode = (IdentifierASTNode)relOpASTNode.Left; } } if (relOpASTNode.Right is IdentifierASTNode) { outerIdentifierASTNode = (IdentifierASTNode)relOpASTNode.Right; if (relOpASTNode.Left is SelectASTNode) { innerSelectASTNode = (SelectASTNode)relOpASTNode.Left; } } if (innerSelectASTNode != null && outerIdentifierASTNode != null) { result = new CartesianProductElement(input, GetElementForTreeNode(innerSelectASTNode) as ReadLogicalElement, GetColumnFromIdentifierNode(tableDefinition, outerIdentifierASTNode), SelectColumnsToColumns(_relationManager.GetTable(innerSelectASTNode.From.Identifier.Identifier), innerSelectASTNode.SelectColumns).First().AttributeDefinition); return(true); } } result = null; return(false); }
protected override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { int metricId; #region Item BCID if (options == null || !options.ContainsKey("BCID") || !int.TryParse(options["BCID"], out metricId)) { metricId = reportData.Parameter.NbResultDefault; } #endregion Item BCID var rowData = new List <String>(); rowData.AddRange(new string[] { " ", Labels.ViolationsCritical + " - " + Labels.ViolationsRemoved, Labels.ViolationsCritical + " - " + Labels.ViolationsAdded, Labels.ViolationsCritical + " - " + Labels.Total }); DataTable dtDates = new DataTable(); dtDates.Columns.Add("Quarter", typeof(int)); dtDates.Columns.Add("Year", typeof(int)); dtDates.Columns.Add("RemovedViol", typeof(double)); dtDates.Columns.Add("AddedViol", typeof(double)); dtDates.Columns.Add("TotalViol", typeof(double)); dtDates.AcceptChanges(); #region Fetch SnapshotsPF if (reportData != null && reportData.Applications != null && reportData.snapshots != null) { DateTime DateNow = DateTime.Now; //DateTime DateNow = Convert.ToDateTime("03 01 2014"); Application[] AllApps = reportData.Applications; Snapshot[] AllSnapshots = reportData.snapshots; int generateQuater = 6; int currentYear = DateNow.Year; int currentQuater = GetQuarter(DateNow); for (int i = generateQuater; i > 0; i--) { DataRow dr = dtDates.NewRow(); dr["Quarter"] = currentQuater; dr["Year"] = currentYear; dtDates.Rows.InsertAt(dr, 0); //dtDates.Rows.Add(currentQuater, currentYear); if (--currentQuater == 0) { currentQuater = 4; currentYear--; } } double?RemovedViol = 0; double?AddedViol = 0; double?TotalViol = 0; for (int i = 0; i < dtDates.Rows.Count; i++) { RemovedViol = 0; AddedViol = 0; TotalViol = 0; if (AllSnapshots.Count() > 0) { foreach (Snapshot snapshot in AllSnapshots.OrderBy(_ => _.Annotation.Date.DateSnapShot)) { DateTime SnapshotDate = Convert.ToDateTime(snapshot.Annotation.Date.DateSnapShot.Value); int intQuarter = Convert.ToInt32(dtDates.Rows[i]["Quarter"]); int intYear = Convert.ToInt32(dtDates.Rows[i]["Year"]); int intSnapshotQuarter = GetQuarter(SnapshotDate); int intSnapshotYear = SnapshotDate.Year; if (intQuarter == intSnapshotQuarter && intYear == intSnapshotYear) { var results = RulesViolationUtility.GetStatViolation(snapshot); foreach (var resultModule in results) { if (resultModule[(Constants.BusinessCriteria)metricId] != null) { int CriticalViolThisModulePerformanceTotal = (resultModule != null && resultModule[(Constants.BusinessCriteria)metricId].Total.HasValue) ? resultModule[(Constants.BusinessCriteria)metricId].Total.Value : 0; int CriticalViolThisModulePerformanceAdded = (resultModule != null && resultModule[(Constants.BusinessCriteria)metricId].Added.HasValue) ? resultModule[(Constants.BusinessCriteria)metricId].Added.Value : 0; int CriticalViolThisModulePerformanceRemoved = (resultModule != null && resultModule[(Constants.BusinessCriteria)metricId].Removed.HasValue) ? resultModule[(Constants.BusinessCriteria)metricId].Removed.Value : 0; RemovedViol = RemovedViol + CriticalViolThisModulePerformanceRemoved; AddedViol = AddedViol + CriticalViolThisModulePerformanceAdded; TotalViol = TotalViol + CriticalViolThisModulePerformanceTotal; } } } } } if (RemovedViol > 0) { RemovedViol = RemovedViol * -1; } dtDates.Rows[i]["RemovedViol"] = RemovedViol; dtDates.Rows[i]["AddedViol"] = AddedViol; dtDates.Rows[i]["TotalViol"] = TotalViol; } for (int i = 0; i < dtDates.Rows.Count; i++) { string strQuarter = dtDates.Rows[i]["Year"].ToString() + " Q" + dtDates.Rows[i]["Quarter"].ToString(); rowData.AddRange(new string[] { strQuarter, dtDates.Rows[i]["RemovedViol"].ToString(), dtDates.Rows[i]["AddedViol"].ToString(), dtDates.Rows[i]["TotalViol"].ToString(), }); } } #endregion Fetch SnapshotsPF TableDefinition resultTable = new TableDefinition { HasRowHeaders = true, HasColumnHeaders = false, NbRows = dtDates.Rows.Count + 1, NbColumns = 4, Data = rowData, GraphOptions = null }; return(resultTable); }
public override void Process(Expressions.RenameTableExpression expression) { truncator.Truncate(expression); FirebirdSchemaProvider schema = new FirebirdSchemaProvider(this); TableDefinition tableDef = schema.GetTableDefinition(expression.OldName); tableDef.Name = expression.NewName; CreateTableExpression createNew = new CreateTableExpression() { TableName = expression.NewName, SchemaName = String.Empty }; //copy column definitions (nb: avoid to copy key names, because in firebird they must be globally unique, so let it rename) tableDef.Columns.ToList().ForEach(x => createNew.Columns.Add(new ColumnDefinition() { Name = x.Name, DefaultValue = x.DefaultValue, IsForeignKey = x.IsForeignKey, IsIdentity = x.IsIdentity, IsIndexed = x.IsIndexed, IsNullable = x.IsNullable, IsPrimaryKey = x.IsPrimaryKey, IsUnique = x.IsUnique, ModificationType = x.ModificationType, Precision = x.Precision, Size = x.Size, Type = x.Type, CustomType = x.CustomType })); Process(createNew); int columnCount = tableDef.Columns.Count; string[] columns = tableDef.Columns.Select(x => x.Name).ToArray(); InsertDataExpression data = new InsertDataExpression(); data.TableName = tableDef.Name; data.SchemaName = tableDef.SchemaName; using (DataSet ds = ReadTableData(String.Empty, expression.OldName)) { foreach (DataRow dr in ds.Tables[0].Rows) { InsertionDataDefinition insert = new InsertionDataDefinition(); for (int i = 0; i < columnCount; i++) { insert.Add(new KeyValuePair <string, object>(columns[i], dr.ItemArray[i])); } data.Rows.Add(insert); } } Process(data); DeleteTableExpression delTable = new DeleteTableExpression() { TableName = expression.OldName, SchemaName = String.Empty }; Process(delTable); }
protected override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { string prevSnapshotLabel = string.Empty; BusinessCriteriaDTO prevSnapshotBCResult = null; if (reportData != null && reportData.CurrentSnapshot != null) { string currSnapshotLabel = SnapshotUtility.GetSnapshotVersionNumber(reportData.CurrentSnapshot); BusinessCriteriaDTO currSnapshotBCDTO = BusinessCriteriaUtility.GetBusinessCriteriaGradesSnapshot(reportData.CurrentSnapshot, true); if (reportData.PreviousSnapshot != null) { prevSnapshotLabel = SnapshotUtility.GetSnapshotVersionNumber(reportData.PreviousSnapshot); prevSnapshotBCResult = BusinessCriteriaUtility.GetBusinessCriteriaGradesSnapshot(reportData.PreviousSnapshot, true); } else if (reportData.Application.Snapshots != null) { Snapshot PreviousSnapshot = reportData.Application.Snapshots.FirstOrDefault(_ => _.Annotation.Date.DateSnapShot < reportData.CurrentSnapshot.Annotation.Date.DateSnapShot); if (PreviousSnapshot != null) { prevSnapshotLabel = SnapshotUtility.GetSnapshotVersionNumber(PreviousSnapshot); prevSnapshotBCResult = BusinessCriteriaUtility.GetBusinessCriteriaGradesSnapshot(PreviousSnapshot, true); } } var rowData = new List <String>(); rowData.Add(null); rowData.Add(currSnapshotLabel.ToString()); if (prevSnapshotBCResult != null) { rowData.Add(prevSnapshotLabel ?? Constants.No_Value); } #region Transferability rowData.Add(Labels.Trans); rowData.Add(currSnapshotBCDTO.Transferability.ToString()); if (prevSnapshotBCResult != null) { rowData.Add(prevSnapshotBCResult.Transferability.ToString()); } #endregion Transferability #region Changeability rowData.Add(Labels.Chang); rowData.Add(currSnapshotBCDTO.Changeability.ToString()); if (prevSnapshotBCResult != null) { rowData.Add(prevSnapshotBCResult.Changeability.ToString()); } #endregion Changeability #region Robustness rowData.Add(Labels.Robu); rowData.Add(currSnapshotBCDTO.Robustness.ToString()); if (prevSnapshotBCResult != null) { rowData.Add(prevSnapshotBCResult.Robustness.ToString()); } #endregion Robustness #region Performance rowData.Add(Labels.Efcy); rowData.Add(currSnapshotBCDTO.Performance.ToString()); if (prevSnapshotBCResult != null) { rowData.Add(prevSnapshotBCResult.Performance.ToString()); } #endregion Performance #region Security rowData.Add(Labels.Secu); rowData.Add(currSnapshotBCDTO.Security.ToString()); if (prevSnapshotBCResult != null) { rowData.Add(prevSnapshotBCResult.Security.ToString()); } #endregion Security TableDefinition resultTable = new TableDefinition { HasRowHeaders = true, HasColumnHeaders = true, NbRows = 6, NbColumns = prevSnapshotBCResult != null ? 3 : 2, Data = rowData }; return(resultTable); } return(null); }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { #region METHODS const string metricFormat = "N2"; bool displayShortHeader = (options != null && options.ContainsKey("HEADER") && "SHORT" == options["HEADER"]); int param; bool showEvol = false; if (options != null && options.ContainsKey("SHOW_EVOL") && int.TryParse(options["SHOW_EVOL"], out param)) { showEvol = (param != 0); } bool showEvolPercent = true; if (options != null && options.ContainsKey("SHOW_EVOL_PERCENT") && int.TryParse(options["SHOW_EVOL_PERCENT"], out param)) { showEvolPercent = (param != 0); } if (reportData?.CurrentSnapshot?.BusinessCriteriaResults == null) { return(null); } bool hasPreviousSnapshot = null != reportData.PreviousSnapshot; #region currSnapshot string currSnapshotLabel = SnapshotUtility.GetSnapshotVersionNumber(reportData.CurrentSnapshot); BusinessCriteriaDTO currSnapshotBisCriDTO = BusinessCriteriaUtility.GetBusinessCriteriaGradesSnapshot(reportData.CurrentSnapshot, false); #endregion currSnapshot #region prevSnapshot string prevSnapshotLabel = hasPreviousSnapshot ? SnapshotUtility.GetSnapshotVersionNumber(reportData.PreviousSnapshot) : Constants.No_Value; BusinessCriteriaDTO prevSnapshotBisCriDTO = hasPreviousSnapshot ? BusinessCriteriaUtility.GetBusinessCriteriaGradesSnapshot(reportData.PreviousSnapshot, false) : null; #endregion prevSnapshot List <string> rowData = new List <string>(); rowData.AddRange(displayShortHeader ? new[] { " ", Labels.TQI, Labels.Robu, Labels.Efcy, Labels.Secu, Labels.Trans, Labels.Chang } : new[] { " ", Labels.TQI, Labels.Robustness, Labels.Efficiency, Labels.Security, Labels.Transferability, Labels.Changeability }); rowData.AddRange( new[] { currSnapshotLabel, currSnapshotBisCriDTO.TQI?.ToString(metricFormat) ?? Constants.No_Value, currSnapshotBisCriDTO.Robustness?.ToString(metricFormat) ?? Constants.No_Value, currSnapshotBisCriDTO.Performance?.ToString(metricFormat) ?? Constants.No_Value, currSnapshotBisCriDTO.Security?.ToString(metricFormat) ?? Constants.No_Value, currSnapshotBisCriDTO.Transferability?.ToString(metricFormat) ?? Constants.No_Value, currSnapshotBisCriDTO.Changeability?.ToString(metricFormat) ?? Constants.No_Value }); if (hasPreviousSnapshot) { #region variation BusinessCriteriaDTO _businessCriteriaGradesEvol = (currSnapshotBisCriDTO - prevSnapshotBisCriDTO); BusinessCriteriaDTO _businessCriteriaGradesEvolPercent = (_businessCriteriaGradesEvol / prevSnapshotBisCriDTO); #endregion variation rowData.AddRange( new[] { prevSnapshotLabel, prevSnapshotBisCriDTO.TQI?.ToString(metricFormat) ?? Constants.No_Value, prevSnapshotBisCriDTO.Robustness?.ToString(metricFormat) ?? Constants.No_Value, prevSnapshotBisCriDTO.Performance?.ToString(metricFormat) ?? Constants.No_Value, prevSnapshotBisCriDTO.Security?.ToString(metricFormat) ?? Constants.No_Value, prevSnapshotBisCriDTO.Transferability?.ToString(metricFormat) ?? Constants.No_Value, prevSnapshotBisCriDTO.Changeability?.ToString(metricFormat) ?? Constants.No_Value, }); if (showEvol) { rowData.AddRange( new[] { Labels.Evol, _businessCriteriaGradesEvol.TQI.HasValue ? FormatEvolution(_businessCriteriaGradesEvol.TQI.Value) : Constants.No_Value, _businessCriteriaGradesEvol.Robustness.HasValue ? FormatEvolution(_businessCriteriaGradesEvol.Robustness.Value) : Constants.No_Value, _businessCriteriaGradesEvol.Performance.HasValue ? FormatEvolution(_businessCriteriaGradesEvol.Performance.Value) : Constants.No_Value, _businessCriteriaGradesEvol.Security.HasValue ? FormatEvolution(_businessCriteriaGradesEvol.Security.Value) : Constants.No_Value, _businessCriteriaGradesEvol.Transferability.HasValue ? FormatEvolution(_businessCriteriaGradesEvol.Transferability.Value) : Constants.No_Value, _businessCriteriaGradesEvol.Changeability.HasValue ? FormatEvolution(_businessCriteriaGradesEvol.Changeability.Value) : Constants.No_Value }); } if (showEvolPercent) { rowData.AddRange( new[] { Labels.EvolPercent, _businessCriteriaGradesEvolPercent.TQI.HasValue ? FormatPercent(_businessCriteriaGradesEvolPercent.TQI.Value) : Constants.No_Value, _businessCriteriaGradesEvolPercent.Robustness.HasValue ? FormatPercent(_businessCriteriaGradesEvolPercent.Robustness.Value) : Constants.No_Value, _businessCriteriaGradesEvolPercent.Performance.HasValue ? FormatPercent(_businessCriteriaGradesEvolPercent.Performance.Value) : Constants.No_Value, _businessCriteriaGradesEvolPercent.Security.HasValue ? FormatPercent(_businessCriteriaGradesEvolPercent.Security.Value) : Constants.No_Value, _businessCriteriaGradesEvolPercent.Transferability.HasValue ? FormatPercent(_businessCriteriaGradesEvolPercent.Transferability.Value) : Constants.No_Value, _businessCriteriaGradesEvolPercent.Changeability.HasValue ? FormatPercent(_businessCriteriaGradesEvolPercent.Changeability.Value) : Constants.No_Value }); } } var resultTable = new TableDefinition { HasRowHeaders = false, HasColumnHeaders = true, NbRows = hasPreviousSnapshot ? 4 : 2, NbColumns = 7, Data = rowData }; return(resultTable); }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { int nbLimitTop; if (null == options || !options.ContainsKey("COUNT") || !int.TryParse(options["COUNT"], out nbLimitTop)) { nbLimitTop = -1; } string type = null; if (null != options && options.ContainsKey("TYPE")) { type = options["TYPE"] ?? string.Empty; type = type.Trim(); switch (type.ToUpper()) { case "DF": type = "Data Function"; break; case "TF": type = "Transaction"; break; default: type = string.Empty; break; } } bool displayHeader = (options == null || !options.ContainsKey("HEADER") || "NO" != options["HEADER"]); IEnumerable <IfpugFunction> functions = reportData.SnapshotExplorer.GetIfpugFunctions(reportData.CurrentSnapshot.Href, string.IsNullOrEmpty(type) ? nbLimitTop : -1)?.ToList(); List <string> rowData = new List <string>(); if (displayHeader) { rowData.AddRange(new[] { Labels.IFPUG_ElementType, Labels.ObjectName, Labels.IFPUG_NoOfFPs, Labels.IFPUG_FPDetails, Labels.IFPUG_ObjectType, Labels.ModuleName, Labels.Technology }); } int nbRows = 0; if (functions != null && functions.Any()) { var exportedList = functions; if (!string.IsNullOrEmpty(type)) { exportedList = exportedList.Where(f => f.ElementType == type); } if (nbLimitTop > 0) { exportedList = exportedList.Take(nbLimitTop); } foreach (var ifpugFunction in exportedList) { rowData.Add(string.IsNullOrEmpty(ifpugFunction.ElementType) ? " " : ifpugFunction.ElementType); rowData.Add(string.IsNullOrEmpty(ifpugFunction.ObjectName) ? " " : ifpugFunction.ObjectName); rowData.Add(string.IsNullOrEmpty(ifpugFunction.NbOfFPs) ? string.IsNullOrEmpty(ifpugFunction.NoOfFPs) ? string.IsNullOrEmpty(ifpugFunction.Afps) ? " " : ifpugFunction.Afps : ifpugFunction.NoOfFPs : ifpugFunction.NbOfFPs); rowData.Add(string.IsNullOrEmpty(ifpugFunction.FPDetails) ? " " : ifpugFunction.FPDetails); rowData.Add(string.IsNullOrEmpty(ifpugFunction.ObjectType) ? " " : ifpugFunction.ObjectType); rowData.Add(string.IsNullOrEmpty(ifpugFunction.ModuleName) ? " " : ifpugFunction.ModuleName); rowData.Add(string.IsNullOrEmpty(ifpugFunction.Technology) ? " " : ifpugFunction.Technology); nbRows += 1; } } else { rowData.AddRange(new[] { Labels.NoItem, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty }); } var resultTable = new TableDefinition { HasRowHeaders = false, HasColumnHeaders = displayHeader, NbRows = nbRows + (displayHeader ? 1 : 0), NbColumns = 7, Data = rowData }; return(resultTable); }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { List <string> rowData = new List <string>(); string[] bcIds = options.GetOption("BCID") != null?options.GetOption("BCID").Trim().Split('|') : new[] { "60016" }; // by default, security int nbLimitTop = options.GetOption("COUNT") == "ALL" ? -1 : options.GetIntOption("COUNT", 10); bool shortName = options.GetOption("NAME", "FULL").Equals("SHORT"); bool hasPri = bcIds.Contains("60013") || bcIds.Contains("60014") || bcIds.Contains("60016"); string[] filter = options.GetOption("FILTER", "ALL").Trim().Split('|'); bool critical = options.GetOption("VIOLATIONS", "CRITICAL").Equals("CRITICAL"); string module = options.GetOption("MODULE"); string[] technos = (options.GetOption("TECHNOLOGIES") != null && !options.GetOption("TECHNOLOGIES").Equals("ALL")) ? options.GetOption("TECHNOLOGIES").Trim().Split('|') : new[] { "$all" }; rowData.Add(Labels.ViolationStatus); if (hasPri) { rowData.Add(Labels.PRI); } rowData.Add(Labels.ExclusionStatus); rowData.Add(Labels.ActionStatus); rowData.Add(Labels.RuleName); rowData.Add(Labels.BusinessCriterionName); rowData.Add(Labels.ObjectName); rowData.Add(Labels.ObjectStatus); int nbCols = hasPri ? 8 : 7; int nbRows; List <Violation> results = new List <Violation>(); foreach (string _bcid in bcIds) { Module mod = (module != null) ? reportData.CurrentSnapshot.Modules.FirstOrDefault(m => m.Name.Equals(module)) : null; string href = (mod == null) ? reportData.CurrentSnapshot.Href : mod.Href; string technologies = technos.Aggregate(string.Empty, (current, techno) => (current.Equals(string.Empty)) ? techno : current + "," + techno); IEnumerable <Violation> bcresults = critical ? reportData.SnapshotExplorer.GetViolationsListIDbyBC(href, "(critical-rules)", _bcid, -1, "(" + technologies + ")").ToList() : reportData.SnapshotExplorer.GetViolationsListIDbyBC(href, "(nc:" + _bcid + ",cc:" + _bcid + ")", _bcid, -1, "(" + technologies + ")").ToList(); List <Violation> filterResults = new List <Violation>(); if (!bcresults.Any()) { continue; } foreach (string _filter in filter) { switch (_filter) { case "ADDED": filterResults.AddRange(bcresults.Where(_ => _.Diagnosis.Status.Equals("added"))); break; case "UNCHANGED": filterResults.AddRange(bcresults.Where(_ => _.Diagnosis.Status.Equals("unchanged"))); break; case "UPDATED": filterResults.AddRange(bcresults.Where(_ => _.Diagnosis.Status.Equals("updated"))); break; default: filterResults.AddRange(bcresults); break; } } var _violations = filterResults.ToList(); foreach (Violation _bcresult in _violations) { _bcresult.Component.PriBusinessCriterion = BusinessCriteriaUtility.GetMetricName(reportData.CurrentSnapshot, int.Parse(_bcid)); } results.AddRange(_violations); } results = nbLimitTop != -1 ? results.Take(nbLimitTop).ToList() : results; if (results.Count != 0) { foreach (Violation _violation in results) { rowData.Add(_violation.Diagnosis?.Status ?? Constants.No_Value); if (hasPri) { rowData.Add(_violation.Component?.PropagationRiskIndex.ToString("N0")); } rowData.Add(_violation.ExclusionRequest?.Status ?? Constants.No_Value); rowData.Add(_violation.RemedialAction?.Status ?? Constants.No_Value); rowData.Add(_violation.RulePattern?.Name ?? Constants.No_Value); rowData.Add(_violation.Component?.PriBusinessCriterion ?? Constants.No_Value); rowData.Add(shortName ? _violation.Component?.ShortName : _violation.Component?.Name ?? Constants.No_Value); rowData.Add(_violation.Component?.Status ?? Constants.No_Value); } nbRows = results.Count + 1; } else { rowData.Add(Labels.NoItem); for (int i = 1; i < nbCols; i++) { rowData.Add(string.Empty); } nbRows = 2; } var table = new TableDefinition { HasRowHeaders = false, HasColumnHeaders = true, NbRows = nbRows, NbColumns = nbCols, Data = rowData }; return(table); }
protected override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { var rowData = new List <String>(); rowData.AddRange(new string[] { " ", Labels.DebtRemoved + " (" + reportData.CurrencySymbol + ")", Labels.DebtAdded + " (" + reportData.CurrencySymbol + ")", Labels.Debt + " (" + reportData.CurrencySymbol + ")" }); DataTable dtDates = new DataTable(); dtDates.Columns.Add("Quarter", typeof(int)); dtDates.Columns.Add("Year", typeof(int)); dtDates.Columns.Add("RemovedTechnicalDebt", typeof(double)); dtDates.Columns.Add("AddedTechnicalDebt", typeof(double)); dtDates.Columns.Add("TotalTechnicalDebt", typeof(double)); dtDates.AcceptChanges(); #region Fetch SnapshotsPF if (reportData != null && reportData.Applications != null && reportData.snapshots != null) { DateTime DateNow = DateTime.Now; //DateTime DateNow = Convert.ToDateTime("03 01 2014"); Application[] AllApps = reportData.Applications; Snapshot[] AllSnapshots = reportData.snapshots; int generateQuater = 6; int currentYear = DateNow.Year; int currentQuater = GetQuarter(DateNow); for (int i = generateQuater; i > 0; i--) { DataRow dr = dtDates.NewRow(); dr["Quarter"] = currentQuater; dr["Year"] = currentYear; dtDates.Rows.InsertAt(dr, 0); //dtDates.Rows.Add(currentQuater, currentYear); if (--currentQuater == 0) { currentQuater = 4; currentYear--; } } double?RemovedTechnicalDebt = 0; double?AddedTechnicalDebt = 0; double?TotalTechnicalDebt = 0; for (int i = 0; i < dtDates.Rows.Count; i++) { RemovedTechnicalDebt = 0; AddedTechnicalDebt = 0; TotalTechnicalDebt = 0; if (AllSnapshots.Count() > 0) { foreach (Snapshot snapshot in AllSnapshots.OrderBy(_ => _.Annotation.Date.DateSnapShot)) { DateTime SnapshotDate = Convert.ToDateTime(snapshot.Annotation.Date.DateSnapShot.Value); int intQuarter = Convert.ToInt32(dtDates.Rows[i]["Quarter"]); int intYear = Convert.ToInt32(dtDates.Rows[i]["Year"]); int intSnapshotQuarter = GetQuarter(SnapshotDate); int intSnapshotYear = SnapshotDate.Year; if (intQuarter == intSnapshotQuarter && intYear == intSnapshotYear) { RemovedTechnicalDebt = RemovedTechnicalDebt + MeasureUtility.GetRemovedTechDebtMetric(snapshot); AddedTechnicalDebt = AddedTechnicalDebt + MeasureUtility.GetAddedTechDebtMetric(snapshot); TotalTechnicalDebt = TotalTechnicalDebt + MeasureUtility.GetTechnicalDebtMetric(snapshot); } } } if (RemovedTechnicalDebt > 0) { RemovedTechnicalDebt = RemovedTechnicalDebt * -1; } if (RemovedTechnicalDebt != null) { dtDates.Rows[i]["RemovedTechnicalDebt"] = RemovedTechnicalDebt; } else { dtDates.Rows[i]["RemovedTechnicalDebt"] = 0.0; } if (AddedTechnicalDebt != null) { dtDates.Rows[i]["AddedTechnicalDebt"] = AddedTechnicalDebt; } else { dtDates.Rows[i]["AddedTechnicalDebt"] = 0.0; } if (TotalTechnicalDebt != null) { dtDates.Rows[i]["TotalTechnicalDebt"] = TotalTechnicalDebt; } else { dtDates.Rows[i]["TotalTechnicalDebt"] = 0.0; } } for (int i = 0; i < dtDates.Rows.Count; i++) { string strQuarter = dtDates.Rows[i]["Year"].ToString() + " Q" + dtDates.Rows[i]["Quarter"].ToString(); rowData.AddRange(new string[] { strQuarter, dtDates.Rows[i]["RemovedTechnicalDebt"].ToString(), dtDates.Rows[i]["AddedTechnicalDebt"].ToString(), dtDates.Rows[i]["TotalTechnicalDebt"].ToString(), }); } } #endregion Fetch SnapshotsPF TableDefinition resultTable = new TableDefinition { HasRowHeaders = true, HasColumnHeaders = false, NbRows = dtDates.Rows.Count + 1, NbColumns = 4, Data = rowData, GraphOptions = null }; return(resultTable); }
/// <summary> /// Loads a table definition from the database. /// </summary> /// <param name="tableName">Name of the table for which a definition is to be loaded.</param> /// <returns>The table definition for the named table.</returns> protected override TableDefinition LoadTableDefinition(string tableName) { TableDefinition tableDefinition = new TableDefinition(tableName); //Log.WriteInfo("Looking for table: {0}", tableName); int exists = ExecuteScalar <int>(string.Format("SELECT COUNT(*) FROM `information_schema`.`TABLES` WHERE `TABLE_NAME` = N'{0}' AND `TABLE_SCHEMA` = N'{1}'", tableName, catalogName)); if (exists == 1) { tableDefinition.Committed = true; //Log.WriteInfo("Loading schema from existing table."); string commandText = string.Format( @"SELECT `COLUMN_NAME`, `DATA_TYPE`, `CHARACTER_MAXIMUM_LENGTH`, `NUMERIC_PRECISION` FROM `information_schema`.`COLUMNS` WHERE `TABLE_NAME` = N'{0}' AND `TABLE_SCHEMA` = N'{1}'" , tableName, catalogName); using (IDataReader reader = ExecuteReader(commandText)) { bool hasIdentityColumn = false; while (reader.Read()) { string columnName = reader.GetString(0); string typeName = reader.GetString(1); int maxLength; if (!reader.IsDBNull(2)) { maxLength = reader.GetInt32(2); } else { maxLength = 0; } int numPrecision; if (!reader.IsDBNull(3)) { numPrecision = reader.GetInt32(3); } else { numPrecision = 0; } if (!columnName.Equals("_id", StringComparison.OrdinalIgnoreCase)) { MySqlDbType sqlDbType; int sqlPrecision; switch (typeName.ToLowerInvariant()) { case "bigint": sqlDbType = MySqlDbType.Int64; sqlPrecision = 0; break; case "bit": sqlDbType = MySqlDbType.Bit; sqlPrecision = 0; break; case "numeric": sqlDbType = MySqlDbType.Decimal; sqlPrecision = 0; break; case "float": sqlDbType = MySqlDbType.Float; sqlPrecision = 0; break; case "int": sqlDbType = MySqlDbType.Int32; sqlPrecision = 0; break; case "varchar": sqlDbType = MySqlDbType.VarChar; sqlPrecision = maxLength; break; default: throw new Exception(string.Format("Unexpected column value type: {0}", typeName)); } ColumnType typeOut; int precisionOut; ConvertColumnType(sqlDbType, sqlPrecision, out typeOut, out precisionOut); ColumnDefinition columnDefinition = new ColumnDefinition(columnName, typeOut, precisionOut); columnDefinition.Committed = true; tableDefinition.Columns[columnName] = columnDefinition; } else { hasIdentityColumn = true; } } if (!hasIdentityColumn) { throw new Exception(string.Format("Missing identity column on table: {0}", tableName)); } } } else { //Log.WriteInfo("Table does not exist."); } return(tableDefinition); }
/// <summary> /// Creates a WixVariable row that does not belong to a table. /// </summary> /// <param name="sourceLineNumbers">Original source lines for this row.</param> /// <param name="tableDef">TableDefinition this WixVariable row belongs to and should get its column definitions from.</param> public WixVariableRow(SourceLineNumber sourceLineNumbers, TableDefinition tableDef) : base(sourceLineNumbers, tableDef) { }
protected override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { TableDefinition resultTable = null; const string metricFormat = "N0"; if (reportData != null && reportData.CurrentSnapshot != null) { #region currentSnapshot double?criticalViolation = MeasureUtility.GetSizingMeasure(reportData.CurrentSnapshot, Constants.SizingInformations.ViolationsToCriticalQualityRulesNumber); double?numCritPerFile = MeasureUtility.GetSizingMeasure(reportData.CurrentSnapshot, Constants.SizingInformations.ViolationsToCriticalQualityRulesPerFileNumber); string numCritPerFileIfNegative = string.Empty; if (numCritPerFile == -1) { numCritPerFileIfNegative = "N/A"; } else { numCritPerFileIfNegative = (numCritPerFile.HasValue) ? numCritPerFile.Value.ToString("N2") : CastReporting.Domain.Constants.No_Value; } double?numCritPerKLOC = MeasureUtility.GetSizingMeasure(reportData.CurrentSnapshot, Constants.SizingInformations.ViolationsToCriticalQualityRulesPerKLOCNumber); double?veryHighCostComplexityViolations = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants. QualityDistribution.DistributionOfViolationsToCriticalDiagnosticBasedMetricsPerCostComplexity.GetHashCode(), Constants.ViolationsToCriticalDiagnosticBasedMetricsPerCostComplexity. ComplexityViolations_VeryHigh.GetHashCode()); double?highCostComplexityViolations = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants.QualityDistribution.DistributionOfViolationsToCriticalDiagnosticBasedMetricsPerCostComplexity.GetHashCode(), Constants.ViolationsToCriticalDiagnosticBasedMetricsPerCostComplexity.ComplexityViolations_HighCost.GetHashCode()); double?veryHighCostComplexityArtefacts = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_VeryHigh.GetHashCode()); double?highCostComplexityArtefacts = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_High.GetHashCode()); #endregion currentSnapshot #region PreviousSnapshot double?criticalViolationPrev = MeasureUtility.GetSizingMeasure(reportData.PreviousSnapshot, Constants.SizingInformations.ViolationsToCriticalQualityRulesNumber); double?numCritPerFilePrev = MeasureUtility.GetSizingMeasure(reportData.PreviousSnapshot, Constants.SizingInformations.ViolationsToCriticalQualityRulesPerFileNumber); string numCritPerFilePrevIfNegative = string.Empty; if (numCritPerFilePrev == -1) { numCritPerFilePrevIfNegative = "N/A"; } else { numCritPerFilePrevIfNegative = (numCritPerFilePrev.HasValue) ? numCritPerFilePrev.Value.ToString("N2") : CastReporting.Domain.Constants.No_Value; } double?numCritPerKLOCPrev = MeasureUtility.GetSizingMeasure(reportData.PreviousSnapshot, Constants.SizingInformations.ViolationsToCriticalQualityRulesPerKLOCNumber); double?veryHighCostComplexityViolationsPrev = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, Constants.QualityDistribution.DistributionOfViolationsToCriticalDiagnosticBasedMetricsPerCostComplexity.GetHashCode(), Constants.ViolationsToCriticalDiagnosticBasedMetricsPerCostComplexity.ComplexityViolations_VeryHigh.GetHashCode()); double?highCostComplexityViolationsPrev = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, Constants.QualityDistribution.DistributionOfViolationsToCriticalDiagnosticBasedMetricsPerCostComplexity.GetHashCode(), Constants.ViolationsToCriticalDiagnosticBasedMetricsPerCostComplexity.ComplexityViolations_HighCost.GetHashCode()); double?veryHighCostComplexityArtefactsPrev = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_VeryHigh.GetHashCode()); double?highCostComplexityArtefactsPrev = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_High.GetHashCode()); #endregion PreviousSnapshot #region SumMetric double?HighveryHighCostComplexityArtefacts = MathUtility.GetSum(veryHighCostComplexityArtefacts, highCostComplexityArtefacts); double?HighveryHighCostComplexityViolations = MathUtility.GetSum(veryHighCostComplexityViolations, highCostComplexityViolations); double?HighveryHighCostComplexityArtefactsPrev = MathUtility.GetSum(veryHighCostComplexityArtefactsPrev, highCostComplexityArtefactsPrev); double?HighveryHighCostComplexityViolationsPrev = MathUtility.GetSum(veryHighCostComplexityViolationsPrev, highCostComplexityViolationsPrev); #endregion SumMetric #region evolutionPercMetric double?criticalViolationEvolPerc = MathUtility.GetVariationPercent(criticalViolation, criticalViolationPrev); double?numCritPerFileEvolPerc = MathUtility.GetVariationPercent(numCritPerFile, numCritPerFilePrev); double?numCritPerKLOCEvolPerc = MathUtility.GetVariationPercent(numCritPerKLOC, numCritPerKLOCPrev); double?HighveryHighCostComplexityViolationsEvolPerc = MathUtility.GetVariationPercent(HighveryHighCostComplexityViolations, HighveryHighCostComplexityViolationsPrev); double?HighveryHighCostComplexityArtefactsEvolPerc = MathUtility.GetVariationPercent(HighveryHighCostComplexityArtefacts, HighveryHighCostComplexityArtefactsPrev); #endregion evolutionPercMetric var rowData = new List <string>() { Labels.Name , Labels.Current , Labels.Previous , Labels.EvolutionPercent , Labels.ViolationsCritical , (criticalViolation.HasValue) ? criticalViolation.Value.ToString(metricFormat): CastReporting.Domain.Constants.No_Value , (criticalViolationPrev.HasValue) ? criticalViolationPrev.Value.ToString(metricFormat) : CastReporting.Domain.Constants.No_Value , (criticalViolationEvolPerc.HasValue) ? TableBlock.FormatPercent(criticalViolationEvolPerc.Value): CastReporting.Domain.Constants.No_Value , " " + Labels.PerFile , numCritPerFileIfNegative , numCritPerFilePrevIfNegative , (numCritPerFileEvolPerc.HasValue) ? TableBlock.FormatPercent(numCritPerFileEvolPerc.Value) : CastReporting.Domain.Constants.No_Value , " " + Labels.PerkLoC , (numCritPerKLOC.HasValue)? numCritPerKLOC.Value.ToString("N2") : CastReporting.Domain.Constants.No_Value , (numCritPerKLOCPrev.HasValue)? numCritPerKLOCPrev.Value.ToString("N2") : CastReporting.Domain.Constants.No_Value , (numCritPerKLOCEvolPerc.HasValue) ? TableBlock.FormatPercent(numCritPerKLOCEvolPerc.Value) : CastReporting.Domain.Constants.No_Value , Labels.ComplexObjects , HighveryHighCostComplexityArtefacts.HasValue ? HighveryHighCostComplexityArtefacts.Value.ToString(metricFormat): CastReporting.Domain.Constants.No_Value , HighveryHighCostComplexityArtefactsPrev.HasValue ? HighveryHighCostComplexityArtefactsPrev.Value.ToString(metricFormat) : CastReporting.Domain.Constants.No_Value , HighveryHighCostComplexityArtefactsEvolPerc.HasValue ? TableBlock.FormatPercent(HighveryHighCostComplexityArtefactsEvolPerc.Value) : CastReporting.Domain.Constants.No_Value , " " + Labels.WithViolations , HighveryHighCostComplexityViolations.HasValue ? HighveryHighCostComplexityViolations.Value.ToString(metricFormat): CastReporting.Domain.Constants.No_Value , HighveryHighCostComplexityViolationsPrev.HasValue ? HighveryHighCostComplexityViolationsPrev.Value.ToString(metricFormat) : CastReporting.Domain.Constants.No_Value , HighveryHighCostComplexityViolationsEvolPerc.HasValue ? TableBlock.FormatPercent(HighveryHighCostComplexityViolationsEvolPerc.Value) : CastReporting.Domain.Constants.No_Value }; resultTable = new TableDefinition { HasRowHeaders = true, HasColumnHeaders = false, NbRows = 6, NbColumns = 4, Data = rowData }; } return(resultTable); }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { if (reportData?.CurrentSnapshot == null) { return(null); } double?criticalViolation = MeasureUtility.GetSizingMeasure(reportData.CurrentSnapshot, Constants.SizingInformations.ViolationsToCriticalQualityRulesNumber); double?numCritPerFile = MeasureUtility.GetSizingMeasure(reportData.CurrentSnapshot, Constants.SizingInformations.ViolationsToCriticalQualityRulesPerFileNumber); double?_numCritPerKloc = MeasureUtility.GetSizingMeasure(reportData.CurrentSnapshot, Constants.SizingInformations.ViolationsToCriticalQualityRulesPerKLOCNumber); double?veryHighCostComplexityViolations = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants. QualityDistribution.DistributionOfDefectsToCriticalDiagnosticBasedMetricsPerCostComplexity.GetHashCode(), Constants.DefectsToCriticalDiagnosticBasedMetricsPerCostComplexity.CostComplexityDefects_VeryHigh.GetHashCode()); double?highCostComplexityViolations = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants.QualityDistribution.DistributionOfDefectsToCriticalDiagnosticBasedMetricsPerCostComplexity.GetHashCode(), Constants.DefectsToCriticalDiagnosticBasedMetricsPerCostComplexity.CostComplexityDefects_High.GetHashCode()); double?veryHighCostComplexityArtefacts = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_VeryHigh.GetHashCode()); double?highCostComplexityArtefacts = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, Constants.QualityDistribution.CostComplexityDistribution.GetHashCode(), Constants.CostComplexity.CostComplexityArtifacts_High.GetHashCode()); double?nbComplexityArtefacts = MathUtility.GetSum(veryHighCostComplexityArtefacts, highCostComplexityArtefacts); double?nbComplexityArtefactsViolation = MathUtility.GetSum(veryHighCostComplexityViolations, highCostComplexityViolations); const string metricFormat = "N0"; const string metricFormatPrecision = "N2"; string numCritPerFileIfNegative; // ReSharper disable once CompareOfFloatsByEqualityOperator -- special case if (numCritPerFile == -1) { numCritPerFileIfNegative = Constants.No_Value; } else { numCritPerFileIfNegative = numCritPerFile?.ToString(metricFormatPrecision) ?? Constants.No_Value; } var rowData = new List <string>() { Labels.Name , Labels.Value , Labels.ViolationsCritical , criticalViolation?.ToString(metricFormat) ?? Constants.No_Value , " " + Labels.PerFile , numCritPerFileIfNegative , " " + Labels.PerkLoC , _numCritPerKloc?.ToString(metricFormatPrecision) ?? Constants.No_Value , Labels.ComplexObjects , nbComplexityArtefacts?.ToString(metricFormat) ?? Constants.No_Value , " " + Labels.WithViolations , nbComplexityArtefactsViolation?.ToString(metricFormat) ?? Constants.No_Value }; var resultTable = new TableDefinition { HasRowHeaders = true, HasColumnHeaders = false, NbRows = 6, NbColumns = 2, Data = rowData }; return(resultTable); }
private async Task SetupDefinitionAsync() { try { var lstDefinitions = await QueuedTask.Run <List <DatasetInfo> >(() => { List <DatasetInfo> definitions = new List <DatasetInfo>(); if (_datastore is Geodatabase) { var geodatabase = _datastore as Geodatabase; switch (DatasetTypeCategory.DatasetType) { case DatasetType.Table: definitions = geodatabase.GetDefinitions <TableDefinition>().Select(CreateDataSetInfo).ToList(); break; case DatasetType.FeatureClass: definitions = geodatabase.GetDefinitions <FeatureClassDefinition>().Select(CreateDataSetInfo).ToList(); break; case DatasetType.FeatureDataset: definitions = geodatabase.GetDefinitions <FeatureDatasetDefinition>().Select(CreateDataSetInfo).ToList(); break; case DatasetType.RelationshipClass: definitions = geodatabase.GetDefinitions <RelationshipClassDefinition>().Select(CreateDataSetInfo).ToList(); break; case DatasetType.AttributedRelationshipClass: definitions = geodatabase.GetDefinitions <AttributedRelationshipClassDefinition>().Select(CreateDataSetInfo).ToList(); break; } } else if (_datastore is Database) { var database = _datastore as Database; IReadOnlyList <string> tableNames = database.GetTableNames(); foreach (string tableName in tableNames) { QueryDescription queryDescription = database.GetQueryDescription(tableName); TableDefinition tableDefinition = database.GetDefinition(queryDescription); if (DatasetTypeCategory.DatasetType == DatasetType.Table || DatasetTypeCategory.DatasetType == DatasetType.FeatureClass) { definitions.Add(new DatasetInfo { Name = tableDefinition.GetName(), DatasetDefinition = tableDefinition }); } } } else if (_datastore is FileSystemDatastore) { var shapefile = _datastore as FileSystemDatastore; FileSystemConnectionPath shapefileConnectionPath = (FileSystemConnectionPath)shapefile.GetConnector(); DirectoryInfo directoryInfo = new DirectoryInfo(shapefileConnectionPath.Path.LocalPath); if (DatasetTypeCategory.DatasetType == DatasetType.FeatureClass) { FileInfo[] filesWithShpExtension = directoryInfo.GetFiles("*.shp"); foreach (FileInfo file in filesWithShpExtension) { definitions.Add(CreateDataSetInfo(shapefile.GetDefinition <FeatureClassDefinition>(file.Name))); } } if (DatasetTypeCategory.DatasetType == DatasetType.Table) { FileInfo[] filesWithDbfExtension = directoryInfo.GetFiles("*.dbf"); foreach (FileInfo file in filesWithDbfExtension) { definitions.Add(CreateDataSetInfo(shapefile.GetDefinition <TableDefinition>(file.Name))); } } } return(definitions); }); Datasets.Clear(); Datasets.AddRange(lstDefinitions); DefinitionDetails.Clear(); } catch (Exception exObj) { MessageBox.Show(exObj.Message, "Error"); } }
public virtual string Format(TableDefinition table) { var statement = string.Format(CreateTable, GetQuotedTableName(table.Name), Format(table.Columns)); return(statement); }
/// <summary> /// Constructor /// </summary> /// <param name="name">Trigger name</param> /// <param name="tableDefinition">Table definition for the trigger</param> /// <param name="sql">SQLite SQL code for trigger</param> protected Trigger(string name, TableDefinition tableDefinition, string sql) { this.name = name; this.tableDefinition = tableDefinition; this.sql = sql; }
private AttributeDefinition GetColumnFromIdentifierNode(TableDefinition tableDefinition, IdentifierASTNode relopNode) { string column = relopNode.Identifier; return(GetColumnFromJoinString(column.Contains(".") ? GetTableDefinitionFromJoinString(column) : _relationManager.GetTable(tableDefinition.Name).TableDefinition, column)); }
protected void WriteDeleteTable(TableDefinition table, StreamWriter output) { //Delete.Table("Bar"); output.WriteLine("\t\t\tDelete.Table(\"" + table.Name + "\");"); }
private WTableDefinition ParseTableDefinition(TableDefinition tableDef) { if (tableDef == null) return null; var wTableDef = new WTableDefinition { FirstTokenIndex = tableDef.FirstTokenIndex, LastTokenIndex = tableDef.LastTokenIndex, }; if (tableDef.ColumnDefinitions != null) { wTableDef.ColumnDefinitions = new List<WColumnDefinition>(tableDef.ColumnDefinitions.Count); foreach (var colDef in tableDef.ColumnDefinitions) wTableDef.ColumnDefinitions.Add(ParseColumnDefinition(colDef)); } if (tableDef.TableConstraints != null) { wTableDef.TableConstraints = new List<WConstraintDefinition>(tableDef.TableConstraints.Count); foreach (var tableCon in tableDef.TableConstraints) wTableDef.TableConstraints.Add(ParseConstraintDefinition(tableCon)); } if (tableDef.Indexes != null) { wTableDef.Indexes = new List<WIndexDefinition>(tableDef.Indexes.Count); foreach (var idx in tableDef.Indexes) wTableDef.Indexes.Add(ParseIndexDefinition(idx)); } return wTableDef; }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { List <string> rowData = new List <string>(); int parId; Constants.QualityDistribution distributionId; double?previousLowVal = null; double?previousAveVal = null; double?previousHigVal = null; double?previousVhiVal = null; bool hasPreviousSnapshot = (null != reportData.PreviousSnapshot); string previousName = string.Empty; if (null != options && options.ContainsKey("PAR") && int.TryParse(options["PAR"], out parId) && Enum.IsDefined(typeof(Constants.QualityDistribution), parId)) { distributionId = (Constants.QualityDistribution)parId; } else { distributionId = Constants.QualityDistribution.CostComplexityDistribution; } if (reportData.CurrentSnapshot != null) { var selectedName = reportData.CurrentSnapshot.Annotation.Version; #region Selected Snapshot var selectedLowVal = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, distributionId.GetHashCode(), "low"); var selectedAveVal = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, distributionId.GetHashCode(), "average"); var selectedHigVal = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, distributionId.GetHashCode(), "high"); var selectedVhiVal = CastComplexityUtility.GetCostComplexityGrade(reportData.CurrentSnapshot, distributionId.GetHashCode(), "very_high"); #endregion Selected Snapshot #region Previous Snapshot if (hasPreviousSnapshot) { previousName = reportData.PreviousSnapshot.Annotation.Version; previousLowVal = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, distributionId.GetHashCode(), "low"); previousAveVal = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, distributionId.GetHashCode(), "average"); previousHigVal = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, distributionId.GetHashCode(), "high"); previousVhiVal = CastComplexityUtility.GetCostComplexityGrade(reportData.PreviousSnapshot, distributionId.GetHashCode(), "very_high"); } #endregion Previous Snapshot #region Data rowData.Add(" "); rowData.Add(selectedName); if (hasPreviousSnapshot) { rowData.Add(previousName); } rowData.Add(" "); rowData.Add("0"); if (hasPreviousSnapshot) { rowData.Add("0"); } rowData.Add(Labels.CplxLow); rowData.Add(selectedLowVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); if (hasPreviousSnapshot) { rowData.Add(previousLowVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); } rowData.Add(Labels.CplxAverage); rowData.Add(selectedAveVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); if (hasPreviousSnapshot) { rowData.Add(previousAveVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); } rowData.Add(Labels.CplxHigh); rowData.Add(selectedHigVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); if (hasPreviousSnapshot) { rowData.Add(previousHigVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); } rowData.Add(Labels.CplxVeryHigh); rowData.Add(selectedVhiVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); if (hasPreviousSnapshot) { rowData.Add(previousVhiVal.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); } rowData.Add(" "); rowData.Add("0"); if (hasPreviousSnapshot) { rowData.Add("0"); } #endregion Data } var result = new TableDefinition { Data = rowData, HasRowHeaders = false, HasColumnHeaders = false, NbColumns = hasPreviousSnapshot ? 3 : 2, NbRows = 7 }; return(result); }