protected override CustomListColumnCollection GetColumnsOverride(CustomListData data) { var columnCollection = new CustomListColumnCollection(); var chooseEntityOrView = data.Parameter.Split(';')[7]; if (chooseEntityOrView == "View") { var link = data.Parameter.Split(';')[0]; var username = data.Parameter.Split(';')[1]; var password = data.Parameter.Split(';')[2]; var logicalNameView = data.Parameter.Split(';')[4]; columnCollection = CrmHelper.GetViewColumns(link, username, password, logicalNameView); } else if (chooseEntityOrView == "Entity") { var displayNameColumn = data.Parameter.Split(';')[5]; string[] newDisplayNameColumn = displayNameColumn.Replace(" ", String.Empty).Split(','); foreach (var c in newDisplayNameColumn) { columnCollection.Add(new CustomListColumn(c, CustomListColumnTypes.String)); } } return(columnCollection); }
protected override CustomListColumnCollection GetColumnsOverride(CustomListData data) { CustomListColumnCollection cols = new CustomListColumnCollection(); DataTable sqlresult = GetSQLTable(data); foreach (DataColumn sqlcol in sqlresult.Columns) { CustomListColumn newcol = new CustomListColumn(sqlcol.ColumnName); // We convert the SQdL type to one of the three Peakboard types (string, number or boolean) if (sqlcol.DataType.ToString().Equals("System.Int32")) { newcol.Type = CustomListColumnTypes.Number; } else if (sqlcol.DataType.ToString().Equals("System.Boolean")) { newcol.Type = CustomListColumnTypes.Boolean; } else { newcol.Type = CustomListColumnTypes.String; } cols.Add(newcol); } return(cols); }
public static CustomListColumnCollection GetViewColumns(string link, string username, string password, string logicalNameView) { CustomListColumnCollection columnCollection = new CustomListColumnCollection(); IOrganizationService service = TryConnection(link, username, password); if (service == null) { throw new InvalidOperationException("Connection has failed!"); } else { var query = new QueryExpression { EntityName = "savedquery", ColumnSet = new ColumnSet("fetchxml"), Criteria = new FilterExpression { FilterOperator = LogicalOperator.And, Conditions = { new ConditionExpression { AttributeName = "name", Operator = ConditionOperator.Equal, Values = { logicalNameView }//View Name - "Active Accounts" }, } } }; var result = service.RetrieveMultiple(query); var fetchToQueryExpressionRequest = new FetchXmlToQueryExpressionRequest(); fetchToQueryExpressionRequest.FetchXml = result.Entities[0].Attributes["fetchxml"].ToString(); var fetchToQueryExpressionResponse = (FetchXmlToQueryExpressionResponse)service.Execute(fetchToQueryExpressionRequest); QueryExpression qe = fetchToQueryExpressionResponse.Query; EntityCollection ec = new EntityCollection(); try { ec = service.RetrieveMultiple(qe); } catch { throw new InvalidOperationException("Connection has failed!"); } foreach (var c in qe.ColumnSet.Columns) { columnCollection.Add(new CustomListColumn(c, CustomListColumnTypes.String)); } } return(columnCollection); }
protected override CustomListColumnCollection GetColumnsOverride(CustomListData data) { data.Properties.TryGetValue("SQLStatement", StringComparison.OrdinalIgnoreCase, out var SQLStatement); var cols = new CustomListColumnCollection(); var con = GetConnection(data); var command = new IngresCommand(SQLStatement, con); var reader = command.ExecuteReader(); var schemaTable = reader.GetSchemaTable(); foreach (DataRow sqlcol in schemaTable.Rows) { var columnName = (string)sqlcol["ColumnName"]; var dataType = (Type)sqlcol["DataType"]; var listColumnType = CustomListColumnTypes.String; // We convert the types to one of the three Peakboard types (string, number or boolean) if (dataType == typeof(string)) { listColumnType = CustomListColumnTypes.String; } else if (dataType == typeof(bool)) { listColumnType = CustomListColumnTypes.Boolean; } else { listColumnType = DataTypeHelper.IsNumericType(dataType) ? CustomListColumnTypes.Number : CustomListColumnTypes.String; } cols.Add(new CustomListColumn(columnName, listColumnType)); } con.Close(); return(cols); }