Index: DamEngine/branches/DamEngine 18.1/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs =================================================================== diff -u -r1748 -r1750 --- DamEngine/branches/DamEngine 18.1/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../DamEngine 18.1 Obsolete/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs) (revision 1748) +++ DamEngine/branches/DamEngine 18.1/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../DamEngine 18.1/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs) (revision 1750) @@ -20,8 +20,9 @@ // All rights reserved. using Deltares.DamEngine.Data.General; -using Deltares.DamEngine.Data.Standard.Logging; +using Deltares.DamEngine.Data.General.TimeSeries; using Deltares.DamEngine.Io.XmlOutput; +using TimeSerie = Deltares.DamEngine.Io.XmlOutput.TimeSerie; namespace Deltares.DamEngine.Interface { @@ -40,17 +41,6 @@ // Echo of the input Output output = new Output { - // Validation will be done using a static logmanager and passing logmessages. But this has still to be implemented. - // Validation using Attributes must be removed, using explicit validation methods (ValidatioResult) replaced. Still to be done. - // var mestel = 0; - // foreach (var res in valres) - // { - // var mes = new Message(); - // mes.Message1 = res.Text; - // mes.MessageType = res.MessageType; - // output.ValidationResults[mestel] = mes; - // mestel++; - // } ValidationResults = new Message[0], // Results Results = new OutputResults @@ -285,7 +275,6 @@ { var outputLocationResult = new CalculationResultsLocationResult { - // Stability TimeSerie and Piping TimeSerie (later) // RegionalScenarios results RegionalScenariosResult = new CalculationResultsLocationResultRegionalScenariosResult() }; @@ -345,6 +334,69 @@ jobtel++; } } + if (damProjectData.OutputTimeSerieCollection != null) + { + output.Results.OperationalOutputTimeSeries = new TimeSerie[damProjectData.OutputTimeSerieCollection.Series.Count]; + TransferOutputTimeSeries(damProjectData.OutputTimeSerieCollection, output.Results.OperationalOutputTimeSeries); + } } + + private static void TransferOutputTimeSeries(TimeSerieCollection outputTimeSerieCollection, TimeSerie[] outputTimeSeries) + { + int timeSerieIndex = 0; + foreach (var damTimeSerie in outputTimeSerieCollection.Series) + { + TimeSerie outputTimeSerie = new TimeSerie(); + outputTimeSerie.Entries = new TimeSerieEntries(); + outputTimeSerie.Entries.TimeSerieEntry = new TimeSerieEntriesTimeSerieEntry[damTimeSerie.Entries.Count]; + outputTimeSerie.TimeStep = new TimeSerieTimeStep(); + outputTimeSerie.LocationId = damTimeSerie.LocationId; + outputTimeSerie.ParameterId = damTimeSerie.ParameterId; + outputTimeSerie.ForecastDateTime = damTimeSerie.ForecastDateTime; + outputTimeSerie.Type = damTimeSerie.Type; + outputTimeSerie.StartDateTime = damTimeSerie.StartDateTime; + outputTimeSerie.EndDateTime = damTimeSerie.EndDateTime; + outputTimeSerie.MissVal = damTimeSerie.MissVal; + outputTimeSerie.LongName = damTimeSerie.LongName; + outputTimeSerie.StationName = damTimeSerie.StationName; + outputTimeSerie.Units = damTimeSerie.Units; + outputTimeSerie.SourceOrganisation = damTimeSerie.SourceOrganisation; + outputTimeSerie.SourceSystem = damTimeSerie.SourceSystem; + outputTimeSerie.FileDescription = damTimeSerie.FileDescription; + outputTimeSerie.Region = damTimeSerie.Region; + outputTimeSerie.TimeStep.Multiplier = damTimeSerie.TimeStep.Multiplier; + outputTimeSerie.TimeStep.Divider = damTimeSerie.TimeStep.Divider; + outputTimeSerie.TimeStep.MultiplierSpecified1 = damTimeSerie.TimeStep.MultiplierSpecified; + outputTimeSerie.TimeStep.DividerSpecified1 = damTimeSerie.TimeStep.DividerSpecified; + outputTimeSerie.TimeStep.TimeStepUnit = ConversionHelper.ConvertToInputTimeStepUnit(damTimeSerie.TimeStep.Unit); + int timeSerieEntryIndex = 0; + foreach (var timestepEntry in damTimeSerie.Entries) + { + TimeSerieEntriesTimeSerieEntryStochastValue stochastValue = null; + if (timestepEntry.StochastValue != null) + { + stochastValue = new TimeSerieEntriesTimeSerieEntryStochastValue() + { + Distribution = timestepEntry.StochastValue.Distribution, + Mean = timestepEntry.StochastValue.Mean, + StandardDeviation = timestepEntry.StochastValue.StandardDeviation + }; + } + TimeSerieEntriesTimeSerieEntry timeStep = new TimeSerieEntriesTimeSerieEntry() + { + DateTime = timestepEntry.DateTime, + Value = timestepEntry.Value, + BasisFileNameWMF = timestepEntry.BasisFileName, + Flagnietechtgebruikt = timestepEntry.Flag, + RelativeCalculationPathName = timestepEntry.RelativeCalculationPathName, + StochastValue = stochastValue + }; + outputTimeSerie.Entries.TimeSerieEntry[timeSerieEntryIndex] = timeStep; + timeSerieEntryIndex++; + } + outputTimeSeries[timeSerieIndex] = outputTimeSerie; + timeSerieIndex++; + } + } } }