public void Start(int periodMin, FtpClient client, JArray fileStructure) { var context = Startup.ConnectionManager.GetHubContext <FileMonitoringHub>(); context.Clients.All.BroadCastMessage($"Monitoring started at {DateTime.Now}"); _timer = new Timer((e) => { fileStructure = _directorySearch.CompareDirectories(fileStructure, _directorySearch.GetRecursiveFilesJson(client, "/")); }, null, 0, (int)TimeSpan.FromMinutes(periodMin).TotalMilliseconds); }
public IActionResult CheckConnection(string host, string user, string password) { try { var client = new FtpClient { Host = host, Credentials = new NetworkCredential(user, password) }; client.Connect(); var fileStructure = _directorySearch.GetRecursiveFilesJson(client, "/"); _monitoring.Start(1, client, fileStructure); return(Ok(fileStructure)); } catch (Exception ex) { return(BadRequest($"Error occured: {ex.Message}")); } }