public void SetConcreteSerialization(EnumDataSerializationLoad dataLoad, EnumDataSerializationSave dataSave) { switch (dataLoad) { case EnumDataSerializationLoad.xml: if (CheckSerialization(dataLoad)) { _concreteLoad = new XMLLoad(); _dataLoad = dataLoad; } break; case EnumDataSerializationLoad.json: if (CheckSerialization(dataLoad)) { _concreteLoad = new JsonLoad(); _dataLoad = dataLoad; } break; case EnumDataSerializationLoad.dat: if (CheckSerialization(dataLoad)) { _concreteLoad = new BinaryLoad(); _dataLoad = dataLoad; } break; } switch (dataSave) { case EnumDataSerializationSave.xml: if (CheckSerialization(dataSave)) { _concreteSave = new XMLSave(); _dataSave = dataSave; } break; case EnumDataSerializationSave.json: if (CheckSerialization(dataSave)) { _concreteSave = new JsonSave(); _dataSave = dataSave; } break; case EnumDataSerializationSave.dat: if (CheckSerialization(dataSave)) { _concreteSave = new BinarySave(); _dataSave = dataSave; } break; } }
public DataBase(string filePath, EnumDataSerializationLoad dataLoad, EnumDataSerializationSave dataSave) { _dataLoad = dataLoad; _dataSave = dataSave; _filePath = filePath; FileInfo file = new(_filePath); _currentFileExtension = file.Extension; SetConcreteSerialization(dataLoad, dataSave); }
public HumanDataBase(string pathFile, EnumDataSerializationLoad serializationLoad, EnumDataSerializationSave serializationSave) { if (!CheckCorrectPath(pathFile)) { throw new FormatException($"Путь {pathFile} является некорректным"); } EventOperationDataBase += PrintDataBaseMessageToConsole; EventOperationObject += PrintObjectMessageToConsole; _humanList = new(); _dataBase = new(pathFile, serializationLoad, serializationSave); EventOperationDataBase?.Invoke("объект взаимодействия с базой данных инициализирован", nameof(HumanDataBase)); }
public void SetConcreteSerialization(EnumDataSerializationLoad serializationLoad, EnumDataSerializationSave serializationSave) { _dataBase.SetConcreteSerialization(serializationLoad, serializationSave); }
private bool CheckSerialization(EnumDataSerializationLoad dataLoad) { return(_dataLoad.CompareTo(dataLoad) != 0 || _concreteLoad == null); }