/// <summary>Ctor.</summary> public SequentialPatternVM() { Header = "Посл. Шаблоны"; LoadedDataInfo = string.Format(DataStatusStringFormat, 0, 0, 0); MaxPatternLength = 4; InputData = "1,2,1,2" + Environment.NewLine + "2,2,3,1"; ProcessCommand = new RelayCommand(ExecuteProcessCommand); ClassFunc.SelectedItemChanged += OnSelectedClassFuncChanged; ClassFunc.Add(ClassFuncByTypeWithoutCommand, "По Типу без Команд"); ClassFunc.Add(ClassFuncByTypeAndCommand, "По Типу и Команде"); ClassFunc.Add(ClassFuncByCommand, "Только по Команде"); TimeFunc.SelectedItemChanged += OnSelectedTimeFuncChanged; TimeFunc.Add(TimeFuncKlmAverage, "KLM (average)"); TimeFunc.Add(TimeFuncKlmSkilled, "KLM (skilled)"); }
/// <summary> /// Import UAD-file(s). /// </summary> private void ExecuteImportFile() { var groups = _import.ImportFile(); Files.AddRange(groups); //var regions = Files.SelectMany(sg => sg.Sessions) // .SelectMany(s => s.RegionCollection) // .SelectMany(r => r.Images.Select(v => new { r, v })) // .DistinctBy((r1, r2) => r1.r.Name == r2.r.Name && r1.v.Name == r2.v.Name); int fileCount = Files.Count; int sessionCount = Files.Sum(sg => sg.Sessions.Count); int eventCount = Files.Sum(sg => sg.Sessions.Sum(a => a.Events.Count)); LoadedDataInfo = string.Format(DataStatusStringFormat, fileCount, sessionCount, eventCount); ClassFunc.SelectFirst(); }