/// <summary>
        /// Sets the failure probability structure with erosion.
        /// </summary>
        /// <param name="readCalculation">The calculation read from the imported file.</param>
        /// <param name="calculation">The calculation to configure.</param>
        /// <returns><c>false</c> when the orientation is invalid or when there is a failure probability
        /// structure with erosion but no structure defined, <c>true</c> otherwise.</returns>
        private bool TrySetFailureProbabilityStructureWithErosion(StructuresCalculationConfiguration readCalculation,
                                                                  StructuresCalculation <ClosingStructuresInput> calculation)
        {
            if (readCalculation.FailureProbabilityStructureWithErosion.HasValue)
            {
                double failureProbability = readCalculation.FailureProbabilityStructureWithErosion.Value;

                try
                {
                    calculation.InputParameters.FailureProbabilityStructureWithErosion = (RoundedDouble)failureProbability;
                }
                catch (ArgumentOutOfRangeException e)
                {
                    Log.LogOutOfRangeException(
                        string.Format(
                            RiskeerCommonIOResources.TryReadParameter_Value_0_ParameterName_1_is_invalid,
                            failureProbability,
                            RiskeerCommonIOResources.CalculationConfigurationImporter_FailureProbabilityStructureWithErosion_DisplayName),
                        calculation.Name,
                        e);

                    return(false);
                }
            }

            return(true);
        }
Exemple #2
0
 /// <summary>
 /// Creates a new instance of <see cref="ClosingStructuresInputContext"/>.
 /// </summary>
 /// <param name="wrappedData">The calculation input wrapped by the context object.</param>
 /// <param name="calculation">The closing structures calculation containing the <see cref="ClosingStructuresInput"/>.</param>
 /// <param name="failureMechanism">The failure mechanism which the context belongs to.</param>
 /// <param name="assessmentSection">The assessment section which the context belongs to.</param>
 /// <exception cref="ArgumentNullException">Thrown when any input argument is <c>null</c>.</exception>
 public ClosingStructuresInputContext(ClosingStructuresInput wrappedData,
                                      StructuresCalculation <ClosingStructuresInput> calculation,
                                      ClosingStructuresFailureMechanism failureMechanism,
                                      IAssessmentSection assessmentSection)
     : base(wrappedData, calculation, failureMechanism, assessmentSection)
 {
 }
        public void SetShouldIllustrationPointsBeCalculated_ValueChanged_UpdateDataAndNotifyObservers()
        {
            // Setup
            var  random     = new Random(21);
            bool newBoolean = random.NextBoolean();

            var observer = mockRepository.StrictMock <IObserver>();

            observer.Expect(o => o.UpdateObserver());

            var handler = mockRepository.Stub <IObservablePropertyChangeHandler>();

            mockRepository.ReplayAll();

            var calculation      = new StructuresCalculation <HeightStructuresInput>();
            var failureMechanism = new HeightStructuresFailureMechanism();
            var inputContext     = new HeightStructuresInputContext(calculation.InputParameters,
                                                                    calculation,
                                                                    failureMechanism,
                                                                    assessmentSection);

            inputContext.Attach(observer);

            var properties = new HeightStructuresInputContextProperties(inputContext, handler);

            // Call
            properties.ShouldIllustrationPointsBeCalculated = newBoolean;

            // Assert
            Assert.AreEqual(newBoolean, calculation.InputParameters.ShouldIllustrationPointsBeCalculated);
            mockRepository.VerifyAll();
        }
        public void GetAvailableStructures_SetInputContextInstanceWithStructures_ReturnStructures()
        {
            // Setup
            var handler = mockRepository.Stub <IObservablePropertyChangeHandler>();

            mockRepository.ReplayAll();

            var failureMechanism = new HeightStructuresFailureMechanism();

            failureMechanism.HeightStructures.AddRange(new[]
            {
                new TestHeightStructure()
            }, "some folder");
            var calculation  = new StructuresCalculation <HeightStructuresInput>();
            var inputContext = new HeightStructuresInputContext(calculation.InputParameters,
                                                                calculation,
                                                                failureMechanism,
                                                                assessmentSection);
            var properties = new HeightStructuresInputContextProperties(inputContext, handler);

            // Call
            IEnumerable <HeightStructure> availableStructures = properties.GetAvailableStructures();

            // Assert
            Assert.AreSame(failureMechanism.HeightStructures, availableStructures);
            mockRepository.VerifyAll();
        }
Exemple #5
0
        public void CreateCalculationActivitiesForFailureMechanism_WithValidCalculations_ReturnsStabilityPointStructuresCalculationActivitiesWithParametersSet()
        {
            // Setup
            var failureMechanism = new StabilityPointStructuresFailureMechanism();

            var mocks = new MockRepository();
            IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(failureMechanism,
                                                                                                           mocks,
                                                                                                           validFilePath);

            mocks.ReplayAll();

            StructuresCalculation <StabilityPointStructuresInput> calculation1 = CreateValidCalculation();
            StructuresCalculation <StabilityPointStructuresInput> calculation2 = CreateValidCalculation();

            failureMechanism.CalculationsGroup.Children.AddRange(new[]
            {
                calculation1,
                calculation2
            });

            // Call
            IEnumerable <CalculatableActivity> activities = StabilityPointStructuresCalculationActivityFactory.CreateCalculationActivities(
                failureMechanism, assessmentSection);

            // Assert
            CollectionAssert.AllItemsAreInstancesOfType(activities, typeof(StabilityPointStructuresCalculationActivity));
            Assert.AreEqual(2, activities.Count());

            HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase;

            AssertStabilityPointStructuresCalculationActivity(activities.First(), calculation1, hydraulicBoundaryDatabase);
            AssertStabilityPointStructuresCalculationActivity(activities.ElementAt(1), calculation2, hydraulicBoundaryDatabase);
            mocks.VerifyAll();
        }
        public void Constructor_WithOrWithoutStructure_CorrectReadOnlyForStructureDependentProperties(bool hasStructure)
        {
            // Setup
            var handler = mockRepository.Stub <IObservablePropertyChangeHandler>();

            mockRepository.ReplayAll();

            var failureMechanism = new HeightStructuresFailureMechanism();
            var calculation      = new StructuresCalculation <HeightStructuresInput>();
            var inputContext     = new HeightStructuresInputContext(calculation.InputParameters,
                                                                    calculation,
                                                                    failureMechanism,
                                                                    assessmentSection);

            if (hasStructure)
            {
                calculation.InputParameters.Structure = new TestHeightStructure();
            }

            // Call
            var properties = new HeightStructuresInputContextProperties(inputContext, handler);

            // Assert
            PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties);
            bool expectedReadOnly = !hasStructure;

            PropertyDescriptor failureProbabilityStructureWithErosionProperty = dynamicProperties[failureProbabilityStructureWithErosionPropertyIndex];

            Assert.AreEqual(expectedReadOnly, failureProbabilityStructureWithErosionProperty.IsReadOnly);

            DistributionPropertiesTestHelper.AssertPropertiesAreReadOnly(properties.LevelCrestStructure, expectedReadOnly, expectedReadOnly);

            mockRepository.VerifyAll();
        }
Exemple #7
0
 /// <summary>
 /// Creates a new instance of <see cref="HeightStructuresInputContext"/>.
 /// </summary>
 /// <param name="wrappedData">The calculation input wrapped by the context object.</param>
 /// <param name="calculation">The height structures calculation containing the <see cref="HeightStructuresInput"/>.</param>
 /// <param name="failureMechanism">The failure mechanism which the context belongs to.</param>
 /// <param name="assessmentSection">The assessment section which the context belongs to.</param>
 /// <exception cref="ArgumentNullException">Thrown when any input argument is <c>null</c>.</exception>
 public HeightStructuresInputContext(HeightStructuresInput wrappedData,
                                     StructuresCalculation <HeightStructuresInput> calculation,
                                     HeightStructuresFailureMechanism failureMechanism,
                                     IAssessmentSection assessmentSection)
     : base(wrappedData, calculation, failureMechanism, assessmentSection)
 {
 }
 /// <summary>
 /// Creates a new instance of <see cref="StabilityPointStructuresInputContext"/>.
 /// </summary>
 /// <param name="input">The <see cref="StabilityPointStructuresInput"/> instance wrapped by this context object.</param>
 /// <param name="calculation">The calculation item which the <paramref name="input"/> belongs to.</param>
 /// <param name="failureMechanism">The failure mechanism which the context belongs to.</param>
 /// <param name="assessmentSection">The assessment section which the context belongs to.</param>
 /// <exception cref="ArgumentNullException">Thrown when any input argument is <c>null</c>.</exception>
 public StabilityPointStructuresInputContext(StabilityPointStructuresInput input,
                                             StructuresCalculation <StabilityPointStructuresInput> calculation,
                                             StabilityPointStructuresFailureMechanism failureMechanism,
                                             IAssessmentSection assessmentSection)
     : base(input, calculation, failureMechanism, assessmentSection)
 {
 }
        public void SelectedHydraulicBoundaryLocation_InputNoLocation_ReturnsNull()
        {
            // Setup
            mockRepository.ReplayAll();

            var calculation  = new StructuresCalculation <SimpleStructureInput>();
            var inputContext = new SimpleInputContext(calculation.InputParameters,
                                                      calculation,
                                                      failureMechanism,
                                                      assessmentSection);
            var properties = new SimpleStructuresInputProperties(
                inputContext,
                new StructuresInputBaseProperties <TestStructure, SimpleStructureInput, StructuresCalculation <SimpleStructureInput>, IFailureMechanism> .ConstructionProperties(),
                handler);

            SelectableHydraulicBoundaryLocation selectedHydraulicBoundaryLocation = null;

            // Call
            TestDelegate call = () => selectedHydraulicBoundaryLocation = properties.SelectedHydraulicBoundaryLocation;

            // Assert
            Assert.DoesNotThrow(call);
            Assert.IsNull(selectedHydraulicBoundaryLocation);
            mockRepository.VerifyAll();
        }
Exemple #10
0
        /// <summary>
        /// Sets the structure normal orientation.
        /// </summary>
        /// <param name="readCalculation">The calculation read from the imported file.</param>
        /// <param name="calculation">The calculation to configure.</param>
        /// <returns><c>false</c> when the structure normal orientation is invalid or when there
        /// is a structure normal orientation but no structure defined, <c>true</c> otherwise.</returns>
        private bool TrySetStructureNormalOrientation(StructuresCalculationConfiguration readCalculation,
                                                      StructuresCalculation <StabilityPointStructuresInput> calculation)
        {
            if (readCalculation.StructureNormalOrientation.HasValue)
            {
                if (calculation.InputParameters.Structure == null)
                {
                    Log.LogCalculationConversionError(string.Format(RiskeerCommonIOResources.CalculationConfigurationImporter_TryParameter_No_Structure_to_assign_Parameter_0_,
                                                                    RiskeerCommonIOResources.CalculationConfigurationImporter_Orientation_DisplayName),
                                                      calculation.Name);

                    return(false);
                }

                double orientation = readCalculation.StructureNormalOrientation.Value;

                try
                {
                    calculation.InputParameters.StructureNormalOrientation = (RoundedDouble)orientation;
                }
                catch (ArgumentOutOfRangeException e)
                {
                    Log.LogOutOfRangeException(string.Format(RiskeerCommonIOResources.TryReadParameter_Value_0_ParameterName_1_is_invalid,
                                                             orientation,
                                                             RiskeerCommonIOResources.CalculationConfigurationImporter_Orientation_DisplayName),
                                               calculation.Name,
                                               e);

                    return(false);
                }
            }

            return(true);
        }
Exemple #11
0
        public void Constructor_ValidInputParameters_ExpectedValues()
        {
            // Setup
            var mocks             = new MockRepository();
            var assessmentSection = mocks.Stub <IAssessmentSection>();

            mocks.ReplayAll();

            var calculation      = new StructuresCalculation <HeightStructuresInput>();
            var failureMechanism = new HeightStructuresFailureMechanism();

            // Call
            var context = new HeightStructuresInputContext(calculation.InputParameters,
                                                           calculation,
                                                           failureMechanism,
                                                           assessmentSection);

            // Assert
            Assert.IsInstanceOf <InputContextBase <HeightStructuresInput, StructuresCalculation <HeightStructuresInput>, HeightStructuresFailureMechanism> >(context);
            Assert.AreSame(calculation.InputParameters, context.WrappedData);
            Assert.AreSame(calculation, context.Calculation);
            Assert.AreSame(failureMechanism, context.FailureMechanism);
            Assert.AreSame(assessmentSection, context.AssessmentSection);
            mocks.VerifyAll();
        }
Exemple #12
0
        public void Assign_SpecificInvalid_ReturnsFalse()
        {
            // Setup
            const string calculationName = "name";
            var          mocks           = new MockRepository();
            var          configuration   = mocks.Stub <StructuresCalculationConfiguration>(calculationName);

            mocks.ReplayAll();

            var calculation = new StructuresCalculation <SimpleStructuresInput>();

            var assigner = new SimpleStructuresCalculationStochastAssigner(
                configuration,
                calculation)
            {
                SpecificIsValid = false
            };

            // Call
            bool valid = assigner.Assign();

            // Assert
            Assert.IsFalse(valid);
            mocks.VerifyAll();
        }
        public void Run_CalculationInvalidInput_LogValidationStartAndEndWithError()
        {
            // Setup
            var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike)
            {
                HydraulicBoundaryDatabase =
                {
                    FilePath = Path.Combine(testDataPath, "notexisting.sqlite")
                }
            };

            var failureMechanism = new HeightStructuresFailureMechanism();
            var calculation      = new StructuresCalculation <HeightStructuresInput>();

            CalculatableActivity activity = HeightStructuresCalculationActivityFactory.CreateCalculationActivity(calculation,
                                                                                                                 failureMechanism,
                                                                                                                 assessmentSection);

            // Call
            Action call = () => activity.Run();

            // Assert
            TestHelper.AssertLogMessages(call, messages =>
            {
                string[] msgs = messages.ToArray();
                Assert.AreEqual(4, msgs.Length);
                Assert.AreEqual($"Uitvoeren van berekening '{calculation.Name}' is gestart.", msgs[0]);
                CalculationServiceTestHelper.AssertValidationStartMessage(msgs[1]);
                StringAssert.StartsWith("Herstellen van de verbinding met de hydraulische belastingendatabase is mislukt. " +
                                        "Fout bij het lezen van bestand", msgs[2]);
                CalculationServiceTestHelper.AssertValidationEndMessage(msgs[3]);
            });
            Assert.AreEqual(ActivityState.Failed, activity.State);
        }
Exemple #14
0
        public void Assign_SpreadDefinedForBaseStochast_LogsErrorAndReturnsFalse(Action <StructuresCalculationConfiguration> modify, string stochastName)
        {
            // Setup
            const string calculationName = "name";
            var          mocks           = new MockRepository();
            var          configuration   = mocks.Stub <StructuresCalculationConfiguration>(calculationName);

            mocks.ReplayAll();

            var calculation = new StructuresCalculation <SimpleStructuresInput>();

            modify(configuration);

            var assigner = new SimpleStructuresCalculationStochastAssigner(
                configuration,
                calculation);

            // Call
            var    valid    = true;
            Action validate = () => valid = assigner.Assign();

            // Assert
            string expectedMessage = $"Er kan geen spreiding voor stochast '{stochastName}' opgegeven worden. Berekening '{calculationName}' is overgeslagen.";

            TestHelper.AssertLogMessageWithLevelIsGenerated(validate, Tuple.Create(expectedMessage, LogLevelConstant.Error));
            Assert.IsFalse(valid);
            mocks.VerifyAll();
        }
Exemple #15
0
        /// <summary>
        /// Sets the probability collision secondary structure.
        /// </summary>
        /// <param name="readCalculation">The calculation read from the imported file.</param>
        /// <param name="calculation">The calculation to configure.</param>
        /// <returns><c>false</c> when the probability collision secondary structure is invalid or
        /// when there is a probability collision secondary structure but no structure defined,
        /// <c>true</c> otherwise.</returns>
        private bool TrySetProbabilityCollisionSecondaryStructure(StabilityPointStructuresCalculationConfiguration readCalculation,
                                                                  StructuresCalculation <StabilityPointStructuresInput> calculation)
        {
            if (readCalculation.ProbabilityCollisionSecondaryStructure.HasValue)
            {
                if (calculation.InputParameters.Structure == null)
                {
                    Log.LogCalculationConversionError(string.Format(RiskeerCommonIOResources.CalculationConfigurationImporter_TryParameter_No_Structure_to_assign_Parameter_0_,
                                                                    Resources.CalculationConfigurationImporter_ProbabilityCollisionSecondaryStructure_DisplayName),
                                                      calculation.Name);

                    return(false);
                }

                double failureProbability = readCalculation.ProbabilityCollisionSecondaryStructure.Value;

                try
                {
                    calculation.InputParameters.ProbabilityCollisionSecondaryStructure = (RoundedDouble)failureProbability;
                }
                catch (ArgumentOutOfRangeException e)
                {
                    Log.LogOutOfRangeException(string.Format(
                                                   RiskeerCommonIOResources.TryReadParameter_Value_0_ParameterName_1_is_invalid,
                                                   failureProbability,
                                                   Resources.CalculationConfigurationImporter_ProbabilityCollisionSecondaryStructure_DisplayName),
                                               calculation.Name,
                                               e);

                    return(false);
                }
            }

            return(true);
        }
        private void SetPropertyAndVerifyNotificationsAndOutput(Action <SimpleStructuresInputProperties> setProperty)
        {
            // Setup
            var observable = mockRepository.StrictMock <IObservable>();

            observable.Expect(o => o.NotifyObservers());
            mockRepository.ReplayAll();

            var calculation            = new StructuresCalculation <SimpleStructureInput>();
            SimpleStructureInput input = calculation.InputParameters;

            input.ForeshoreProfile = new TestForeshoreProfile();
            input.Structure        = new TestStructure();

            var customHandler = new SetPropertyValueAfterConfirmationParameterTester(new[]
            {
                observable
            });

            var inputContext = new SimpleInputContext(input,
                                                      calculation,
                                                      failureMechanism,
                                                      assessmentSection);
            var properties = new SimpleStructuresInputProperties(inputContext, GetRandomConstructionProperties(), customHandler);

            // Call
            setProperty(properties);

            // Assert
            mockRepository.VerifyAll();
        }
 public SimpleInputContext(SimpleStructureInput wrappedData,
                           StructuresCalculation <SimpleStructureInput> calculation,
                           IFailureMechanism failureMechanism,
                           IAssessmentSection assessmentSection)
     : base(wrappedData, calculation, failureMechanism, assessmentSection)
 {
 }
 private static bool CalculationHasStructureAndHydraulicBoundaryLocation <TStructuresInput, TStructure>(
     StructuresCalculation <TStructuresInput> calculation)
     where TStructuresInput : StructuresInputBase <TStructure>, new()
     where TStructure : StructureBase
 {
     return(calculation.InputParameters.Structure != null &&
            calculation.InputParameters.HydraulicBoundaryLocation != null);
 }
Exemple #19
0
 /// <summary>
 /// Sets the volumic weight water.
 /// </summary>
 /// <param name="readCalculation">The calculation read from the imported file.</param>
 /// <param name="calculation">The calculation to configure.</param>
 private void SetVolumicWeightWater(StabilityPointStructuresCalculationConfiguration readCalculation,
                                    StructuresCalculation <StabilityPointStructuresInput> calculation)
 {
     if (readCalculation.VolumicWeightWater.HasValue)
     {
         calculation.InputParameters.VolumicWeightWater = (RoundedDouble)readCalculation.VolumicWeightWater.Value;
     }
 }
 /// <summary>
 /// Sets the factor storm duration.
 /// </summary>
 /// <param name="readCalculation">The calculation read from the imported file.</param>
 /// <param name="calculation">The calculation to configure.</param>
 private void SetFactorStormDurationOpenStructure(ClosingStructuresCalculationConfiguration readCalculation,
                                                  StructuresCalculation <ClosingStructuresInput> calculation)
 {
     if (readCalculation.FactorStormDurationOpenStructure.HasValue)
     {
         calculation.InputParameters.FactorStormDurationOpenStructure = (RoundedDouble)readCalculation.FactorStormDurationOpenStructure.Value;
     }
 }
Exemple #21
0
 private static void SetShouldIllustrationPointsBeCalculated(HeightStructuresCalculationConfiguration calculationConfiguration,
                                                             StructuresCalculation <HeightStructuresInput> calculation)
 {
     if (calculationConfiguration.ShouldIllustrationPointsBeCalculated.HasValue)
     {
         calculation.InputParameters.ShouldIllustrationPointsBeCalculated = calculationConfiguration.ShouldIllustrationPointsBeCalculated.Value;
     }
 }
Exemple #22
0
        public void SetStochasts_WithAllStochastsSet_SetExpectedValuesOnInput()
        {
            // Setup
            var configuration = new HeightStructuresCalculationConfiguration("name")
            {
                StructureId         = "some structure",
                LevelCrestStructure = new StochastConfiguration
                {
                    Mean = 1.1,
                    StandardDeviation = 1.5
                },
                AllowedLevelIncreaseStorage = new StochastConfiguration
                {
                    Mean = 2.1,
                    StandardDeviation = 2.5
                },
                FlowWidthAtBottomProtection = new StochastConfiguration
                {
                    Mean = 3.1,
                    StandardDeviation = 3.5
                },
                WidthFlowApertures = new StochastConfiguration
                {
                    Mean = 4.1,
                    StandardDeviation = 4.5
                },
                ModelFactorSuperCriticalFlow = new StochastConfiguration
                {
                    Mean = 5.1
                },
                CriticalOvertoppingDischarge = new StochastConfiguration
                {
                    Mean = 6.1,
                    VariationCoefficient = 0.6
                },
                StorageStructureArea = new StochastConfiguration
                {
                    Mean = 7.1,
                    VariationCoefficient = 0.7
                },
                StormDuration = new StochastConfiguration
                {
                    Mean = 8.1
                }
            };

            var calculation = new StructuresCalculation <HeightStructuresInput>();

            var assigner = new HeightStructuresCalculationStochastAssigner(
                configuration,
                calculation);

            // Call
            bool valid = assigner.Assign();

            // Assert
            Assert.IsTrue(valid);
        }
Exemple #23
0
        private bool TrySetStochasts(StabilityPointStructuresCalculationConfiguration readCalculation,
                                     StructuresCalculation <StabilityPointStructuresInput> calculation)
        {
            var assigner = new StabilityPointStructuresCalculationStochastAssigner(
                readCalculation,
                calculation);

            return(assigner.Assign());
        }
Exemple #24
0
        private bool TrySetStochasts(HeightStructuresCalculationConfiguration readCalculation,
                                     StructuresCalculation <HeightStructuresInput> calculation)
        {
            var assigner = new HeightStructuresCalculationStochastAssigner(
                readCalculation,
                calculation);

            return(assigner.Assign());
        }
Exemple #25
0
 /// <summary>
 /// Method that asserts whether <paramref name="original"/> and <paramref name="clone"/>
 /// are clones.
 /// </summary>
 /// <typeparam name="TInput">The type of structures input.</typeparam>
 /// <typeparam name="TStructure">The type of the structure contained by the structures input.</typeparam>
 /// <param name="original">The original object.</param>
 /// <param name="clone">The cloned object.</param>
 /// <exception cref="AssertionException">Thrown when <paramref name="original"/> and
 /// <paramref name="clone"/> are not clones.</exception>
 public static void AreClones <TInput, TStructure>(StructuresCalculation <TInput> original, StructuresCalculation <TInput> clone)
     where TInput : StructuresInputBase <TStructure>, new()
     where TStructure : StructureBase, new()
 {
     Assert.AreEqual(original.Name, clone.Name);
     CoreCloneAssert.AreObjectClones(original.Comments, clone.Comments, AreClones);
     CoreCloneAssert.AreObjectClones(original.InputParameters, clone.InputParameters, AreClones);
     CoreCloneAssert.AreObjectClones(original.Output, clone.Output, AreClones);
 }
Exemple #26
0
        private bool TrySetForeshoreProfile(string foreshoreProfileId, StructuresCalculation <HeightStructuresInput> calculation)
        {
            if (TryReadForeshoreProfile(foreshoreProfileId, calculation.Name, availableForeshoreProfiles, out ForeshoreProfile foreshoreProfile))
            {
                calculation.InputParameters.ForeshoreProfile = foreshoreProfile;
                return(true);
            }

            return(false);
        }
Exemple #27
0
        private bool TrySetStructure(string structureId, StructuresCalculation <HeightStructuresInput> calculation)
        {
            if (TryReadStructure(structureId, calculation.Name, availableStructures, out HeightStructure structure))
            {
                calculation.InputParameters.Structure = structure;
                return(true);
            }

            return(false);
        }
Exemple #28
0
        private bool TrySetHydraulicBoundaryLocation(string locationName, StructuresCalculation <HeightStructuresInput> calculation)
        {
            if (TryReadHydraulicBoundaryLocation(locationName, calculation.Name, availableHydraulicBoundaryLocations, out HydraulicBoundaryLocation location))
            {
                calculation.InputParameters.HydraulicBoundaryLocation = location;
                return(true);
            }

            return(false);
        }
Exemple #29
0
 private static void SetStabilityPointStructuresOutputEntity(StructuresCalculation <StabilityPointStructuresInput> calculation,
                                                             StabilityPointStructuresCalculationEntity entity)
 {
     if (calculation.HasOutput)
     {
         entity.StabilityPointStructuresOutputEntities.Add(calculation
                                                           .Output
                                                           .Create <StabilityPointStructuresOutputEntity>());
     }
 }
 private static MapCalculationData CreateMapCalculationData <TStructuresInput, TStructure>(
     StructuresCalculation <TStructuresInput> calculation)
     where TStructuresInput : StructuresInputBase <TStructure>, new()
     where TStructure : StructureBase
 {
     return(new MapCalculationData(
                calculation.Name,
                calculation.InputParameters.Structure.Location,
                calculation.InputParameters.HydraulicBoundaryLocation));
 }