Index: DeltaShell.sln
===================================================================
diff -u -r2423a70958e7fecfc92afa462c34194cc695a81e -rfaf875db79b0ba95a39e599bbd3e18e8b4b55451
--- DeltaShell.sln (.../DeltaShell.sln) (revision 2423a70958e7fecfc92afa462c34194cc695a81e)
+++ DeltaShell.sln (.../DeltaShell.sln) (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -150,7 +150,7 @@
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "WtiSetup", "setup\Plugins\WtiSetup\WtiSetup.wixproj", "{3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Service", "src\Plugins\Wti\Wti.Service\Wti.Service.csproj", "{10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Service", "src\Plugins\Ringtoets\Piping\Wti.Service\Wti.Service.csproj", "{10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Service.Test", "test\Plugins\Wti\Wti.Service.Test\Wti.Service.Test.csproj", "{D783543B-46A1-4848-A812-AF5A5259ED7E}"
EndProject
Index: src/DeltaShell/DeltaShell.Gui/DeltaShell.Gui.csproj
===================================================================
diff -u -r1d6beb90006c5c2d9f833f5d13ae522df9f65973 -rfaf875db79b0ba95a39e599bbd3e18e8b4b55451
--- src/DeltaShell/DeltaShell.Gui/DeltaShell.Gui.csproj (.../DeltaShell.Gui.csproj) (revision 1d6beb90006c5c2d9f833f5d13ae522df9f65973)
+++ src/DeltaShell/DeltaShell.Gui/DeltaShell.Gui.csproj (.../DeltaShell.Gui.csproj) (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -296,7 +296,7 @@
{d64e4f0e-e341-496f-82b2-941ad202b4e3}
Wti.Calculation
-
+
{10b8d63d-87e8-46df-aca9-a8cf22ee8fb5}
Wti.Service
Index: src/Plugins/Ringtoets/Piping/Wti.Service/DateTimeService.cs
===================================================================
diff -u
--- src/Plugins/Ringtoets/Piping/Wti.Service/DateTimeService.cs (revision 0)
+++ src/Plugins/Ringtoets/Piping/Wti.Service/DateTimeService.cs (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -0,0 +1,21 @@
+using System;
+
+namespace Wti.Service
+{
+ ///
+ /// The class is responsible for providing general operations.
+ ///
+ public static class DateTimeService
+ {
+ ///
+ /// Gets the current time in HH:mm:ss format.
+ ///
+ public static String CurrentTimeAsString
+ {
+ get
+ {
+ return DateTime.Now.ToString("HH:mm:ss");
+ }
+ }
+ }
+}
\ No newline at end of file
Index: src/Plugins/Ringtoets/Piping/Wti.Service/PipingCalculationResult.cs
===================================================================
diff -u
--- src/Plugins/Ringtoets/Piping/Wti.Service/PipingCalculationResult.cs (revision 0)
+++ src/Plugins/Ringtoets/Piping/Wti.Service/PipingCalculationResult.cs (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -0,0 +1,23 @@
+namespace Wti.Service
+{
+ ///
+ /// Status result from a calculation or validation performed by the .
+ ///
+ public enum PipingCalculationResult
+ {
+ ///
+ /// Value which is returned when no calculation or validation errors occurred.
+ ///
+ Successful,
+
+ ///
+ /// Value which is returned when the validation routine resulted in validation errors.
+ ///
+ ValidationErrors,
+
+ ///
+ /// Value which is returned when the calculation routine encountered problems.
+ ///
+ CalculationErrors
+ }
+}
\ No newline at end of file
Index: src/Plugins/Ringtoets/Piping/Wti.Service/PipingCalculationService.cs
===================================================================
diff -u
--- src/Plugins/Ringtoets/Piping/Wti.Service/PipingCalculationService.cs (revision 0)
+++ src/Plugins/Ringtoets/Piping/Wti.Service/PipingCalculationService.cs (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -0,0 +1,128 @@
+using System;
+using log4net;
+using Wti.Calculation.Piping;
+using Wti.Data;
+using Wti.Service.Properties;
+
+namespace Wti.Service
+{
+ ///
+ /// This class is responsible for invoking operations on the . Error and status information is
+ /// logged during the execution of the operation. At the end of an operation, a is returned,
+ /// representing the result of the operation.
+ ///
+ public static class PipingCalculationService
+ {
+ private static readonly ILog PipingDataLogger = LogManager.GetLogger(typeof(PipingData));
+
+ ///
+ /// Performs a piping calculation based on the supplied and sets
+ /// to the if the calculation was successful. Error and status information is logged during
+ /// the execution of the operation.
+ ///
+ /// The to base the input for the calculation upon.
+ /// If contains validation errors, then is returned.
+ /// If problems were encountered during the calculation, is returned.
+ /// Otherwise, is returned.
+ public static PipingCalculationResult PerfromValidatedCalculation(PipingData pipingData)
+ {
+ PipingCalculationResult validationResult = Validate(pipingData);
+
+ if (validationResult == PipingCalculationResult.Successful)
+ {
+ ClearOutput(pipingData);
+ return Calculate(pipingData);
+ }
+
+ return validationResult;
+ }
+
+ ///
+ /// Performs validation over the values on the given . Error and status information is logged during
+ /// the execution of the operation.
+ ///
+ /// The for which to validate the values.
+ /// If contains validation errors, then is returned.
+ /// Otherwise, is returned.
+ public static PipingCalculationResult Validate(PipingData pipingData)
+ {
+ PipingDataLogger.Info(String.Format(Resources.ValidationStarted_0, DateTimeService.CurrentTimeAsString));
+
+ var validationResults = new PipingCalculation(CreateInputFromData(pipingData)).Validate();
+ LogMessagesAsError(Resources.ErrorInPipingValidation_0, validationResults.ToArray());
+
+ PipingDataLogger.Info(String.Format(Resources.ValidationEnded_0, DateTimeService.CurrentTimeAsString));
+
+ return validationResults.Count > 0 ? PipingCalculationResult.ValidationErrors : PipingCalculationResult.Successful;
+ }
+
+ private static void LogMessagesAsError(string format, params string[] errorMessages)
+ {
+ foreach (var errorMessage in errorMessages)
+ {
+ PipingDataLogger.Error(string.Format(format, errorMessage));
+ }
+ }
+
+ private static void ClearOutput(PipingData pipingData)
+ {
+ pipingData.Output = null;
+ }
+
+ private static PipingCalculationResult Calculate(PipingData pipingData)
+ {
+ PipingDataLogger.Info(String.Format(Resources.CalculationStarted_0, DateTimeService.CurrentTimeAsString));
+
+ try
+ {
+ var pipingResult = new PipingCalculation(CreateInputFromData(pipingData)).Calculate();
+
+ pipingData.Output = new PipingOutput(pipingResult.UpliftZValue,
+ pipingResult.UpliftFactorOfSafety,
+ pipingResult.HeaveZValue,
+ pipingResult.HeaveFactorOfSafety,
+ pipingResult.SellmeijerZValue,
+ pipingResult.SellmeijerFactorOfSafety);
+ }
+ catch (PipingCalculationException e)
+ {
+ LogMessagesAsError(Resources.ErrorInPipingCalculation_0, e.Message);
+ return PipingCalculationResult.CalculationErrors;
+ }
+ finally
+ {
+ PipingDataLogger.Info(String.Format(Resources.CalculationEnded_0, DateTimeService.CurrentTimeAsString));
+ }
+ return PipingCalculationResult.Successful;
+ }
+
+ private static PipingCalculationInput CreateInputFromData(PipingData pipingData)
+ {
+ return new PipingCalculationInput(
+ pipingData.WaterVolumetricWeight,
+ pipingData.UpliftModelFactor,
+ pipingData.AssessmentLevel,
+ pipingData.PiezometricHeadExit,
+ pipingData.DampingFactorExit,
+ pipingData.PhreaticLevelExit,
+ pipingData.PiezometricHeadPolder,
+ pipingData.CriticalHeaveGradient,
+ pipingData.ThicknessCoverageLayer,
+ pipingData.SellmeijerModelFactor,
+ pipingData.SellmeijerReductionFactor,
+ pipingData.SeepageLength,
+ pipingData.SandParticlesVolumicWeight,
+ pipingData.WhitesDragCoefficient,
+ pipingData.Diameter70,
+ pipingData.DarcyPermeability,
+ pipingData.WaterKinematicViscosity,
+ pipingData.Gravity,
+ pipingData.ThicknessAquiferLayer,
+ pipingData.MeanDiameter70,
+ pipingData.BeddingAngle,
+ pipingData.ExitPointXCoordinate,
+ pipingData.SurfaceLine
+ );
+ }
+ }
+}
\ No newline at end of file
Index: src/Plugins/Ringtoets/Piping/Wti.Service/Properties/AssemblyInfo.cs
===================================================================
diff -u
--- src/Plugins/Ringtoets/Piping/Wti.Service/Properties/AssemblyInfo.cs (revision 0)
+++ src/Plugins/Ringtoets/Piping/Wti.Service/Properties/AssemblyInfo.cs (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -0,0 +1,6 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("Wti.Service")]
+[assembly: AssemblyProduct("Wti.Service")]
+[assembly: Guid("3ad44406-356a-4ad1-b911-510da20d5430")]
\ No newline at end of file
Index: src/Plugins/Ringtoets/Piping/Wti.Service/Properties/Resources.Designer.cs
===================================================================
diff -u
--- src/Plugins/Ringtoets/Piping/Wti.Service/Properties/Resources.Designer.cs (revision 0)
+++ src/Plugins/Ringtoets/Piping/Wti.Service/Properties/Resources.Designer.cs (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -0,0 +1,117 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.34209
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Wti.Service.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Wti.Service.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Berekening beëindigd om: {0}.
+ ///
+ internal static string CalculationEnded_0 {
+ get {
+ return ResourceManager.GetString("CalculationEnded_0", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Berekening gestart om: {0}.
+ ///
+ internal static string CalculationStarted_0 {
+ get {
+ return ResourceManager.GetString("CalculationStarted_0", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Piping berekening niet gelukt: {0}.
+ ///
+ internal static string ErrorInPipingCalculation_0 {
+ get {
+ return ResourceManager.GetString("ErrorInPipingCalculation_0", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Validatie mislukt: {0}.
+ ///
+ internal static string ErrorInPipingValidation_0 {
+ get {
+ return ResourceManager.GetString("ErrorInPipingValidation_0", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Validatie beëindigd om: {0}.
+ ///
+ internal static string ValidationEnded_0 {
+ get {
+ return ResourceManager.GetString("ValidationEnded_0", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Validatie gestart om: {0}.
+ ///
+ internal static string ValidationStarted_0 {
+ get {
+ return ResourceManager.GetString("ValidationStarted_0", resourceCulture);
+ }
+ }
+ }
+}
Index: src/Plugins/Ringtoets/Piping/Wti.Service/Properties/Resources.resx
===================================================================
diff -u
--- src/Plugins/Ringtoets/Piping/Wti.Service/Properties/Resources.resx (revision 0)
+++ src/Plugins/Ringtoets/Piping/Wti.Service/Properties/Resources.resx (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Berekening beëindigd om: {0}
+
+
+ Berekening gestart om: {0}
+
+
+ Piping berekening niet gelukt: {0}
+
+
+ Validatie mislukt: {0}
+
+
+ Validatie beëindigd om: {0}
+
+
+ Validatie gestart om: {0}
+
+
\ No newline at end of file
Index: src/Plugins/Ringtoets/Piping/Wti.Service/Wti.Service.csproj
===================================================================
diff -u
--- src/Plugins/Ringtoets/Piping/Wti.Service/Wti.Service.csproj (revision 0)
+++ src/Plugins/Ringtoets/Piping/Wti.Service/Wti.Service.csproj (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -0,0 +1,112 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}
+ Library
+ Properties
+ Wti.Service
+ Wti.Service
+ v4.0
+ 512
+
+
+ true
+ bin\Debug\
+ 4
+ DEBUG;TRACE
+ full
+ x86
+ false
+ prompt
+ MinimumRecommendedRules.ruleset
+ bin\Debug\Wti.Service.XML
+
+
+ bin\Release\
+ 4
+ TRACE
+ true
+ pdbonly
+ x86
+ prompt
+ MinimumRecommendedRules.ruleset
+ false
+ bin\Release\Wti.Service.XML
+
+
+
+ ..\..\..\..\..\lib\log4net.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties\GlobalAssembly.cs
+
+
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+ {3DBD23CE-5C4A-4A49-B51C-B268CB2B510E}
+ DelftTools.Controls.Swf
+
+
+ {9A2D67E6-26AC-4D17-B11A-2B4372F2F572}
+ DelftTools.Controls
+
+
+ {82b61d20-fd4b-49be-9252-5bf6e3ee4666}
+ DelftTools.Shell.Core
+
+
+ {c90b77da-e421-43cc-b82e-529651bc21ac}
+ Wti.Base
+ False
+
+
+ {D64E4F0E-E341-496F-82B2-941AD202B4E3}
+ Wti.Calculation
+
+
+ {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}
+ Wti.Data
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: src/Plugins/Wti/Wti.Forms/Wti.Forms.csproj
===================================================================
diff -u -r9cd3db94455d7ac8ec96d2504f46ca66a203a724 -rfaf875db79b0ba95a39e599bbd3e18e8b4b55451
--- src/Plugins/Wti/Wti.Forms/Wti.Forms.csproj (.../Wti.Forms.csproj) (revision 9cd3db94455d7ac8ec96d2504f46ca66a203a724)
+++ src/Plugins/Wti/Wti.Forms/Wti.Forms.csproj (.../Wti.Forms.csproj) (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -106,7 +106,7 @@
{D64E4F0E-E341-496F-82B2-941AD202B4E3}
Wti.Calculation
-
+
{10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}
Wti.Service
Index: src/Plugins/Wti/Wti.Plugin/Wti.Plugin.csproj
===================================================================
diff -u -rcc2b9aecfd7eb25353fbf015f23c9f0f69178f3f -rfaf875db79b0ba95a39e599bbd3e18e8b4b55451
--- src/Plugins/Wti/Wti.Plugin/Wti.Plugin.csproj (.../Wti.Plugin.csproj) (revision cc2b9aecfd7eb25353fbf015f23c9f0f69178f3f)
+++ src/Plugins/Wti/Wti.Plugin/Wti.Plugin.csproj (.../Wti.Plugin.csproj) (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -109,7 +109,7 @@
{d64e4f0e-e341-496f-82b2-941ad202b4e3}
Wti.Calculation
-
+
{10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}
Wti.Service
Fisheye: Tag faf875db79b0ba95a39e599bbd3e18e8b4b55451 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Service/DateTimeService.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag faf875db79b0ba95a39e599bbd3e18e8b4b55451 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Service/PipingCalculationResult.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag faf875db79b0ba95a39e599bbd3e18e8b4b55451 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Service/PipingCalculationService.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag faf875db79b0ba95a39e599bbd3e18e8b4b55451 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Service/Properties/AssemblyInfo.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag faf875db79b0ba95a39e599bbd3e18e8b4b55451 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Service/Properties/Resources.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag faf875db79b0ba95a39e599bbd3e18e8b4b55451 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Service/Properties/Resources.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag faf875db79b0ba95a39e599bbd3e18e8b4b55451 refers to a dead (removed) revision in file `src/Plugins/Wti/Wti.Service/Wti.Service.csproj'.
Fisheye: No comparison available. Pass `N' to diff?
Index: src/documentation/UML/UML.csproj
===================================================================
diff -u -r2ff69dfc67c77d80c1ed2f4f1f9bc0172e28e518 -rfaf875db79b0ba95a39e599bbd3e18e8b4b55451
--- src/documentation/UML/UML.csproj (.../UML.csproj) (revision 2ff69dfc67c77d80c1ed2f4f1f9bc0172e28e518)
+++ src/documentation/UML/UML.csproj (.../UML.csproj) (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -15,7 +15,7 @@
true
bin\Debug\
- 4
+ 4
DEBUG;TRACE
full
x86
@@ -25,7 +25,7 @@
bin\Release\
- 4
+ 4
TRACE
true
pdbonly
@@ -62,7 +62,7 @@
{d64e4f0e-e341-496f-82b2-941ad202b4e3}
Wti.Calculation
-
+
{10b8d63d-87e8-46df-aca9-a8cf22ee8fb5}
Wti.Service
Index: test/Plugins/Wti/Wti.Service.Test/Wti.Service.Test.csproj
===================================================================
diff -u -r2ff69dfc67c77d80c1ed2f4f1f9bc0172e28e518 -rfaf875db79b0ba95a39e599bbd3e18e8b4b55451
--- test/Plugins/Wti/Wti.Service.Test/Wti.Service.Test.csproj (.../Wti.Service.Test.csproj) (revision 2ff69dfc67c77d80c1ed2f4f1f9bc0172e28e518)
+++ test/Plugins/Wti/Wti.Service.Test/Wti.Service.Test.csproj (.../Wti.Service.Test.csproj) (revision faf875db79b0ba95a39e599bbd3e18e8b4b55451)
@@ -15,7 +15,7 @@
true
bin\Debug\
- 4
+ 4
DEBUG;TRACE
full
x86
@@ -24,7 +24,7 @@
bin\Release\
- 4
+ 4
TRACE
true
pdbonly
@@ -69,7 +69,7 @@
{D64E4F0E-E341-496F-82B2-941AD202B4E3}
Wti.Calculation
-
+
{10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}
Wti.Service