Exemple #1
0
 public LogViewModel()
 {
     Filter    = new LogItemFilter();
     TypeItems = new List <string> {
         "", "Activity", "Jury Activity", "Score"
     };
     Items = GetLogItems(Filter);
     EnableButtons(true);
 }
Exemple #2
0
        private List <LogItem> GetLogItems(LogItemFilter filter)
        {
            var logItems = new List <LogItem>();

            foreach (var file in Directory.EnumerateFiles(FolderFactory.LogFolder, "*.xml"))
            {
                var fileInfo = new FileInfo(file);
                if (!fileInfo.Name.Contains("Winners"))
                {
                    var logInfoArray = fileInfo.Name.Split('_');
                    if (logInfoArray.Length > 1)
                    {
                        var logDate  = logInfoArray[1].Substring(0, 8);
                        var logTime  = logInfoArray[1].Substring(8, 6);
                        var dLogDate = new DateTime(int.Parse(logDate.Substring(0, 4)),
                                                    int.Parse(logDate.Substring(4, 2)), int.Parse(logDate.Substring(6, 2)));
                        var dLogTime = new TimeSpan(int.Parse(logTime.Substring(0, 2)),
                                                    int.Parse(logTime.Substring(2, 2)), int.Parse(logTime.Substring(4, 2)));
                        logItems.Add(new LogItem
                        {
                            LogType = file.Contains("Jury") ? "Jury Activity" : logInfoArray[0],
                            LogDate = dLogDate,
                            LogTime = dLogTime,
                            LogPath = fileInfo.Name
                        });
                    }
                }
            }
            if (filter != null)
            {
                if (filter.From.HasValue)
                {
                    logItems = logItems.Where(w => w.LogDate >= filter.From.Value).ToList();
                }

                if (filter.Until.HasValue)
                {
                    logItems = logItems.Where(w => w.LogDate <= filter.Until.Value).ToList();
                }
                if (!string.IsNullOrEmpty(filter.Type))
                {
                    logItems = logItems.Where(w => w.LogType.ToUpper().Equals(filter.Type.ToUpper())).ToList();
                }
            }
            logItems = logItems.OrderByDescending(o => o.LogDate).ThenByDescending(o => o.LogTime).ToList();
            NumberOfRegistrations = $"{logItems.Count.ToString(CultureInfo.InvariantCulture)} registraties";
            return(logItems);
        }