// 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.Data.Entity;
using System.Data.Entity.Core;
using System.Data.Entity.Core.Objects;
namespace Application.Ringtoets.Storage.DbContext
{
///
/// Interface that describes the properties and methods that must be implemented on classes that extend from a database context.
///
public interface IRingtoetsEntities
{
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet ProjectEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet AssessmentSectionEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet FailureMechanismEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet FailureMechanismSectionEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet PipingSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet DikeProfileEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet GrassCoverErosionInwardsFailureMechanismMetaEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet GrassCoverErosionInwardsCalculationEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet GrassCoverErosionInwardsOutputEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet GrassCoverErosionInwardsSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet HeightStructuresSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet StrengthStabilityLengthwiseConstructionSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet TechnicalInnovationSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet WaterPressureAsphaltCoverSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet ClosingStructureSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet MacrostabilityInwardsSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet MacrostabilityOutwardsSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet WaveImpactAsphaltCoverSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet GrassCoverErosionOutwardsSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet GrassCoverSlipOffInwardsSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet GrassCoverSlipOffOutwardsSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet MicrostabilitySectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet PipingStructureSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet DuneErosionSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet StabilityStoneCoverSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet StrengthStabilityPointConstructionSectionResultEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet PipingFailureMechanismMetaEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet HydraulicLocationEntities { get; }
///
/// Gets a of containing
/// every calculation group found in the database.
///
DbSet CalculationGroupEntities { get; }
///
/// Gets a of containing
/// every calculation group found in the database.
///
DbSet PipingCalculationEntities { get; }
///
/// Gets a of
/// containing every calculation group found in the database.
///
DbSet PipingCalculationOutputEntities { get; }
///
/// Gets a of
/// containing every calculation group found in the database.
///
DbSet PipingSemiProbabilisticOutputEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet StochasticSoilModelEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet StochasticSoilProfileEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet SoilProfileEntities { get; }
///
/// Gets a of containing
/// every entity found in the database.
///
DbSet SoilLayerEntities { get; }
///
/// Gets a of containing
/// every piping surface line entity in the database.
///
DbSet SurfaceLineEntities { get; }
///
/// Gets a of
/// containing every characteristic point of piping surface lines in the database.
///
DbSet CharacteristicPointEntities { get; }
///
/// Gets a of
/// containing every characteristic point of piping surface lines in the database.
///
DbSet ProbabilisticOutputEntities { get; }
///
/// Gets or sets a value indicating whether automatic change detection is enabled or not.
///
bool AutoDetectChangesEnabled { get; set; }
///
/// Persists all updates to the database and resets change tracking in the object context, see .
///
/// The number of state entries written to the underlying database. This can include state entries for entities and/or relationships.
/// Relationship state entries are created for many-to-many relationships and relationships where there is no foreign key property included in the entity class
/// (often referred to as independent associations).
/// An optimistic concurrency violation has occurred while saving changes.
int SaveChanges();
}
}