Mathilde JEAN 3 years ago
commit bfc71b92c2

@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Modèle
{
public class Requin
public class Requin : IEquatable<Requin>
{
public string Nom { get; private set; }
public string NomSci { get; private set; }
@ -89,13 +89,21 @@ namespace Modèle
public bool Equals(Requin r)
{
if (Nom==r.Nom && NomSci == r.NomSci)
{
return true;
}
return false;
return r.Nom == Nom && r.NomSci == NomSci;
}
public override bool Equals(object obj)
{
if (ReferenceEquals(obj, null)) return false;
if (ReferenceEquals(obj, this)) return true;
if (GetType() != obj.GetType()) return false;
return Equals(obj as Requin);
}
public override int GetHashCode()
{
return Nom.GetHashCode() ^ NomSci.GetHashCode();
}
}
}

@ -0,0 +1,14 @@
using Modèle;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Persistance
{
public interface IPersistanceManager
{
IEnumerable<Requin> LoadRequins();
}
}

@ -0,0 +1,43 @@
using Modèle;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Persistance
{
class Manager
{
public ReadOnlyCollection<Requin> Requins { get; private set; }
private List<Requin> requins = new List<Requin>();
public Requin SelectedRequin { get; set; }
/// <summary>
/// DéPENDANCE
/// </summary>
public IPersistanceManager Pers { get; private set; }
/// <summary>
/// constructeur avec INJECTION DE LA DéPENDANCE
/// </summary>
public Manager(IPersistanceManager pers)
{
Requins = new ReadOnlyCollection<Requin>(requins);
Pers = pers;
}
public void LoadRequins()
{
requins.Clear();
requins.AddRange(Pers.LoadRequins());
if (requins.Count > 0)
SelectedRequin = requins.First();
}
public void SaveRequins() { }
}
}

@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Modèle\Modèle.csproj" />
</ItemGroup>
</Project>

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using Modèle;
using Persistance;
namespace StubLib
{
public class Stub : IPersistanceManager
{
List<Requin> requins = new List<Requin>();
public Stub()
{
List<Zone> zone = new List<Zone> { Zone.ATLANTIQUE };
requins.Add(new Requin("mon requin adoré", "trop cool ce requin", "wow il est trop bo", "Quelle belle photo", "cette vidéo le met si bien en valeur", "oh bah il est nul part", Conservation.EW, zone, "(C'est pas un vrai requin)"));
requins.Add(new Requin("Banane", "Le requin banal", "C'est un requin ultra banal", "Quelle photo banale", "cette vidéo le met si bien en valeur", "oh bah il est nul part", Conservation.LC, zone, "Il est pas aussi banal qu'il en a l'air"));
}
public IEnumerable<Requin> LoadRequins()
{
return requins;
}
}
}

@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Modèle\Modèle.csproj" />
<ProjectReference Include="..\Persistance\Persistance.csproj" />
</ItemGroup>
</Project>

@ -20,6 +20,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{18E1E85C
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "test_requin", "test_requin\test_requin.csproj", "{D82F546C-3455-4857-A705-BDD3F61973CD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StubLib", "StubLib\StubLib.csproj", "{3DE43637-4ADE-420B-A78E-BD5A01B7E930}"
ProjectSection(ProjectDependencies) = postProject
{A3496A97-FA54-4FA9-A128-4B0D97D8F7EF} = {A3496A97-FA54-4FA9-A128-4B0D97D8F7EF}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Persistance", "Persistance\Persistance.csproj", "{A3496A97-FA54-4FA9-A128-4B0D97D8F7EF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -46,6 +53,14 @@ Global
{D82F546C-3455-4857-A705-BDD3F61973CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D82F546C-3455-4857-A705-BDD3F61973CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D82F546C-3455-4857-A705-BDD3F61973CD}.Release|Any CPU.Build.0 = Release|Any CPU
{3DE43637-4ADE-420B-A78E-BD5A01B7E930}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3DE43637-4ADE-420B-A78E-BD5A01B7E930}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3DE43637-4ADE-420B-A78E-BD5A01B7E930}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3DE43637-4ADE-420B-A78E-BD5A01B7E930}.Release|Any CPU.Build.0 = Release|Any CPU
{A3496A97-FA54-4FA9-A128-4B0D97D8F7EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A3496A97-FA54-4FA9-A128-4B0D97D8F7EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A3496A97-FA54-4FA9-A128-4B0D97D8F7EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A3496A97-FA54-4FA9-A128-4B0D97D8F7EF}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

@ -24,7 +24,7 @@
</DockPanel>
<DockPanel>
<ContentControl x:Name="contentControl">
<local:userControlDescription x:Name="uc2"/>
<local:userControlAcceuil/>
</ContentControl>
</DockPanel>
</DockPanel>

@ -32,7 +32,7 @@ namespace WpfApp1
List<Zone> zones = new List<Zone> { Zone.ATLANTIQUE, Zone.ARCTIQUE };
uc1.requin = new Requin("Bob le bricoleur", "Heterodontus Mexicanus", "*Ronflements*", "Images/Dormeur-Mexicain.jpg", "Videos/Vid-dormeur-Mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.DD, zones, "Hé laissez moi je fais dodo!");
uc2.requin = new Requin("Requin Dormeur Mexdzdqzdicain", "Heterodontus Mexicanus", "*Ronflements*", "Images/Dormeur-Mexicain.jpg", "Videos/Vid-dormeur-Mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.DD, zones, "Hé laissez moi je fais dodo!");
// uc2.requin = new Requin("Requin Dormeur Mexdzdqzdicain", "Heterodontus Mexicanus", "*Ronflements*", "Images/Dormeur-Mexicain.jpg", "Videos/Vid-dormeur-Mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.DD, zones, "Hé laissez moi je fais dodo!");
}

Loading…
Cancel
Save