BaseConfigEntity.cs
Home
/
ToolPack1 /
Tools /
Tools.ConfigurationTool /
Config /
Base /
BaseConfigEntity.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Tools.SingletonTool.Base;
namespace Tools.ConfigurationTool.Config.Base
{
internal abstract class BaseConfigEntity<D, P>
: IConfigEntity<D>,
ISignlethonWithParams<P>
where D : class, new()
where P : ConfigParams
{
protected P Params { private set; get; }
public D Data { set; get; } = new D();
public virtual void SetParams(P param)
{
Params = param;
}
protected abstract D Read();
protected abstract void Write(D data);
public virtual void Import()
{
Data = Read();
}
public virtual void Export()
{
Write(Data);
}
public bool FileExist() => File.Exists(Params.ConfigPath);
public void DeleteFile()
{
if (FileExist())
{
File.Delete(Params.ConfigPath);
}
}
}
}