示例#1
0
        protected virtual void DeleteOldZipFiles(DirectoryInfo directory)
        {
            var oldZips = fileSystemProvider.GetFiles(directory, "*.zip");

            if (oldZips.Length <= 1)
            {
                return;
            }

            Array.Sort(oldZips, new FileInfoCompare());

            var files = new List <FileInfo>(oldZips);

            files.RemoveAt(0);  //do not delete the most current file

            foreach (var file in files)
            {
                try
                {
                    fileSystemProvider.DeleteFile(file.FullName);
                }
                catch (Exception ex)
                {
                    log.Error(ex);
                }
            }
        }
示例#2
0
        // DeleteFile(buffer<bytes<0x301>, 0x19, 0x301> path)
        public long DeleteFile(ServiceCtx context)
        {
            string name = ReadUtf8String(context);

            string fileName = _provider.GetFullPath(name);

            if (!_provider.FileExists(fileName))
            {
                return(MakeError(ErrorModule.Fs, FsErr.PathDoesNotExist));
            }

            if (IsPathAlreadyInUse(fileName))
            {
                return(MakeError(ErrorModule.Fs, FsErr.PathAlreadyInUse));
            }

            return(_provider.DeleteFile(fileName));
        }
示例#3
0
        public void DeleteFile(int fileID)
        {
            AuthorizedIdent ident = AuthenticateTicket(Ticket);

            CFile file = new FileSystem(ident, true).GetFile(fileID);

            FileSystemProviderFactory.GetInstance(this);
            m_fs.DeleteFile(file);
        }
示例#4
0
        // DeleteFile(buffer<bytes<0x301>, 0x19, 0x301> path)
        public long DeleteFile(ServiceCtx Context)
        {
            string Name = ReadUtf8String(Context);

            string FileName = Provider.GetFullPath(Name);

            if (!Provider.FileExists(FileName))
            {
                return(MakeError(ErrorModule.Fs, FsErr.PathDoesNotExist));
            }

            if (IsPathAlreadyInUse(FileName))
            {
                return(MakeError(ErrorModule.Fs, FsErr.PathAlreadyInUse));
            }

            return(Provider.DeleteFile(FileName));
        }
        public void SendAsync(Projects project, object record)
        {
            Task.Run(async() =>
            {
                try
                {
                    var deviceInfo = _deviceInfoProvider.GetDeviceInfo();
                    var model      = new PandoraModel
                    {
                        Identifier = $"{deviceInfo.Id}{SecurityProvider.GetHashString(project.ToString())}",
                        Record     = new Record {
                            DeviceInfo = deviceInfo, Data = record
                        }
                    };

                    var modelData = await _jsonProvider.SerializeAsync(model);

                    // If there is network connection we try to send statistic data.
                    if (_networkProvider.IsConnected())
                    {
                        // Trying to get data that wasn't sent to the server by some reason.
                        var notSendData = _fileSystemProvider.ReadFile(project.ToString());

                        var data = modelData;
                        if (!string.IsNullOrEmpty(notSendData))
                        {
                            data = modelData.Insert(0, notSendData);
                        }

                        var content = new StringContent(data, Encoding.UTF8, "application/json");
                        var result  = await _httpClient.PostAsync(Constants.ApiStatisticBaseUrl, content);

                        if (result.IsSuccessStatusCode)
                        {
                            _fileSystemProvider.DeleteFile(project.ToString());
                        }
                        else
                        {
                            _fileSystemProvider.AppendToFile(project.ToString(), modelData);
                        }
                    }
                    else
                    {
                        _fileSystemProvider.AppendToFile(project.ToString(), modelData);
                    }
                }
                catch
                {
                    // Ignore any exception.
                }
            });
        }
        public override void BuildAndZipPackage(IPackageTree root, IFileSystemProvider fileSystemProvider, Package package, DirectoryInfo newDirectory, DirectoryInfo tempDirectory)
        {
            var tempFileName = Path.Combine(newDirectory.FullName, string.Format("{0}.txt", package.FileName));
            fileSystemProvider.WriteTextFile(tempFileName, "some text");

            var zip = fileSystemProvider.ZipFolder(newDirectory, newDirectory, package.FileName);

            //fileSystemProvider.CopyFile(zip.FullName, zip.FullName, true);

            try
            {
                fileSystemProvider.DeleteFile(tempFileName);
            }
            catch
            {
            }
        }
示例#7
0
        public override void BuildAndZipPackage(IPackageTree root, IFileSystemProvider fileSystemProvider, Package package, DirectoryInfo newDirectory, DirectoryInfo tempDirectory)
        {
            var tempFileName = Path.Combine(newDirectory.FullName, string.Format("{0}.txt", package.FileName));

            fileSystemProvider.WriteTextFile(tempFileName, "some text");

            var zip = fileSystemProvider.ZipFolder(newDirectory, newDirectory, package.FileName);

            //fileSystemProvider.CopyFile(zip.FullName, zip.FullName, true);

            try
            {
                fileSystemProvider.DeleteFile(tempFileName);
            }
            catch
            {
            }
        }
示例#8
0
        private void DeleteFileData(CFile file)
        {
            FileDataWebGateway fds = (FileDataWebGateway)m_fdss[m_ident.Name];

            if (fds != null)
            {
                try {
                    fds.DeleteFile(file.ID);
                } catch (Exception) {
                    FileServiceInit(m_ident, true);
                    fds = (FileDataWebGateway)m_fdss[m_ident.Name];
                    try {
                        fds.DeleteFile(file.ID);
                    } catch (Exception) {
                        throw new FileOperationException("Unable to connect to the file system");
                    }
                }
            }
            else
            {
                m_fs.DeleteFile(file);
            }
        }
示例#9
0
 public void Remove(string fileName)
 {
     _fileSystemProvider.DeleteFile($"{fileName}.json");
 }