@ -19,31 +19,38 @@ namespace Persistance
= new DataContractSerializer ( typeof ( DataToPersistReq ) ) ;
= new DataContractSerializer ( typeof ( DataToPersistReq ) ) ;
DataContractSerializer SerializerUsers { get ; set ; }
DataContractSerializer SerializerUsers { get ; set ; }
= new DataContractSerializer ( typeof ( DataToPersistUsers ) ) ;
= new DataContractSerializer ( typeof ( DataToPersistUsers ) ) ;
DataContractSerializer SerializerFun { get ; set ; }
= new DataContractSerializer ( typeof ( List < String > ) ) ;
// DataToPersistReq et DataToPersistUsers
// DataToPersistReq et DataToPersistUsers
DataToPersistReq dataReq = new DataToPersistReq ( ) ;
DataToPersistReq dataReq = new DataToPersistReq ( ) ;
DataToPersistUsers data = new DataToPersistUsers ( ) ;
DataToPersistUsers data = new DataToPersistUsers ( ) ;
List < String > lesFunFacts = new List < String > ( ) ;
// Chemin des fichiers
// Chemin des fichiers
s tring FilePath { get ; set ; } = Path . Combine ( Directory . GetCurrentDirectory ( ) , "..//..//..//Persistance" ) ;
S tring FilePath { get ; set ; } = Path . Combine ( Directory . GetCurrentDirectory ( ) , "..//..//..//Persistance" ) ;
// Noms des fichiers
// Noms des fichiers
s tring FileNameReq { get ; set ; }
S tring FileNameReq { get ; set ; }
= "ficReqs" ;
= "ficReqs" ;
s tring FileNameUsers { get ; set ; }
S tring FileNameUsers { get ; set ; }
= "ficUsers" ;
= "ficUsers" ;
String FileNameFunFacts { get ; set ; }
= "ficFunFacts" ;
// Fichiers complets
// Fichiers complets
string FileReq = > Path . Combine ( FilePath , FileNameReq ) ;
String FileReq = > Path . Combine ( FilePath , FileNameReq ) ;
string FileUsers = > Path . Combine ( FilePath , FileNameUsers ) ;
String FileUsers = > Path . Combine ( FilePath , FileNameUsers ) ;
String FileFunFacts = > Path . Combine ( FilePath , FileNameFunFacts ) ;
@ -78,6 +85,8 @@ namespace Persistance
Directory . CreateDirectory ( FileUsers ) ;
Directory . CreateDirectory ( FileUsers ) ;
}
}
data . Users . Clear ( ) ;
data . Experts . Clear ( ) ;
data . Users . AddRange ( users ) ;
data . Users . AddRange ( users ) ;
data . Experts . AddRange ( experts ) ;
data . Experts . AddRange ( experts ) ;
@ -117,6 +126,9 @@ namespace Persistance
Directory . CreateDirectory ( FilePath ) ;
Directory . CreateDirectory ( FilePath ) ;
}
}
dataReq . Requins . Clear ( ) ;
dataReq . RequinsAdd . Clear ( ) ;
dataReq . RequinsEdit . Clear ( ) ;
dataReq . Requins . AddRange ( reqs ) ;
dataReq . Requins . AddRange ( reqs ) ;
dataReq . RequinsAdd . AddRange ( reqsAdd ) ;
dataReq . RequinsAdd . AddRange ( reqsAdd ) ;
dataReq . RequinsEdit . AddRange ( reqsEdit ) ;
dataReq . RequinsEdit . AddRange ( reqsEdit ) ;
@ -130,5 +142,42 @@ namespace Persistance
}
}
}
}
public List < String > LoadFunFacts ( )
{
if ( ! File . Exists ( FileFunFacts ) )
{
throw new FileNotFoundException ( "The persistance file does not exist" ) ;
}
using ( Stream stream = File . OpenRead ( FileFunFacts ) )
{
lesFunFacts = SerializerFun . ReadObject ( stream ) as List < String > ;
}
return lesFunFacts ;
}
public void SaveFunFacts ( List < String > funFacts )
{
if ( ! Directory . Exists ( FilePath ) )
{
Directory . CreateDirectory ( FilePath ) ;
}
lesFunFacts . Clear ( ) ;
lesFunFacts . AddRange ( funFacts ) ;
using ( TextWriter tw = File . CreateText ( Path . Combine ( FilePath , FileFunFacts ) ) )
{
using ( XmlWriter writer = XmlWriter . Create ( tw , settings ) )
{
SerializerFun . WriteObject ( writer , lesFunFacts ) ;
}
}
}
}
}
}
}