// Copyright (C) Stichting Deltares 2016. All rights reserved. // // This file is part of Ringtoets. // // Ringtoets is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // All names, logos, and references to "Deltares" are registered trademarks of // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. using System; using System.Collections.Generic; using System.Data.Entity; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; using Ringtoets.Piping.Data; namespace Application.Ringtoets.Storage.Persistors { /// /// Persistor for . /// public class PipingFailureMechanismPersistor : FailureMechanismEntityPersistorBase { /// /// New instance of . /// /// The storage context. /// Thrown when is null. public PipingFailureMechanismPersistor(IRingtoetsEntities ringtoetsContext) : base(ringtoetsContext) {} /// /// Loads the as . /// /// to load from. /// to save to. /// Thrown when: /// is null. /// is null. /// /// Thrown when is not of type . public void LoadModel(FailureMechanismEntity entity, PipingFailureMechanism model) { ConvertEntityToModel(entity, model); if (entity.FailureMechanismType != (int) FailureMechanismType.PipingFailureMechanism) { throw new ArgumentException("Incorrect modelType", "entity"); } } /// /// Ensures that the model is added as in the . /// /// Collection where objects can be added. Usually, this collection is a navigation property of a . /// to be saved in the storage. /// Thrown when: /// is null. /// is null. /// public void InsertModel(ICollection parentNavigationProperty, PipingFailureMechanism model) { base.InsertModel(parentNavigationProperty, model); } /// /// Ensures that the is set as in the . /// /// Collection where objects can be searched and added. Usually, this collection is a navigation property of a . /// to be saved in the storage. /// Thrown when: /// is null. /// is null. /// /// Thrown when the is read-only. /// Thrown when the storageId of > 0 and: /// More than one element found in that should have been unique. /// No such element exists in . /// public void UpdateModel(ICollection parentNavigationProperty, PipingFailureMechanism model) { base.UpdateModel(parentNavigationProperty, model); } } }