private Task <LogItemCollection> UpdateCore() { LogItemCollection items = new LogItemCollection(); return(Task.Factory.StartNew(() => { try { string file = Path.Combine(Logger.LogFolder, Logger.LogParameters[this.CurrentLogType].FileName); if (!File.Exists(file)) { return items; } IEnumerable <string> lines = File.ReadLines(file); this.TotalPage = (lines.Count() - 1) / 20 + 1; // ReSharper disable once PossibleMultipleEnumeration lines.Take(1).First().Split(',').ToList().ForEach((col => items.Columns.Add(col))); // ReSharper disable once PossibleMultipleEnumeration lines.Skip(1).Reverse().Skip((this.CurrentPage - 1) * this.logPerPage).Take(this.logPerPage).ToList().ForEach(line => { string[] elements = line.Split(','); if (elements.Length < 5) { return; } items.Rows.Add(elements .Take(items.Columns.Count) .ToArray()); }); return items; } catch (Exception) { return items; } })); }
private Task <LogItemCollection> UpdateCore() { var items = new LogItemCollection(); return(Task.Factory.StartNew(() => { try { var file = Path.Combine(KanColleClient.Current.Settings.LoggerFolder, Logger.LogParameters[this.CurrentLogType].FileName); if (!File.Exists(file)) { return items; } var lines = ReadLines(file); // ReSharper disable once PossibleMultipleEnumeration this.TotalPage = (lines.Count() - 1) / 20 + 1; // ReSharper disable once PossibleMultipleEnumeration lines.Take(1).First().Split(',').ToList().ForEach((col => items.Columns.Add(col))); // ReSharper disable once PossibleMultipleEnumeration lines.Skip(1).Reverse().Skip((this.CurrentPage - 1) * this.logPerPage).Take(this.logPerPage).ToList().ForEach(line => { var elements = line.Split(','); items.Rows.Add(elements .Take(items.Columns.Count) .ToArray()); }); return items; } catch (Exception ex) { Debug.WriteLine(ex.ToString()); return items; } })); }
private Task<LogItemCollection> UpdateCore() { var items = new LogItemCollection(); return Task.Factory.StartNew(() => { try { var file = Path.Combine(KanColleClient.Current.Settings.LoggerFolder, Logger.LogParameters[this.CurrentLogType].FileName); if (!File.Exists(file)) return items; var lines = ReadLines(file); // ReSharper disable once PossibleMultipleEnumeration this.TotalPage = (lines.Count() - 1)/20 + 1; // ReSharper disable once PossibleMultipleEnumeration lines.Take(1).First().Split(',').ToList().ForEach((col => items.Columns.Add(col))); // ReSharper disable once PossibleMultipleEnumeration lines.Skip(1).Reverse().Skip((this.CurrentPage - 1) * this.logPerPage).Take(this.logPerPage).ToList().ForEach(line => { var elements = line.Split(','); items.Rows.Add(elements .Take(items.Columns.Count) .ToArray()); }); return items; } catch (Exception ex) { Debug.WriteLine(ex.ToString()); return items; } }); }
private Task<LogItemCollection> UpdateCore() { LogItemCollection items = new LogItemCollection(); return Task.Factory.StartNew(() => { try { string file = Path.Combine(Logger.LogFolder, Logger.LogParameters[this.CurrentLogType].FileName); if (!File.Exists(file)) return items; IEnumerable<string> lines = File.ReadLines(file); this.TotalPage = (lines.Count() - 1)/20 + 1; // ReSharper disable once PossibleMultipleEnumeration lines.Take(1).First().Split(',').ToList().ForEach((col => items.Columns.Add(col))); // ReSharper disable once PossibleMultipleEnumeration lines.Skip(1).Reverse().Skip((this.CurrentPage - 1) * this.logPerPage).Take(this.logPerPage).ToList().ForEach(line => { string[] elements = line.Split(','); if (elements.Length < 5) return; items.Rows.Add(elements .Take(items.Columns.Count) .ToArray()); }); return items; } catch (Exception) { return items; } }); }
public static void SetLogSource(DependencyObject d, LogItemCollection value) { d.SetValue(LogSourceProperty, value); }