// Copyright (C) Stichting Deltares 2017. 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 Core.Common.Base.Geometry; using log4net; using Ringtoets.Piping.Plugin.Properties; using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Plugin.FileImporter { /// /// Extension methods for the class. /// public static class RingtoetsPipingSurfaceLineExtensions { private static readonly ILog log = LogManager.GetLogger(typeof(RingtoetsPipingSurfaceLineExtensions)); /// /// Tries to set the at the location of /// . /// /// The to set the /// for. /// The point at which to set the . /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetDitchPolderSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) { if (point != null) { try { surfaceLine.SetDitchPolderSideAt(point); return true; } catch (ArgumentException e) { LogError(surfaceLine, e); } } return false; } /// /// Tries to set the at the location of /// . /// /// The to set the /// for. /// The point at which to set the . /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetBottomDitchPolderSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) { if (point != null) { try { surfaceLine.SetBottomDitchPolderSideAt(point); return true; } catch (ArgumentException e) { LogError(surfaceLine, e); } } return false; } /// /// Tries to set the at the location of /// . /// /// The to set the /// for. /// The point at which to set the . /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetBottomDitchDikeSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) { if (point != null) { try { surfaceLine.SetBottomDitchDikeSideAt(point); return true; } catch (ArgumentException e) { LogError(surfaceLine, e); } } return false; } /// /// Tries to set the at the location of /// . /// /// The to set the /// for. /// The point at which to set the . /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetDitchDikeSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) { if (point != null) { try { surfaceLine.SetDitchDikeSideAt(point); return true; } catch (ArgumentException e) { LogError(surfaceLine, e); } } return false; } /// /// Tries to set the at the location of /// . /// /// The to set the /// for. /// The point at which to set the . /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetDikeToeAtRiver(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) { if (point != null) { try { surfaceLine.SetDikeToeAtRiverAt(point); return true; } catch (ArgumentException e) { LogError(surfaceLine, e); } } return false; } /// /// Tries to set the at the location of /// . /// /// The to set the /// for. /// The point at which to set the . /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetDikeToeAtPolder(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) { if (point != null) { try { surfaceLine.SetDikeToeAtPolderAt(point); return true; } catch (ArgumentException e) { LogError(surfaceLine, e); } } return false; } private static void LogError(RingtoetsPipingSurfaceLine surfaceLine, ArgumentException e) { log.ErrorFormat(Resources.PipingSurfaceLinesCsvImporter_CharacteristicPoint_of_SurfaceLine_0_skipped_cause_1_, surfaceLine.Name, e.Message); } } }