private bool GetFileFromFTP(string file, IUserConfiguration user, IFtpHelper ftpHelper, ProcessResult result) { var filePathHelper = new FilePathHelper(_configuration, user.Name); string localFileName; if (!ValidateFile(file, filePathHelper, result, out localFileName)) { return(false); } _logger.Debug($"Start to download {file} for user {user.Name}"); bool downloadResult = ftpHelper.DownloadFile(file, localFileName); if (downloadResult && File.Exists(localFileName)) { if (Path.GetExtension(file).Equals(".zip", StringComparison.InvariantCultureIgnoreCase)) { if (UnzipFile(localFileName, filePathHelper.GetDownloadsFolder()) == 0) { string message = $"{DateTime.UtcNow}:Problems to unzip the file {file}."; result.Type = ResulType.UNZIP; result.WriteError(message); return(false); } try { File.Delete(localFileName); // Delete zip file } catch { } } else { string newFileName = localFileName.Replace(".downloading", ".processing"); File.Move(localFileName, newFileName); } } else { string message = $"{DateTime.UtcNow}:Problems to download the file {file}."; result.Type = ResulType.DOWNLOAD; result.WriteError(message); _logger.Error($"Download problems with file {file}."); try { // Delete wrong file to retry. File.Delete(localFileName); } catch { } return(false); } return(true); }
private void RemoveFileFromFtp(string file, IUserConfiguration user, IFtpHelper ftpHelper) { if (user.HasDeleteFtp) { _logger.Debug($"Remove file {file} from FTP "); ftpHelper.DeleteFile(file); } }
public Crawler(ICrawlLinkRepository crawlLinkRepository, IMatchRepository matchRepository, IFtpHelper ftpHelper) { _crawlLinkRepository = crawlLinkRepository; _matchRepository = matchRepository; _ftpHelper = ftpHelper; _cookies = new CookieCollection(); _htmlWeb = new HtmlWeb(); InitialHttpWeb(); }
protected void UploadFileToFtp(string fileName, string ftpFolder, IFtpHelper ftpHelper) { if (File.Exists(fileName) && !string.IsNullOrEmpty(ftpFolder)) { string ftpFileName = $@"{ftpFolder}/{Path.GetFileName(fileName)}"; _logger.Debug($"Upload file {ftpFileName} to ftp."); ftpHelper.UploadFileAsync(fileName, ftpFileName); } }
private void UploadErrosToFTP(string fileName, IUserConfiguration user, IFtpHelper ftpHelper) { if (user.Errors != null && File.Exists(fileName)) { _logger.Debug($"Upload error file {fileName}"); var filePathHelper = new FilePathHelper(_configuration, user.Name); string ftpFileName = $@"{user.Errors.Folder}/{Path.GetFileName(fileName)}"; ftpHelper.UploadFile(fileName, ftpFileName); } }
public FtpFileMonitor( IFileMonitorsRepository fileMonitorsRepository, IGameServerStatusRepository gameServerStatusRepository, ILogFileMonitorStateRepository logFileMonitorStateRepository, IServiceProvider serviceProvider, IFtpHelper ftpHelper) { _fileMonitorsRepository = fileMonitorsRepository ?? throw new ArgumentNullException(nameof(fileMonitorsRepository)); _gameServerStatusRepository = gameServerStatusRepository ?? throw new ArgumentNullException(nameof(gameServerStatusRepository)); _logFileMonitorStateRepository = logFileMonitorStateRepository ?? throw new ArgumentNullException(nameof(logFileMonitorStateRepository)); _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); _ftpHelper = ftpHelper ?? throw new ArgumentNullException(nameof(ftpHelper)); }
public BanFileMonitor( ILogger <BanFileMonitor> logger, IBanFileMonitorsRepository banFileMonitorsRepository, IFtpHelper ftpHelper, IBanFileIngest banFileIngest, IBanFilesRepository banFilesRepository) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _banFileMonitorsRepository = banFileMonitorsRepository ?? throw new ArgumentNullException(nameof(banFileMonitorsRepository)); _ftpHelper = ftpHelper ?? throw new ArgumentNullException(nameof(ftpHelper)); _banFileIngest = banFileIngest; _banFilesRepository = banFilesRepository ?? throw new ArgumentNullException(nameof(banFilesRepository)); }
//protected void WriteError(string errorFileName, string message) //{ // if (!string.IsNullOrEmpty(errorFileName)) // { // using (StreamWriter sw = new StreamWriter(errorFileName, true)) // { // sw.WriteLine(message); // } // } //} private void UploadResultsToFTP(string file, IUserConfiguration user, IFtpHelper ftpHelper) { if (File.Exists(file) && user.Results != null) { _logger.Debug($"Start to process results for file {file}"); var filePathHelper = new FilePathHelper(_configuration, user.Name); string resultsPath = filePathHelper.GetResultsFilesFolder(); string resultsFilePath = user.Results.SaveAndGetName(file, resultsPath); string ftpFileName = $@"{user.Results.Folder}/{Path.GetFileName(resultsFilePath)}"; if (!File.Exists(resultsFilePath)) { resultsFilePath = file; } ftpHelper.UploadFile(resultsFilePath, ftpFileName); } }
private void UploadStartFileToFTP(string fileName, IUserConfiguration user, IFtpHelper ftpHelper) { }
public DbRepository(MySqlContext dbContext, IFtpHelper ftpHelper, IHtmlHelper htmlHelper) { _dbContext = dbContext; _ftpHelper = ftpHelper; _htmlHelper = htmlHelper; }
public Crawler(ICrawlLinkRepository crawlLinkRepository, IMatchRepository matchRepository, IFtpHelper ftpHelper) { _crawlLinkRepository = crawlLinkRepository; _matchRepository = matchRepository; _ftpHelper = ftpHelper; }
private void ProcessAckFile(string folderName, string fileName, IUserConfiguration user, IFtpHelper ftpHelper) { string ftpFileName = $@"{folderName}/{fileName}"; string localFileName = $@"{new FilePathHelper(_configuration, user.Name).GetReportsFilesFolder()}\{fileName}"; _logger.Debug($"Process ack file {ftpFileName}"); ftpHelper.DownloadFile(ftpFileName, localFileName); if (File.Exists(localFileName)) { if (user.HasDeleteFtp) { ftpHelper.DeleteFile(ftpFileName); } try { _logger.Debug($"Delete local file {fileName}"); File.Delete(localFileName); } catch (Exception e) { _logger.Error($"Error trying to delete file {localFileName} -- {e}"); } } }
private void DownloadUserFiles(string folder, List <string> files, IUserConfiguration user, IFtpHelper ftpHelper) { if (files.Count == 0) { return; } Thread threadDownload = new Thread(new ThreadStart(() => { string downloadFolder = new FilePathHelper(_configuration, user.Name).GetDownloadsFolder(); foreach (string file in files) { if (Directory.GetFiles(downloadFolder).Length >= 4) { break; } if (user.Ack != null && IsAckFile(file, user.Ack)) { ProcessAckFile(folder, file, user, ftpHelper); continue; } var result = new ProcessResult(); result.ErrorFileName = GetErrorsFileName(file, user); string ftpFileName = $"{folder}/{file}"; if (GetFileFromFTP(ftpFileName, user, ftpHelper, result)) { RemoveFileFromFtp(ftpFileName, user, ftpHelper); } } })); threadDownload.Start(); }