private void ProcessRecords(List <string> logRecords, string fileName) { Debug.WriteLine("Total records: " + logRecords.Count); var db = new SySDB(); foreach (var logRecord in logRecords) { if (string.IsNullOrWhiteSpace(logRecord) || logRecord.Length < 13) { continue; } var fields = logRecord.Split(','); var readDate = ParseToDate(fields[0]); var exist = db.SensorLogs.Any(x => x.ReadDate == readDate); if (!exist) { db.SensorLogs.Add(new SensorLog { SensorId = "001", ReadDate = readDate, Temperature = ToDouble(fields[1]), Humidity = ToDouble(fields[2]) }); } } db.SaveChanges(); // Mark the file as processed var logFile = db.LogFiles.FirstOrDefault(x => x.FileName.Equals(fileName, StringComparison.InvariantCultureIgnoreCase)); if (logFile != null) { logFile.ProcessDate = DateTime.Now; db.SaveChanges(); } Debug.WriteLine("SAVED!!!"); }
public int SaveLogFile(string fileName, string fileContent) { var db = new SySDB(); var logFile = db.LogFiles.FirstOrDefault(x => x.FileName == fileName); if (logFile != null) { return(-1); } logFile = new LogFile { FileName = fileName, FileContent = fileContent, DateCreated = DateTime.Now }; db.LogFiles.Add(logFile); db.SaveChanges(); return(logFile.Id); }