Add formatter and initial tests.
This commit is contained in:
parent
a847c1f8ba
commit
e36fee52ad
84
Tests/Formatter/Elements/ItemsTest.cs
Executable file
84
Tests/Formatter/Elements/ItemsTest.cs
Executable file
@ -0,0 +1,84 @@
|
||||
/* ItemsTest.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using NUnit.Framework;
|
||||
using Microsoft.Office.Interop.Word;
|
||||
using zaaReloaded2.LabModel;
|
||||
using zaaReloaded2.Formatter;
|
||||
using zaa = zaaReloaded2.Formatter.Elements;
|
||||
|
||||
namespace Tests.Formatter.Elements
|
||||
{
|
||||
[TestFixture]
|
||||
class ItemsTest
|
||||
{
|
||||
[Test]
|
||||
public void ItemsTestWithoutCaption()
|
||||
{
|
||||
zaa.Items i = new zaa.Items("Na, K, Cl");
|
||||
TimePoint tp = new TimePoint();
|
||||
tp.TimeStamp = new DateTime(2015, 7, 13, 13, 31, 00);
|
||||
tp.AddItem(new LabItem("Na", "133", "133"));
|
||||
tp.AddItem(new LabItem("K", "6", "5"));
|
||||
// We do not add a 'Cl' item, and it should not appear in output.
|
||||
TimePointFormatter tpf = new TimePointFormatter(tp, ReferenceStyle.IfAbnormal);
|
||||
TimePointFormatterDictionary tpfd = new TimePointFormatterDictionary();
|
||||
tpfd.Add(tpf.TimeStamp, tpf);
|
||||
Document document = new Document();
|
||||
i.WriteToDocument(document, tpfd);
|
||||
Assert.AreEqual("Na 133, K 6 (5)\r", document.Range().Text);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ItemsTestWithCaption()
|
||||
{
|
||||
zaa.Items i = new zaa.Items("Klinische Chemie: Na, K, Cl");
|
||||
TimePoint tp = new TimePoint();
|
||||
tp.TimeStamp = new DateTime(2015, 7, 13, 13, 31, 00);
|
||||
tp.AddItem(new LabItem("Na", "133", ""));
|
||||
tp.AddItem(new LabItem("K", "6", "5"));
|
||||
// We do not add a 'Cl' item, and it should not appear in output.
|
||||
TimePointFormatter tpf = new TimePointFormatter(tp, ReferenceStyle.IfAbnormal);
|
||||
TimePointFormatterDictionary tpfd = new TimePointFormatterDictionary();
|
||||
tpfd.Add(tpf.TimeStamp, tpf);
|
||||
Document document = new Document();
|
||||
i.WriteToDocument(document, tpfd);
|
||||
Assert.AreEqual("Klinische Chemie: Na 133, K 6 (5)\r", document.Range().Text);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ItemsTestWithCaptionButNoItems()
|
||||
{
|
||||
zaa.Items i = new zaa.Items("Klinische Chemie: this, does, not, exist");
|
||||
TimePoint tp = new TimePoint();
|
||||
tp.TimeStamp = new DateTime(2015, 7, 13, 13, 31, 00);
|
||||
tp.AddItem(new LabItem("Na", "133", ""));
|
||||
tp.AddItem(new LabItem("K", "6", "5"));
|
||||
// We do not add a 'Cl' item, and it should not appear in output.
|
||||
TimePointFormatter tpf = new TimePointFormatter(tp, ReferenceStyle.IfAbnormal);
|
||||
TimePointFormatterDictionary tpfd = new TimePointFormatterDictionary();
|
||||
tpfd.Add(tpf.TimeStamp, tpf);
|
||||
Document document = new Document();
|
||||
i.WriteToDocument(document, tpfd);
|
||||
Assert.AreEqual("\r", document.Range().Text);
|
||||
}
|
||||
}
|
||||
}
|
45
Tests/Formatter/FormatterTest.cs
Executable file
45
Tests/Formatter/FormatterTest.cs
Executable file
@ -0,0 +1,45 @@
|
||||
/* FormatterTest.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using NUnit.Framework;
|
||||
using f = zaaReloaded2.Formatter;
|
||||
using zaaReloaded2.LabModel;
|
||||
using zaaReloaded2.Importer.ZaaImporter;
|
||||
using Microsoft.Office.Interop.Word;
|
||||
|
||||
namespace Tests.Formatter
|
||||
{
|
||||
[TestFixture]
|
||||
class FormatterTest
|
||||
{
|
||||
[Test]
|
||||
public void FormatLaboratory()
|
||||
{
|
||||
ZaaImporter importer = TestHelpers.ZaaImporterFromResource();
|
||||
f.Formatter formatter = new f.Formatter();
|
||||
formatter.Laboratory = importer.Laboratory;
|
||||
formatter.Elements.Add(new f.Elements.Items("Klinische Chemie: Na, K, Cl"));
|
||||
Document document = new Document();
|
||||
formatter.WriteToDocument(document);
|
||||
Assert.AreEqual("Klinische Chemie: Na: 132 mmol/l", document.Range().Text);
|
||||
}
|
||||
}
|
||||
}
|
@ -37,11 +37,7 @@ namespace Tests.Importer.ZaaImporter
|
||||
[Test]
|
||||
public void ParseTimePoints()
|
||||
{
|
||||
Stream s = this.GetType().Assembly.GetManifestResourceStream("Tests.demo-output.txt");
|
||||
StreamReader r = new StreamReader(s);
|
||||
zaa.ZaaImporter importer = new zaa.ZaaImporter();
|
||||
importer.Import(r.ReadToEnd());
|
||||
|
||||
zaa.ZaaImporter importer = TestHelpers.ZaaImporterFromResource();
|
||||
// Only 6 distinct time points (see method documentation above).
|
||||
Assert.AreEqual(6, importer.Laboratory.TimePoints.Count);
|
||||
}
|
||||
|
42
Tests/TestHelpers.cs
Executable file
42
Tests/TestHelpers.cs
Executable file
@ -0,0 +1,42 @@
|
||||
/* TestHelpers.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using zaaReloaded2.Importer.ZaaImporter;
|
||||
|
||||
namespace Tests
|
||||
{
|
||||
class TestHelpers
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates a ZaaImporter object and imports demo-output.txt.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static ZaaImporter ZaaImporterFromResource()
|
||||
{
|
||||
Stream s = typeof(TestHelpers).Assembly.GetManifestResourceStream("Tests.demo-output.txt");
|
||||
StreamReader r = new StreamReader(s);
|
||||
ZaaImporter importer = new ZaaImporter();
|
||||
importer.Import(r.ReadToEnd());
|
||||
return importer;
|
||||
}
|
||||
}
|
||||
}
|
@ -41,6 +41,9 @@
|
||||
<AssemblyOriginatorKeyFile>zaaReloaded2.pfx</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Office.Interop.Word, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
|
||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
|
||||
@ -64,6 +67,8 @@
|
||||
</Choose>
|
||||
<ItemGroup>
|
||||
<Compile Include="Dictionaries\DictionaryTest.cs" />
|
||||
<Compile Include="Formatter\Elements\ItemsTest.cs" />
|
||||
<Compile Include="Formatter\FormatterTest.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\LaurisItemTest.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\LaurisParagraphTest.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\ZaaImporterTest.cs" />
|
||||
@ -71,6 +76,7 @@
|
||||
<Compile Include="LineParserTest.cs" />
|
||||
<Compile Include="Dictionaries\TestDictionary.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\TimePointTest.cs" />
|
||||
<Compile Include="TestHelpers.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
@ -89,6 +95,7 @@
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="demo-output.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Choose>
|
||||
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
|
||||
<ItemGroup>
|
||||
|
47
zaaReloaded2/Formatter/Elements/ElementBase.cs
Executable file
47
zaaReloaded2/Formatter/Elements/ElementBase.cs
Executable file
@ -0,0 +1,47 @@
|
||||
/* ElementBase.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Office.Interop.Word;
|
||||
using zaaReloaded2.LabModel;
|
||||
|
||||
namespace zaaReloaded2.Formatter.Elements
|
||||
{
|
||||
/// <summary>
|
||||
/// Base class for formatting elements.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
abstract class ElementBase
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns the label for this formatting element.
|
||||
/// </summary>
|
||||
abstract public string Label { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Writes the formatting element to a Word document.
|
||||
/// </summary>
|
||||
/// <param name="document">Word document to write to.</param>
|
||||
/// <param name="timePoints">Laboratory time points to work with.</param>
|
||||
abstract public void WriteToDocument(
|
||||
Document document,
|
||||
ITimePointFormatterDictionary workingTimePoints);
|
||||
}
|
||||
}
|
29
zaaReloaded2/Formatter/Elements/ElementsList.cs
Executable file
29
zaaReloaded2/Formatter/Elements/ElementsList.cs
Executable file
@ -0,0 +1,29 @@
|
||||
/* ElementsList.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace zaaReloaded2.Formatter.Elements
|
||||
{
|
||||
[Serializable]
|
||||
class ElementsList : List<ElementBase>
|
||||
{
|
||||
}
|
||||
}
|
164
zaaReloaded2/Formatter/Elements/Items.cs
Executable file
164
zaaReloaded2/Formatter/Elements/Items.cs
Executable file
@ -0,0 +1,164 @@
|
||||
/* Items.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using Microsoft.Office.Interop.Word;
|
||||
using zaaReloaded2.LabModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace zaaReloaded2.Formatter.Elements
|
||||
{
|
||||
/// <summary>
|
||||
/// This formatting element is concerned with writing <see cref="LabItem"/>s
|
||||
/// to a Word document.
|
||||
/// </summary>
|
||||
class Items : ElementBase
|
||||
{
|
||||
#region ElementBase implementation
|
||||
|
||||
public override string Label
|
||||
{
|
||||
get { return Line; }
|
||||
}
|
||||
|
||||
public override void WriteToDocument(
|
||||
Document document,
|
||||
ITimePointFormatterDictionary workingTimePoints)
|
||||
{
|
||||
_document = document;
|
||||
bool _needComma = false;
|
||||
|
||||
// Find out if we have any items that we can write
|
||||
// to the document
|
||||
List<ItemFormatter> items = new List<ItemFormatter>();
|
||||
if (_items != null && _items.Count > 0)
|
||||
{
|
||||
foreach (string itemName in _items)
|
||||
{
|
||||
TimePointFormatter tpf = workingTimePoints
|
||||
.FirstOrDefault(tp => tp.Value.ContainsItem(itemName))
|
||||
.Value;
|
||||
if (tpf != null)
|
||||
{
|
||||
// If tpf is not null, this means that it contains an
|
||||
// item with itemName.
|
||||
items.Add(tpf.ItemFormatters[itemName]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If there are items, write the caption (if any), then the items
|
||||
if (items.Count > 0)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(_caption))
|
||||
{
|
||||
document.Range().InsertAfter(
|
||||
String.Format("{0}: ", _caption)
|
||||
);
|
||||
};
|
||||
foreach (ItemFormatter i in items)
|
||||
{
|
||||
if (_needComma)
|
||||
{
|
||||
document.Range().InsertAfter(", ");
|
||||
}
|
||||
else
|
||||
{
|
||||
_needComma = true;
|
||||
}
|
||||
i.WriteToDocument(document);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a text line that contains a comma-separated list of
|
||||
/// parsable laboratory item names. The list may optionally be preceded
|
||||
/// with a caption followed by a colon.
|
||||
/// </summary>
|
||||
public string Line
|
||||
{
|
||||
[DebuggerStepThrough]
|
||||
get
|
||||
{
|
||||
return _line;
|
||||
}
|
||||
set
|
||||
{
|
||||
_line = value;
|
||||
ParseLine();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public Items() : base() { }
|
||||
|
||||
public Items(string line)
|
||||
: this()
|
||||
{
|
||||
Line = line;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Private methods
|
||||
|
||||
/// <summary>
|
||||
/// Parses the Line and splits it into an optional caption and individual
|
||||
/// items.
|
||||
/// </summary>
|
||||
void ParseLine()
|
||||
{
|
||||
_items = null;
|
||||
_caption = null;
|
||||
Regex r = new Regex(@"((?<caption>[^:]+):\s*)?((?<items>[^,]+),\s*)+");
|
||||
Match m = r.Match(Line);
|
||||
if (m.Success)
|
||||
{
|
||||
if (m.Groups["caption"].Success)
|
||||
{
|
||||
_caption = m.Groups["caption"].Value;
|
||||
}
|
||||
_items = m.Groups["items"].Captures
|
||||
.Cast<Capture>()
|
||||
.Select<Capture, string>(c => c.Value).ToList<string>();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
||||
Document _document;
|
||||
string _line;
|
||||
string _caption;
|
||||
List<string> _items;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
101
zaaReloaded2/Formatter/Formatter.cs
Executable file
101
zaaReloaded2/Formatter/Formatter.cs
Executable file
@ -0,0 +1,101 @@
|
||||
/* Formatter.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Office.Interop.Word;
|
||||
using zaaReloaded2.Formatter.Elements;
|
||||
using zaaReloaded2.LabModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace zaaReloaded2.Formatter
|
||||
{
|
||||
/// <summary>
|
||||
/// Formats and writes a <see cref="Laboratory"/> to a Word document.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
class Formatter
|
||||
{
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Gets a list of formatting elements (derived from
|
||||
/// <see cref="ElementBase"/>).
|
||||
/// </summary>
|
||||
public ElementsList Elements { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the style of the normal range reference.
|
||||
/// </summary>
|
||||
public ReferenceStyle ReferenceStyle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the <see cref="Laboratory"/> that shall be
|
||||
/// formatted.
|
||||
/// </summary>
|
||||
public Laboratory Laboratory
|
||||
{
|
||||
[DebuggerStepThrough]
|
||||
get
|
||||
{
|
||||
return _laboratory;
|
||||
}
|
||||
set
|
||||
{
|
||||
_laboratory = value;
|
||||
_timePointFormatters = new TimePointFormatterDictionary();
|
||||
foreach (TimePoint tp in _laboratory.TimePoints.Values)
|
||||
{
|
||||
_timePointFormatters[tp.TimeStamp] = new TimePointFormatter(tp, ReferenceStyle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
|
||||
public Formatter()
|
||||
{
|
||||
Elements = new ElementsList();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Public methods
|
||||
|
||||
/// <summary>
|
||||
/// Formats the laboratory and writes it to a Word document.
|
||||
/// </summary>
|
||||
/// <param name="document">Word document to write to (at the
|
||||
/// current position of the cursor).</param>
|
||||
public void WriteToDocument(Document document)
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
||||
ITimePointFormatterDictionary _timePointFormatters;
|
||||
Laboratory _laboratory;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
28
zaaReloaded2/Formatter/IItemFormatterDictionary.cs
Executable file
28
zaaReloaded2/Formatter/IItemFormatterDictionary.cs
Executable file
@ -0,0 +1,28 @@
|
||||
/* IItemFormatterDictionary.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace zaaReloaded2.Formatter
|
||||
{
|
||||
public interface IItemFormatterDictionary : IDictionary<string, ItemFormatter>
|
||||
{
|
||||
}
|
||||
}
|
28
zaaReloaded2/Formatter/ITimePointFormatterDictionary.cs
Executable file
28
zaaReloaded2/Formatter/ITimePointFormatterDictionary.cs
Executable file
@ -0,0 +1,28 @@
|
||||
/* ITimePointFormatterDictionary.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace zaaReloaded2.Formatter
|
||||
{
|
||||
public interface ITimePointFormatterDictionary : IDictionary<DateTime, TimePointFormatter>
|
||||
{
|
||||
}
|
||||
}
|
127
zaaReloaded2/Formatter/ItemFormatter.cs
Executable file
127
zaaReloaded2/Formatter/ItemFormatter.cs
Executable file
@ -0,0 +1,127 @@
|
||||
/* ItemFormatter.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Office.Interop.Word;
|
||||
using zaaReloaded2.LabModel;
|
||||
|
||||
namespace zaaReloaded2.Formatter
|
||||
{
|
||||
/// <summary>
|
||||
/// Wraps a <see cref="LabItem"/> and provides methods to format it.
|
||||
/// </summary>
|
||||
public class ItemFormatter
|
||||
{
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the LabItem wrapped by this ItemFormatter.
|
||||
/// </summary>
|
||||
public LabItem LabItem { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the ReferenceStyle to use in formatting.
|
||||
/// </summary>
|
||||
public ReferenceStyle ReferenceStyle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a flag that indicates whether this ItemFormatter
|
||||
/// has been used, i.e. whether the LabItem was written to a
|
||||
/// document.
|
||||
/// </summary>
|
||||
public bool HasBeenUsed { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new ItemFormatter that wraps a <paramref name="labItem"/>.
|
||||
/// </summary>
|
||||
/// <param name="labItem">LabItem to wrap in this ItemFormatter.</param>
|
||||
public ItemFormatter(LabItem labItem, ReferenceStyle referenceStyle)
|
||||
{
|
||||
LabItem = labItem;
|
||||
ReferenceStyle = referenceStyle;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <summary>
|
||||
/// Formats and writes the LabItem details to a word <paramref name="document"/>.
|
||||
/// </summary>
|
||||
/// <param name="document">Word document to write to.</param>
|
||||
public void WriteToDocument(Document document)
|
||||
{
|
||||
string reference;
|
||||
if (
|
||||
LabItem.HasLimitsOrNormal &&
|
||||
(
|
||||
ReferenceStyle == ReferenceStyle.Always ||
|
||||
(ReferenceStyle == ReferenceStyle.IfAbnormal && !LabItem.IsNormal) ||
|
||||
(ReferenceStyle == ReferenceStyle.IfSpecialItem && LabItem.AlwaysPrintLimits) ||
|
||||
(ReferenceStyle == ReferenceStyle.IfSpecialOrAbnormal &&
|
||||
(!LabItem.IsNormal || LabItem.AlwaysPrintLimits))
|
||||
)
|
||||
)
|
||||
{
|
||||
string normal;
|
||||
if (LabItem.HasLowerLimit && LabItem.HasUpperLimit)
|
||||
{
|
||||
normal = String.Format("{0}-{1}", LabItem.LowerLimit, LabItem.UpperLimit);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (LabItem.HasLowerLimit)
|
||||
{
|
||||
normal = String.Format("> {0}", LabItem.LowerLimit);
|
||||
}
|
||||
else if (LabItem.HasUpperLimit)
|
||||
{
|
||||
normal = String.Format("< {0}", LabItem.UpperLimit);
|
||||
}
|
||||
else
|
||||
{
|
||||
normal = LabItem.Normal;
|
||||
}
|
||||
}
|
||||
reference = String.Format(" ({0})", normal);
|
||||
}
|
||||
else
|
||||
{
|
||||
reference = String.Empty;
|
||||
}
|
||||
|
||||
// Insert the formatted text into the document.
|
||||
document.Range().InsertAfter(
|
||||
String.Format(
|
||||
"{0} {1}{2}",
|
||||
LabItem.QualifiedName,
|
||||
LabItem.Value,
|
||||
reference
|
||||
));
|
||||
HasBeenUsed = true;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
30
zaaReloaded2/Formatter/ItemFormatterDictionary.cs
Executable file
30
zaaReloaded2/Formatter/ItemFormatterDictionary.cs
Executable file
@ -0,0 +1,30 @@
|
||||
/* ItemFormatterDictionary.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace zaaReloaded2.Formatter
|
||||
{
|
||||
class ItemFormatterDictionary
|
||||
: Dictionary<string, ItemFormatter>,
|
||||
IItemFormatterDictionary
|
||||
{
|
||||
}
|
||||
}
|
62
zaaReloaded2/Formatter/ReferenceStyle.cs
Executable file
62
zaaReloaded2/Formatter/ReferenceStyle.cs
Executable file
@ -0,0 +1,62 @@
|
||||
/* ReferenceStyle.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace zaaReloaded2.Formatter
|
||||
{
|
||||
/// <summary>
|
||||
/// Describes the style of normal range references.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public enum ReferenceStyle
|
||||
{
|
||||
/// <summary>
|
||||
/// Never write normal ranges
|
||||
/// </summary>
|
||||
[Description("Referenzbereich nie ausgeben")]
|
||||
Never,
|
||||
|
||||
/// <summary>
|
||||
/// Write normal range if item is marked in dictionary
|
||||
/// </summary>
|
||||
[Description("Referenzbereich ausgeben, falls Parameter so markiert ist")]
|
||||
IfSpecialItem,
|
||||
|
||||
/// <summary>
|
||||
/// Write normal range if value is abnormal
|
||||
/// </summary>
|
||||
[Description("Referenzbereich ausgeben, falls Wert nicht normal ist")]
|
||||
IfAbnormal,
|
||||
|
||||
/// <summary>
|
||||
/// Write normal range if item is marked in dictionary, or if value is abnormal
|
||||
/// </summary>
|
||||
[Description("Referenzbereich ausgeben, falls Parameter so markiert ist oder falls Wert nicht normal ist")]
|
||||
IfSpecialOrAbnormal,
|
||||
|
||||
/// <summary>
|
||||
/// Always write normal range reference
|
||||
/// </summary>
|
||||
[Description("Referenzbereich immer ausgeben")]
|
||||
Always
|
||||
}
|
||||
}
|
76
zaaReloaded2/Formatter/TimePointFormatter.cs
Executable file
76
zaaReloaded2/Formatter/TimePointFormatter.cs
Executable file
@ -0,0 +1,76 @@
|
||||
/* TimePointFormatter.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using zaaReloaded2.LabModel;
|
||||
|
||||
namespace zaaReloaded2.Formatter
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates a list of ItemFormatter objects from a TimePoint.
|
||||
/// </summary>
|
||||
public class TimePointFormatter
|
||||
{
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Gets the time stamp of the <see cref="TimePoint"/> from which this
|
||||
/// TimePointFormatter was built.
|
||||
/// </summary>
|
||||
public DateTime TimeStamp { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a dictionary of ItemFormatter objects that wrap LabItems.
|
||||
/// The QualifiedName of each LabItem is used as key.
|
||||
/// </summary>
|
||||
public IItemFormatterDictionary ItemFormatters { get; private set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new TimePointFormatter object using a given
|
||||
/// <paramref name="timePoint"/>.
|
||||
/// </summary>
|
||||
/// <param name="timePoint">TimePoint whose LabItems will be
|
||||
/// used to create ItemFormatter objects.</param>
|
||||
public TimePointFormatter(TimePoint timePoint, ReferenceStyle referenceStyle)
|
||||
{
|
||||
TimeStamp = timePoint.TimeStamp;
|
||||
ItemFormatters = new ItemFormatterDictionary();
|
||||
foreach (LabItem item in timePoint.Items.Values)
|
||||
{
|
||||
ItemFormatters[item.QualifiedName] = new ItemFormatter(item, referenceStyle);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
public bool ContainsItem(string itemName)
|
||||
{
|
||||
return ItemFormatters.ContainsKey(itemName);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
30
zaaReloaded2/Formatter/TimePointFormatterDictionary.cs
Executable file
30
zaaReloaded2/Formatter/TimePointFormatterDictionary.cs
Executable file
@ -0,0 +1,30 @@
|
||||
/* TimePointFormatterDictionary.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace zaaReloaded2.Formatter
|
||||
{
|
||||
public class TimePointFormatterDictionary
|
||||
: Dictionary<DateTime, TimePointFormatter>,
|
||||
ITimePointFormatterDictionary
|
||||
{
|
||||
}
|
||||
}
|
@ -155,7 +155,6 @@ namespace zaaReloaded2.Importer.ZaaImporter
|
||||
/// and contains <see cref="LabItem"/>s in the others.</returns>
|
||||
bool ParseParagraphs()
|
||||
{
|
||||
Items = new ItemDictionary();
|
||||
if (Paragraphs.Length > 0)
|
||||
{
|
||||
if (!ParseTimeStamp()) return false;
|
||||
|
@ -20,7 +20,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace zaaReloaded2.Dictionaries
|
||||
namespace zaaReloaded2.LabModel
|
||||
{
|
||||
/// <summary>
|
||||
/// A dictionary of <see cref="LabItem"/>s.
|
28
zaaReloaded2/LabModel/ITimePointsDictionary.cs
Executable file
28
zaaReloaded2/LabModel/ITimePointsDictionary.cs
Executable file
@ -0,0 +1,28 @@
|
||||
/* ITimePointsDictionary.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace zaaReloaded2.LabModel
|
||||
{
|
||||
public interface ITimePointsDictionary : IDictionary<DateTime, TimePoint>
|
||||
{
|
||||
}
|
||||
}
|
@ -21,7 +21,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using zaaReloaded2.LabModel;
|
||||
|
||||
namespace zaaReloaded2.Dictionaries
|
||||
namespace zaaReloaded2.LabModel
|
||||
{
|
||||
public class ItemDictionary : SortedDictionary<string, LabItem>, IItemDictionary
|
||||
{
|
@ -161,6 +161,18 @@ namespace zaaReloaded2.LabModel
|
||||
get { return (HasLowerLimit || HasUpperLimit); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Is true if the item has numerical limits or a categorical normal
|
||||
/// value.
|
||||
/// </summary>
|
||||
public bool HasLimitsOrNormal
|
||||
{
|
||||
get
|
||||
{
|
||||
return HasLimits || !String.IsNullOrEmpty(Normal);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the canonical name prefixed with the abbreviation
|
||||
/// for the material, e.g. "U-Na" for sodium in the spot urine,
|
||||
@ -187,10 +199,23 @@ namespace zaaReloaded2.LabModel
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
#region Constructors
|
||||
|
||||
public LabItem() { }
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new LabItem object that has a normal value, but
|
||||
/// no upper or lower limits. This is constructor is used for
|
||||
/// testing purposes.
|
||||
/// </summary>
|
||||
public LabItem(string name, string value, string normal)
|
||||
: this()
|
||||
{
|
||||
Name = name;
|
||||
Value = value;
|
||||
Normal = normal;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
@ -29,7 +29,7 @@ namespace zaaReloaded2.LabModel
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public SortedDictionary<DateTime, TimePoint> TimePoints { get; set; }
|
||||
public ITimePointsDictionary TimePoints { get; private set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -37,7 +37,7 @@ namespace zaaReloaded2.LabModel
|
||||
|
||||
public Laboratory()
|
||||
{
|
||||
TimePoints = new SortedDictionary<DateTime, TimePoint>();
|
||||
TimePoints = new TimePointsDictionary();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -45,12 +45,34 @@ namespace zaaReloaded2.LabModel
|
||||
/// the <see cref="LaurisText"/>. If a laboratory parameter occurs more
|
||||
/// than once, only the last occurrence is saved.
|
||||
/// </summary>
|
||||
public IItemDictionary Items { get; set; }
|
||||
public IItemDictionary Items { get; private set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
|
||||
public TimePoint()
|
||||
{
|
||||
Items = new ItemDictionary();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <summary>
|
||||
/// Adds an item to the TimePoint.
|
||||
/// </summary>
|
||||
/// <param name="item">LabItem to add.</param>
|
||||
public void AddItem(LabItem item)
|
||||
{
|
||||
if (String.IsNullOrEmpty(item.QualifiedName))
|
||||
{
|
||||
throw new ArgumentException("Cannot add item that has no qualified name.");
|
||||
}
|
||||
Items.Add(item.QualifiedName, item);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds the items from another time point to this
|
||||
/// time point. There is no check for plausibility,
|
||||
@ -67,6 +89,18 @@ namespace zaaReloaded2.LabModel
|
||||
Items.Merge(otherTimePoint.Items);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns true if <see cref="Items"/> contains a given
|
||||
/// item.
|
||||
/// </summary>
|
||||
/// <param name="item">Item string to look for.</param>
|
||||
/// <returns>True if <see cref="Items"/> contains <paramref name="item."/>
|
||||
/// </returns>
|
||||
public bool ContainsItem(string item)
|
||||
{
|
||||
return Items.ContainsKey(item);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
28
zaaReloaded2/LabModel/TimePointsDictionary.cs
Executable file
28
zaaReloaded2/LabModel/TimePointsDictionary.cs
Executable file
@ -0,0 +1,28 @@
|
||||
/* TimePointsDictionary.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace zaaReloaded2.LabModel
|
||||
{
|
||||
class TimePointsDictionary : SortedDictionary<DateTime, TimePoint>, ITimePointsDictionary
|
||||
{
|
||||
}
|
||||
}
|
@ -164,20 +164,33 @@
|
||||
-->
|
||||
<ItemGroup>
|
||||
<Compile Include="Dictionaries\DictionaryBase.cs" />
|
||||
<Compile Include="Dictionaries\IItemDictionary.cs" />
|
||||
<Compile Include="Dictionaries\ItemDictionary.cs" />
|
||||
<Compile Include="Formatter\Elements\ElementsList.cs" />
|
||||
<Compile Include="Formatter\IItemFormatterDictionary.cs" />
|
||||
<Compile Include="Formatter\ItemFormatter.cs" />
|
||||
<Compile Include="Formatter\ItemFormatterDictionary.cs" />
|
||||
<Compile Include="Formatter\ITimePointFormatterDictionary.cs" />
|
||||
<Compile Include="Formatter\TimePointFormatter.cs" />
|
||||
<Compile Include="Formatter\TimePointFormatterDictionary.cs" />
|
||||
<Compile Include="LabModel\IItemDictionary.cs" />
|
||||
<Compile Include="LabModel\ItemDictionary.cs" />
|
||||
<Compile Include="Dictionaries\LineParser.cs" />
|
||||
<Compile Include="Dictionaries\ParameterDictionary.cs" />
|
||||
<Compile Include="Dictionaries\UnitDictionary.cs" />
|
||||
<Compile Include="Formatter\Elements\ElementBase.cs" />
|
||||
<Compile Include="Formatter\Elements\Items.cs" />
|
||||
<Compile Include="Formatter\Formatter.cs" />
|
||||
<Compile Include="Formatter\ReferenceStyle.cs" />
|
||||
<Compile Include="Importer\IImporter.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\LaurisItem.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\LaurisTimePoint.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\ZaaImporter.cs" />
|
||||
<Compile Include="LabModel\ITimePointsDictionary.cs" />
|
||||
<Compile Include="LabModel\LabItem.cs" />
|
||||
<Compile Include="LabModel\Laboratory.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\LaurisParagraph.cs" />
|
||||
<Compile Include="LabModel\Material.cs" />
|
||||
<Compile Include="LabModel\TimePoint.cs" />
|
||||
<Compile Include="LabModel\TimePointsDictionary.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
@ -216,9 +229,7 @@
|
||||
<EmbeddedResource Include="Defaults\parameters.txt" />
|
||||
<EmbeddedResource Include="Defaults\units.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Formatter\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
|
Loading…
Reference in New Issue
Block a user