public MetricModel TranslateToMetricModel() { MetricModel model = GetMetricModel(); if (NumberColumns.Count > 0) { model.Columns.AddRange(NumberColumns.Select(n => new MetricColumnModel { Id = n.Id, Value = n.Value, FieldName = n.FieldName, NumberFieldName = n.NumberFieldName })); } else { model.Columns.AddRange(CoverageColumns.Select(n => new MetricColumnModel { Id = n.Id, Value = n.Value, FieldName = n.FieldName, DivisorValue = n.DivisorValue, DivisorFieldName = n.DivisorFieldName, CoverageName = n.CoverageName })); } return(model); }
public void LoadMetricColumns(List <MetricColumnModel> columns) { int i = 0; foreach (var item in columns.Where(c => string.IsNullOrEmpty(c.DivisorValue))) { NumberColumns.Add(new MetricColumn { Id = item.Id, Index = i++, Value = item.Value, FieldName = item.FieldName, NumberFieldName = item.NumberFieldName, Deleted = false }); } i = 0; foreach (var item in columns.Where(c => !string.IsNullOrEmpty(c.DivisorValue))) { CoverageColumns.Add(new MetricCoverageColumn { Id = item.Id, Index = i++, Value = item.Value, FieldName = item.FieldName, DivisorValue = item.DivisorValue, DivisorFieldName = item.DivisorFieldName, CoverageName = item.CoverageName, Deleted = false }); } }
public void DropDeletedColumns() { NumberColumns.RemoveAll(m => m.Deleted); CoverageColumns.RemoveAll(m => m.Deleted); }
private bool IsNumberColumn(EntitySchemaColumn column, EntitySchema entitySchema) { return(NumberColumns.Any(pc => pc.Key == entitySchema.Name && pc.Value.Contains(column.Name))); }