diff --git a/src/CalculateurMoyanne/BSN/Bussness.csproj b/src/CalculateurMoyanne/BSN/Bussness.csproj new file mode 100644 index 0000000..ef6377b --- /dev/null +++ b/src/CalculateurMoyanne/BSN/Bussness.csproj @@ -0,0 +1,14 @@ + + + + net6.0 + enable + enable + AnyCPU;x64 + + + + + + + diff --git a/src/CalculateurMoyanne/BSN/IDataManager.cs b/src/CalculateurMoyanne/BSN/IDataManager.cs new file mode 100644 index 0000000..757c9c0 --- /dev/null +++ b/src/CalculateurMoyanne/BSN/IDataManager.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BSN +{ + public interface IDataManager + { + Task Add(Data data); + Task Delete(Data data); + Task Update(Data data); + Task GetDataWithName(string name); + Task> GetAll(); + } +} diff --git a/src/CalculateurMoyanne/BSN/Manager.cs b/src/CalculateurMoyanne/BSN/Manager.cs new file mode 100644 index 0000000..5008a0e --- /dev/null +++ b/src/CalculateurMoyanne/BSN/Manager.cs @@ -0,0 +1,112 @@ +using ClassCalculateurMoyenne; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BSN +{ + public class Manager + { + #region propriétés + public ReadOnlyCollection maquette { get; private set; } + private readonly List maquettes = new(); + public ReadOnlyCollection bloc { get; private set; } + private readonly List blocs = new(); + public ReadOnlyCollection ue { get; private set; } + private readonly List ues = new(); + public ReadOnlyCollection matiere { get; private set; } + private readonly List matieres = new(); + + + + public IDataManager MaquetteDbDataManager => maquetteDbDataManager; + private readonly IDataManager maquetteDbDataManager; + public IDataManager BlocDbDataManager => blocDbDataManager; + private readonly IDataManager blocDbDataManager; + public IDataManager UeDbDataManager => ueDbDataManager; + private readonly IDataManager ueDbDataManager; + public IDataManager MatiereDbDataManager => matiereDbDataManager; + private readonly IDataManager matiereDbDataManager; + + #endregion + + + #region Constructeurs + + public Manager(IDataManager maquettemanager) + { + this.maquetteDbDataManager = maquettemanager; + maquette = new ReadOnlyCollection(maquettes); + } + public Manager(IDataManagerblocmanager) + { + this.blocDbDataManager = blocmanager; + bloc = new ReadOnlyCollection(blocs); + } + public Manager(IDataManager UeManager) + { + this.ueDbDataManager = UeManager; + ue = new ReadOnlyCollection(ues); + } + public Manager(IDataManager matiereDbDataManager) + { + this.matiereDbDataManager = matiereDbDataManager; + matiere = new ReadOnlyCollection(matieres); + } + + public Manager(IDataManager matiereManager,IDataManager UeManager, IDataManager blocmanager, IDataManager maquettemanager) + { + this.matiereDbDataManager = matiereManager; + matiere = new ReadOnlyCollection(matieres); + this.maquetteDbDataManager = maquettemanager; + maquette = new ReadOnlyCollection(maquettes); + this.blocDbDataManager = blocmanager; + bloc = new ReadOnlyCollection(blocs); + this.ueDbDataManager = UeManager; + ue = new ReadOnlyCollection(ues); + } + + #endregion + + #region Methodes + + public Task AddMaquette(MaquetteModel maqt) + { + if (maquetteDbDataManager == null) + { + return Task.FromResult(false); + } + + return maquetteDbDataManager.Add(maqt); + + } + + public async Task Deletemqt(MaquetteModel maqt) + { + if (maquetteDbDataManager == null) + { + return false; + } + return await maquetteDbDataManager.Delete(maqt); + } + + public async Task UpdateMaquette(MaquetteModel maqt) + { + if (maquetteDbDataManager == null) + { + return false; + } + return await maquetteDbDataManager.Update(maqt); + } + public async Task> GetAllMaquette() + { + return await maquetteDbDataManager.GetAll(); + } + + + } + #endregion +}