示例#1
0
        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!!!");
        }
示例#2
0
        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);
        }