public bool RestoreInformationFromFile(string aPath)
{
FUserSettings.DeleteSettings();
BackUp lBackup = new BackUp();
string lPathSecret = Path.Combine(FDataFolder.FullName, InstanceId + ".secret");
string lPathSettings = Path.Combine(FDataFolder.FullName, InstanceId + ".settings");
string lPathExchange = Path.Combine(FDataFolder.FullName, InstanceId + ".exchange");
using (FileStream lFileStream = new FileStream(aPath, FileMode.Open, FileAccess.Read))
{
using (BinaryReader lBinaryReader = new BinaryReader(lFileStream))
{
lBackup.Version = lBinaryReader.ReadInt32();
lBackup.LengthSecret = lBinaryReader.ReadInt32();
lBackup.Secret = lBinaryReader.ReadBytes(lBackup.LengthSecret);
lBackup.LengthSetting = lBinaryReader.ReadInt32();
lBackup.Setting = lBinaryReader.ReadBytes(lBackup.LengthSetting);
lBackup.LengthExchange = lBinaryReader.ReadInt32();
lBackup.Exchange = lBinaryReader.ReadBytes(lBackup.LengthExchange);
}
}
if (File.Exists(lPathSecret))
{
File.Delete(lPathSecret);
}
using (FileStream lFileStream = new FileStream(lPathSecret, FileMode.Create, FileAccess.Write))
{
using (BinaryWriter lBinaryWriter = new BinaryWriter(lFileStream))
{
lBinaryWriter.Write(lBackup.Secret);
}
}
if (File.Exists(lPathSettings))
{
File.Delete(lPathSettings);
}
using (FileStream lFileStream = new FileStream(lPathSettings, FileMode.Create, FileAccess.Write))
{
using (BinaryWriter lBinaryWriter = new BinaryWriter(lFileStream))
{
lBinaryWriter.Write(lBackup.Setting);
}
}
if (File.Exists(lPathExchange))
{
File.Delete(lPathExchange);
}
using (FileStream lFileStream = new FileStream(lPathExchange, FileMode.Create, FileAccess.Write))
{
using (BinaryWriter lBinaryWriter = new BinaryWriter(lFileStream))
{
lBinaryWriter.Write(lBackup.Exchange);
}
}
FUserSettings.LoadSettings();
return(true);
}