Ejemplo n.º 1
0
        public void CreateAllFiles(string directory, IFileExtensionFactory extensionFactory)
        {
            IOUtils.TryDeleteAllFilesInDirectory(directory);

            var serializer = new FileStringSerializer();

            foreach (var file in Files.Descriptors)
            {
                var extensionInfo = extensionFactory.GetExtension(file.Key.TargetDeviceId, file.Key.FileType);
                var fileName      = $"V{file.Key.FileFormatVersion}{extensionInfo.Extension}";
                var path          = Path.Combine(directory, fileName);
                var serialized    = serializer.Serialize(file.Value.Descriptors.Select(d => d.FileDefaultDataEntity));
                try
                {
                    using (var stream = new StreamWriter(IOUtils.TryCreateFileOrNull(path)))
                    {
                        stream.Write(serialized);
                    }
                }
                catch (Exception ex)
                {
                    Logger.LogError(null, $"Не удалось создать или сохранить файл по пути: {path}", ex);
                }
            }
        }
Ejemplo n.º 2
0
        protected byte[] deserialize(string file, FileType fileType)
        {
            var fileSerializer = new FileStringSerializer();

            return(fileSerializer
                   .Deserialize(file, fileType, Id)
                   .Select(e => e.RawValue)
                   .Flatten()
                   .ToArray());
        }
Ejemplo n.º 3
0
        public void SeamlessSerialization_EmptyIncTCalFile_Test()
        {
            var serializer   = new FileStringSerializer();
            var deserialized = serializer.Deserialize(
                DeviceBaseTests.Properties.Resources.EmptyInclinometrTCal_V7_0_0,
                FileType.TEMPERATURE_CALIBRATION,
                0b00000011);
            var serialized = serializer.Serialize(deserialized);

            Assert.AreEqual(DeviceBaseTests.Properties.Resources.EmptyInclinometrTCal_V7_0_0, serialized);
        }
Ejemplo n.º 4
0
        public async Task SaveCalibrationFileAsync(FileType fileType, IEnumerable <IDataEntity> dataEntities)
        {
            await ThreadingUtils.ContinueAtThreadPull();

            var serialized = new FileStringSerializer().Serialize(dataEntities);

            if (serialized != null)
            {
                var extensionInfo = _extensionFactory.GetExtension(_deviceId, fileType);
                var path          = IOUtils.RequestFileSavingPath(extensionInfo.FileExtensionFilter);
                if (path != null)
                {
                    try
                    {
                        File.WriteAllText(path, serialized);
                    }
                    catch (Exception ex)
                    {
                        Logger.LogErrorEverywhere($"Не удалось сохранить файл на диск", ex);
                    }
                }
            }
        }