Пример #1
0
        internal (String fileName, Save model) LookingPartitionFile()
        {
            var files = FileHelper.GetAllFilesInSavedFolder();

            foreach (var item in files)
            {
                var model = SaveModelFactory.GetSaveModel(item);

                if (model.Url.Equals(_uri.OriginalString))
                {
                    FileInfo info = new FileInfo(item);
                    return(Path.GetFileNameWithoutExtension(info.Name), model);
                }
            }

            return(string.Empty, null);
        }
Пример #2
0
        internal void DeleteAll()
        {
            if (_status.Continued)
            {
                foreach (var item in _status.Partitions)
                {
                    if (File.Exists(item.Path))
                    {
                        File.Delete(item.Path);
                    }
                }
            }

            // remove Json file.
            var saved = LookingPartitionFile();

            if (saved.model != null)
            {
                SaveModelFactory.RemoveSaveModel(saved.fileName);
            }
        }
Пример #3
0
        protected async Task <string> MergePartitionsAsync()
        {
            if (_options.Override)
            {
                if (File.Exists(_fullPath))
                {
                    File.Delete(_fullPath);
                }
            }

            _fullPath = PrepareFileName();

            using (var file = new FileStream(_fullPath, FileMode.Create, FileAccess.Write))
            {
                foreach (var p in _status.Partitions)
                {
                    if (File.Exists(p.Path))
                    {
                        using (var partitionFile = new FileStream(p.Path, FileMode.Open, FileAccess.Read))
                        {
                            await partitionFile.CopyToAsync(file);
                        }

                        File.Delete(p.Path);
                    }
                }
            }

            var saved = LookingPartitionFile();

            if (saved.model != null)
            {
                SaveModelFactory.RemoveSaveModel(saved.fileName);
            }

            _completed = true;
            return(_fullPath);
        }