public MetricSchemaKey(string ruleApplicationName, string entityName, MetricSchema metricSchema)
 {
     _ruleApplicationName = ruleApplicationName;
     _entityName          = entityName;
     _metricSchema        = metricSchema;
     unchecked
     {
         _hashCode = 397 ^ (_ruleApplicationName?.GetHashCode() ?? 0);
         _hashCode = (_hashCode * 397) ^ (_entityName?.GetHashCode() ?? 0);
         _hashCode = (_hashCode * 397) ^ (_metricSchema?.GetHashCode() ?? 0);
     }
 }
Ejemplo n.º 2
0
        private static string BuildParameterizedInsertStatement(string ruleApplicationName, string entityName, MetricSchema metricSchema)
        {
            var columnsString = new StringBuilder();
            var valuesString  = new StringBuilder();

            columnsString.Append($@"INSERT INTO [{ruleApplicationName}].[{entityName}](");

            valuesString.AppendLine("VALUES (");

            foreach (string columnName in CommonColumns)
            {
                columnsString.AppendLine($"[{columnName}],");
                valuesString.AppendLine($"@{columnName.Replace("/", "")},");
            }

            foreach (string columnName in metricSchema.Properties.Select(column => column.GetMetricColumnName()))
            {
                columnsString.AppendLine($"[{columnName}],");
                valuesString.AppendLine($"@{columnName.Replace("/", "")},");
            }

            columnsString.Length -= (Environment.NewLine.Length + 1);
            valuesString.Length  -= (Environment.NewLine.Length + 1);
            columnsString.Append(")");
            valuesString.AppendLine(")");

            return(columnsString.Append(valuesString).ToString());
        }