Пример #1
0
        public void ProcessPendingLogs()
        {
            var db = new SySDB();
            var pendingProcessLogs = db.LogFiles.Where(x => !x.ProcessDate.HasValue).ToList();

            foreach (var pendingProcessLog in pendingProcessLogs)
            {
                ProcessLogFile(pendingProcessLog);
            }
        }
Пример #2
0
        public IList <SensorLogDataViewModel> GetLogs()
        {
            var db       = new SySDB();
            var dateFrom = new DateTime(2017, 08, 31, 9, 0, 0);
            var dateTo   = new DateTime(2017, 08, 31, 12, 0, 0);

            return(db.SensorLogs.Where(x => x.ReadDate >= dateFrom && x.ReadDate <= dateTo).Select(x => new SensorLogDataViewModel
            {
                Date = x.ReadDate,
                Temperature = x.Temperature,
                Humidity = x.Humidity
            }).ToList());
        }
Пример #3
0
        public ActionResult Index()
        {
            var db    = new SySDB();
            var model = new List <LogFileViewModel>();

            foreach (var f in db.LogFiles.OrderByDescending(x => x.ProcessDate).ThenByDescending(x => x.DateCreated).ToList())
            {
                model.Add(new LogFileViewModel {
                    Filename = f.FileName, DateCreated = f.DateCreated
                });
            }

            return(View(model));
        }
Пример #4
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!!!");
        }
Пример #5
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);
        }
Пример #6
0
        public bool CheckLogFile(string filename)
        {
            var db = new SySDB();

            return(db.LogFiles.Any(x => x.FileName.Equals(filename, StringComparison.InvariantCultureIgnoreCase)));
        }