Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 319a44c2 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

added additional field mechanism in ModData

parent 35002a99
No related branches found
No related tags found
No related merge requests found
......@@ -93,6 +93,8 @@ namespace TUGraz.VectoCore.OutputData
Dictionary<string, DataColumn> Auxiliaries { get; set; }
void SetDataValue(string fieldName, object value);
void AddAuxiliary(string id);
}
......
......@@ -33,6 +33,7 @@ using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Runtime.CompilerServices;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Utils;
using TUGraz.VectoCore.Models.Simulation.Data;
......@@ -49,6 +50,7 @@ namespace TUGraz.VectoCore.OutputData
//private readonly VectoRunData _runData;
private readonly IModalDataWriter _writer;
private readonly List<string> _additionalColumns = new List<string>();
public string RunName { get; private set; }
public string CycleName { get; private set; }
public string RunSuffix { get; private set; }
......@@ -184,11 +186,11 @@ namespace TUGraz.VectoCore.OutputData
}
var strCols = dataColumns.Select(x => x.GetName())
.Concat((Auxiliaries.Values.Select(c => c.ColumnName)))
.Concat(new[] { ModalResultField.FCMap, ModalResultField.FCAUXc, ModalResultField.FCWHTCc }.Select(x => x.GetName()));
.Concat(Auxiliaries.Values.Select(c => c.ColumnName))
.Concat(new[] { ModalResultField.FCMap, ModalResultField.FCAUXc, ModalResultField.FCWHTCc }.Select(x => x.GetName()))
.Concat(_additionalColumns);
if (_mode != ExecutionMode.Declaration || WriteModalResults) {
//VectoCSVFile.Write(_modWriter, new DataView(Data).ToTable(false, strCols.ToArray()));
_writer.WriteModData(RunName, CycleName, RunSuffix,
new DataView(Data).ToTable(false, strCols.ToArray()));
}
......@@ -220,6 +222,15 @@ namespace TUGraz.VectoCore.OutputData
set { CurrentRow[Auxiliaries[auxId]] = value; }
}
[MethodImpl(MethodImplOptions.Synchronized)]
public void SetDataValue(string fieldName, object value)
{
if (!Data.Columns.Contains(fieldName)) {
_additionalColumns.Add(fieldName);
Data.Columns.Add(fieldName);
}
CurrentRow[fieldName] = value;
}
public Dictionary<string, DataColumn> Auxiliaries { get; set; }
......
......@@ -78,7 +78,6 @@ namespace TUGraz.VectoCore.Tests.Utils
get { return VectoRun.Status.Success; }
}
public void Finish(VectoRun.Status runStatus) {}
public bool WriteModalResults { get; set; }
......@@ -95,6 +94,11 @@ namespace TUGraz.VectoCore.Tests.Utils
public Dictionary<string, DataColumn> Auxiliaries { get; set; }
public void SetDataValue(string fieldName, object value)
{
throw new System.NotImplementedException();
}
public void AddAuxiliary(string id)
{
var auxColName = ModalResultField.P_aux_ + id;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment