Exemplo n.º 1
0
        public int LoadToJson(string path)
        {
            var  propList = new List <PropertyInfo>();
            var  lines    = File.ReadLines(path);
            bool isFirst  = true;

            int dateColOrdinal = -1;
            //var colCount = 0;
            var lineCounter = 0;

            foreach (var line in lines)
            {
                if (lineCounter >= LargeFileCutoffForSplit)
                {
                    return(LargeFileCutoffForSplit);
                }

                lineCounter++;
                var cols = line.Split('\t');
                if (isFirst)
                {
                    isFirst = false;
                    var isOldQvStuff = IsOldStyleQvLog(cols[0]);
                    //this might be a old style QV log.. Which we detect by col(0:0) = datetime.
                    propList = ReadAndSetHeaders(cols, isOldQvStuff, ref dateColOrdinal);
                    if (!isOldQvStuff)
                    {
                        continue;
                    }
                }

                var    item    = new GenericDataWrapper();
                string badShit = null;
                for (var i = 0; i < cols.Length; i++) // will support bad lines where the idiots have not crlf safed their error messages
                {
                    if (propList.Count <= i)
                    {
                        //now this gets Bjarni Angry TABS IN A FRIGGING TAB SEPARATED LOG!!! REALLY !!!
                        badShit += "\t " + cols[i];
                    }
                    else
                    {
                        if (dateColOrdinal == i)
                        {
                            item.DateTime1 = GetDateTimeFromLog(cols[i]);
                        }

                        if (Headers[i].MaxCharCount < cols[i].Length)
                        {
                            Headers[i].MaxCharCount = cols[i].Length;
                        }
                        LogFileAnalyzer?.Analyze(Lines.Count, i, cols[i]);
                        propList[i].SetValue(item, cols[i]);
                    }
                }
                if (propList.Count < cols.Length)
                {
                    badShit = propList[propList.Count - 1].GetValue(item) + "\t " + badShit;
                    propList[propList.Count - 1].SetValue(item, badShit);
                }

                Lines.Add(item);
            }
            LogFileAnalyzer?.OnFinished();
            return(0); //winOk signal :)
        }
Exemplo n.º 2
0
 private DateTime RightClikFilterDateColumnGetter(GenericDataWrapper model, object o, OLVColumn olvColumn)
 {
     return(model.DateTime1);
 }
Exemplo n.º 3
0
        private List <Tuple <string, List <QuickFilterValues> > > GenerateRightClickMenu(GenericDataWrapper model, object value, OLVColumn eColumn)
        {
            var ret = new List <Tuple <string, List <QuickFilterValues> > >();

            var quickPositive = new QuickFilterValues {
                NegativeFilter = false, ColumnName = eColumn.Text, FilterValue = value.ToString(), FriendlyName = $"Quick Filter By {eColumn.Text} = '{value}'"
            };
            var quickNegative = new QuickFilterValues {
                NegativeFilter = true, ColumnName = eColumn.Text, FilterValue = value.ToString(), FriendlyName = $"Quick Filter By {eColumn.Text} <> '{value}'"
            };

            ret.Add(new Tuple <string, List <QuickFilterValues> >($"Quick Filter By {eColumn.Text} = '{value}'", new List <QuickFilterValues> {
                quickPositive
            }));
            ret.Add(new Tuple <string, List <QuickFilterValues> >($"Quick Filter By {eColumn.Text} <> '{value}'", new List <QuickFilterValues> {
                quickNegative
            }));
            ret.Add(new Tuple <string, List <QuickFilterValues> >($"Create new filter containing {eColumn.Text} = '{value}'", new List <QuickFilterValues> {
                new QuickFilterValues {
                    NegativeFilter = false, ColumnName = eColumn.Text, FilterValue = value.ToString(), ToBeModifiedInFilterEditor = true
                }
            }));

            return(ret);
        }
Exemplo n.º 4
0
 private DateTime GetDateColumnGetter(GenericDataWrapper model)
 {
     return(model.DateTime1);
 }