public IEnumerable <LogLineView> GetLogLines() { var repo = new DisconnectedRepository(); var ipDetails = repo.GetIpDetails(); var lines = repo.GetLogLines(); var providers = new Providers(ipDetails); var result = lines.Select(p => new LogLineView { Date = p.Date.ToString("MM/dd/yyyy"), Time = p.Time, IpClient = p.IpClient, MediaItem = p.MediaItem, IspProvider = providers.GetValue(p.IpClient).IspProvider, Country = providers.GetValue(p.IpClient).Country, State = providers.GetValue(p.IpClient).State, Location = providers.GetValue(p.IpClient).Location, IpDetailId = providers.GetValue(p.IpClient).IpDetailId, Client = p.Client, ClientVersion = p.ClientVersion, Platform = p.Platform, IsHidden = providers.GetValue(p.IpClient).IsHidden }); return(result); }
public IEnumerable <IpDetail> GetIpDetails() { var repo = new DisconnectedRepository(); var ipDetails = repo.GetIpDetails() .OrderBy(p => p.IpNumber).ToList(); return(ipDetails); }
public void ScanFolder() { string searchPattern = SearchPattern.Log; var repo = new DisconnectedRepository(); var fileProcessor = new FileProcessor(); LocalSetting setting = repo.GetLocalSettings(); string folderPath = @"" + setting.FolderPath; var filesToProcess = fileProcessor.FindNewFiles(folderPath, searchPattern); var ipDetails = repo.GetIpDetails(); List <string> ipNumbers = ipDetails.Select(p => p.IpNumber).ToList(); List <string> scannedIpNumbers = new List <string>(); Guid id = new Guid(); var logProcessor = new LogProcessor(); foreach (var logFile in filesToProcess) { var linesToProcess = logProcessor.FindNewlogLines(logFile); var fileInDatabase = repo.GetLogFileByFileName(logFile.FileName); if (fileInDatabase != null) { id = fileInDatabase.LogFileId; } else { id = logFile.LogFileId; repo.AddNewLogFile(logFile); } foreach (var logLine in linesToProcess) { scannedIpNumbers.Add(logLine.IpClient); logLine.LogFileId = id; repo.AddNewLogLine(logLine); } } var newIpNumbers = scannedIpNumbers.Except(ipNumbers); foreach (var item in newIpNumbers) { var ipDetail = new IpDetail(); ipDetail.IpNumber = item; repo.AddNewIpDetail(ipDetail); Console.WriteLine(item); } }
public void BackupDetails() { var repo = new DisconnectedRepository(); var ipDetails = repo.GetIpDetails(); var files = repo.GetLogFiles(); var lines = repo.GetLogLines(); var setting = repo.GetLocalSettings(); var backupWriter = new BackupWriter(ipDetails, lines, files, setting); var time = DateTime.Now.ToString("yyyy.dd.mm.HH.mm"); var path = setting.BackupFolder; var fileName = path + setting.BackupName + "_details_" + time + BackupFormat.Xml; backupWriter.BackupIpDetails(fileName); }