Exemple #1
0
            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;
                }
            }
Exemple #2
0
            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);
 }
Exemple #5
0
 private bool CheckSerialization(EnumDataSerializationLoad dataLoad)
 {
     return(_dataLoad.CompareTo(dataLoad) != 0 || _concreteLoad == null);
 }