Example #1
0
        public ShellViewModel(
            IFileService fileService,
            ILogLoader logLoader,
            PanelsViewModel plugins,
            IEventAggregator eventAggregator,
            SnackbarService snackbarService,
            IDialogService dialogService,
            Func <SaveRuleMessage, SaveRuleViewModel> saveRuleFactory,
            Func <LoadRuleMessage, LoadRuleViewModel> loadRuleFactory,
            LibraryPanelViewModel libraryPanel,
            Func <LogStateViewModel> logStateFactory,
            DropService dropService,
            StatusBarViewModel statusBar)
        {
            _fileService = fileService;
            _logLoader   = logLoader;

            _eventAggregator = eventAggregator;
            _snackbarService = snackbarService;
            _dialogService   = dialogService;
            _saveRuleFactory = saveRuleFactory;
            _loadRuleFactory = loadRuleFactory;
            _dropService     = dropService;

            Plugins = plugins;

            Snackbar     = snackbarService;
            LibraryPanel = libraryPanel;
            StatusBar    = statusBar;
            _eventAggregator.Subscribe(this);

            LogState = logStateFactory();
            Items.AddRange(new Screen[] { plugins, statusBar });
            DisplayName = "ANALOG";
        }
Example #2
0
        /// <summary>
        /// Asynchronně načte všechna dostupná data, která jsou ohraničená <paramref name="pocatek"/> a <paramref name="pocatek"/>.
        /// </summary>
        /// <param name="pocatek"></param>
        /// <param name="konec"></param>
        /// <returns>Kolekce načtených dat typu <see cref="LogDataCollection"/>.</returns>
        /// <exception cref="ProcesEndedByUserException">V případě, že je proces předčasně ukončen uživatelem.</exception>
        public async Task <LogDataCollection> LoadAsyncData(DateTime pocatek, DateTime konec)
        {
            // Upozorní uživatele, že se pokouší načíst velké množství dat a požádá o potvrzení.
            if ((int)(konec - pocatek).TotalSeconds > POCET_RADKU_THRESHOLD &&
                !errorDisplayService.ShowAsYesNo($"Počet potřebných řádků k načtení ze souboru přesahuje hodnotu {POCET_RADKU_THRESHOLD}" +
                                                 $". Z toho může plynout dlouhá načítací doba. Chcete i přesto pokračovat? "))
            {
                throw new ProcesEndedByUserException("Too many data rows.");
            }


            IEnumerable <string> vybraneSoubory = fileBrowser.GetOrderedFiles(pocatek, konec) ?? new List <string>();
            var output = new LogDataCollection(template);

            foreach (var soubor in vybraneSoubory)
            {
                ILogLoader loader = logLoaderFactory.Create(soubor);
                output.AddRange((await loader.LoadAsyncData(pocatek, konec)).ToList());
                // V případě, že loader již načetl veškeré soubory, tak je z této metody vyskočeno.
                if (loader.IsCompleted)
                {
                    break;
                }
            }
            IsCompleted = true;
            return(output);
        }
Example #3
0
        public WinformViewer()
        {
            InitializeComponent();

            this.rtbClassViewer.SelectionBackColor = Color.Red;
            this.rtbClassViewer.SelectionColor = Color.White;

            this.logLoader = new LogLoader(this);
        }
 public ImportModule(
     ILogLoader logLoader,
     IDimensionLoader dimensionLoader,
     IAchievementLoader achievementLoader,
     IStatsLoader statsLoader,
     INbtEndScreenLoader playerNbtLoader,
     INbtLoader nbtLoader,
     ILogger <ImportModule> logger)
 {
     _logLoader         = logLoader;
     _dimensionLoader   = dimensionLoader;
     _achievementLoader = achievementLoader;
     _statsLoader       = statsLoader;
     _playerNbtLoader   = playerNbtLoader;
     _nbtLoader         = nbtLoader;
     _logger            = logger;
 }
 public MultiLogFileDropHandler(ILogState logState, ILogLoader logLoader)
 {
     _logState  = logState;
     _logLoader = logLoader;
 }
        /// <summary>
        /// Adds list loader
        /// </summary>
        /// <param name="loader"></param>
        public static void AddListLoader(this ILogLoader loader)
        {
            LogListLoaderCollection c = listLoader as LogListLoaderCollection;

            c.Add(loader);
        }
 public LogAnalyzer(ILogLoader logLoader)
 {
     this.logLoader = logLoader;
 }
 public ArchiveFromHttpDropHandler(ILogState logState, ILogLoader logLoader)
 {
     _logState  = logState;
     _logLoader = logLoader;
 }
 /// <summary>
 /// Adds a loader
 /// </summary>
 /// <param name="loader">The loder for add</param>
 public void Add(ILogLoader loader)
 {
     loaders.Add(loader);
 }
Example #10
0
 public SingleDirectoryDropHandler(ILogState logState, ILogLoader logLoader)
 {
     _logState  = logState;
     _logLoader = logLoader;
 }