コード例 #1
0
        /// <summary>Creates the command handler.</summary>
        /// <returns>CommandHandler that refers to all the commands via chain of responsibility.</returns>
        private static CommandHandlerBase CreateCommandHandler()
        {
            var createHandler = new CreateCommandHandler(fileCabinetService);
            var purgeHandler  = new PurgeCommandHandler(fileCabinetService);
            var statHandler   = new StatCommandHandler(fileCabinetService);
            var exportHandler = new ExportCommandHandler(fileCabinetService);
            var importHandler = new ImportCommandHandler(fileCabinetService);
            var exitHandler   = new ExitCommandHandler(b => isRunning = b);
            var missedHandler = new MissedCommandHandler();
            var insertHandler = new InsertCommandHandler(fileCabinetService);
            var deleteHandler = new DeleteCommandHandler(fileCabinetService);
            var updateHandler = new UpdateCommandHandler(fileCabinetService);
            var selectHandler = new SelectCommandHandler(fileCabinetService);

            exitHandler.SetNext(missedHandler);
            importHandler.SetNext(exitHandler);
            exportHandler.SetNext(importHandler);
            statHandler.SetNext(exportHandler);
            purgeHandler.SetNext(statHandler);
            createHandler.SetNext(purgeHandler);
            updateHandler.SetNext(createHandler);
            deleteHandler.SetNext(updateHandler);
            selectHandler.SetNext(deleteHandler);
            insertHandler.SetNext(selectHandler);
            return(insertHandler);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: ZerSQL/file-cabinet-task
        private static ICommandHandler CreateCommandHandlers()
        {
            Action <IEnumerable <FileCabinetRecord> > printer;

            printer = DefaultRecordPrint;
            var recordPrinter = new DefaultRecordPrinter();
            var createHandler = new CreateCommandHandler(Program.fileCabinetService);
            var editHandler   = new EditCommandHandler(Program.fileCabinetService);
            var exitHandler   = new ExitCommandHandler(stopProgram);
            var exportHandler = new ExportCommandHandler(Program.fileCabinetService);
            var findHandler   = new FindCommandHandler(
                Program.fileCabinetService, printer);
            var helpHandler   = new HelpCommandHandler();
            var importHandler = new ImportCommandHandler(Program.fileCabinetService);
            var listHandler   = new ListCommandHandler(
                Program.fileCabinetService, printer);
            var purgeHandler   = new PurgeCommandHandler(Program.fileCabinetService);
            var removeHandler  = new RemoveCommandHandler(Program.fileCabinetService);
            var statHandler    = new StatCommandHandler(Program.fileCabinetService);
            var defaultHandler = new DefaultHandler();

            createHandler.SetNext(editHandler);
            editHandler.SetNext(exitHandler);
            exitHandler.SetNext(exportHandler);
            exportHandler.SetNext(findHandler);
            findHandler.SetNext(helpHandler);
            helpHandler.SetNext(importHandler);
            importHandler.SetNext(listHandler);
            listHandler.SetNext(purgeHandler);
            purgeHandler.SetNext(removeHandler);
            removeHandler.SetNext(statHandler);
            statHandler.SetNext(defaultHandler);
            return(createHandler);
        }
コード例 #3
0
        private static ICommandHandler CreateCommandHandlers()
        {
            var helpHandler   = new HelpCommandHandler();
            var createHandler = new CreateCommandHandler(fileCabinetService, isCustomValidationRules);
            var editHandler   = new EditCommandHandler(fileCabinetService, isCustomValidationRules);
            var exitHandler   = new ExitCommandHandler(setProgramStatus);
            var exporthandler = new ExportCommandHandler(fileCabinetService);
            var findHandler   = new FindCommandHandler(fileCabinetService, DefaultRecordPrint);
            var importHandler = new ImportCommandHandler(fileCabinetService);
            var listHandler   = new ListCommandHandler(fileCabinetService, DefaultRecordPrint);
            var purgeHandler  = new PurgeCommandHandler(fileCabinetService);
            var removeHandler = new RemoveCommandHandler(fileCabinetService);
            var statHandler   = new StatCommandHandler(fileCabinetService);

            helpHandler.SetNext(createHandler);
            createHandler.SetNext(editHandler);
            editHandler.SetNext(exitHandler);
            exitHandler.SetNext(exporthandler);
            exporthandler.SetNext(findHandler);
            findHandler.SetNext(importHandler);
            importHandler.SetNext(listHandler);
            listHandler.SetNext(purgeHandler);
            purgeHandler.SetNext(removeHandler);
            removeHandler.SetNext(statHandler);

            return(helpHandler);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: Stanlox/EpamStudLab
        private static CommandHandlerBase CreateCommandHandlers(IFileCabinetService service)
        {
            var helpCommandHandler        = new HelpCommandHandler();
            var createCommandHandler      = new CreateCommandHandler(service);
            var exitCommandHandler        = new ExitCommandHandler(ChangeRunning, fileStream);
            var exportCommandHandler      = new ExportCommandHandler(service);
            var importCommandHandler      = new ImportCommandHandler(service);
            var purgeCommandHandler       = new PurgeCommandHandler(service);
            var statCommandHandler        = new StatCommandHandler(service);
            var insertCommandHandler      = new InsertCommandHandler(service);
            var deleteCommandHandler      = new DeleteCommandHandler(service);
            var selectCommandHandler      = new SelectCommandHandler(service);
            var updateCommandHandler      = new UpdateCommandHandler(service);
            var printMissedCommandHandler = new PrintMissedCommandHandler();

            helpCommandHandler.SetNext(createCommandHandler);
            createCommandHandler.SetNext(exitCommandHandler);
            exitCommandHandler.SetNext(exportCommandHandler);
            exportCommandHandler.SetNext(importCommandHandler);
            importCommandHandler.SetNext(purgeCommandHandler);
            purgeCommandHandler.SetNext(statCommandHandler);
            statCommandHandler.SetNext(insertCommandHandler);
            insertCommandHandler.SetNext(deleteCommandHandler);
            deleteCommandHandler.SetNext(updateCommandHandler);
            updateCommandHandler.SetNext(selectCommandHandler);
            selectCommandHandler.SetNext(printMissedCommandHandler);
            return(helpCommandHandler);
        }
コード例 #5
0
        private static ICommandHandler CreateCommandHandlers(IFileCabinetService fileCabinetService)
        {
            ICommandHandler createCommandHandler = new CreateCommandHandler(fileCabinetService);
            ICommandHandler updateCommandHandler = new UpdateCommandHandler(fileCabinetService);
            ICommandHandler deleteCommandHandler = new DeleteCommandHandler(fileCabinetService);
            ICommandHandler selectCommand        = new SelectCommandHandler(fileCabinetService, Program.PrinterByFilter);
            ICommandHandler statCommandHandler   = new StatCommandHandler(fileCabinetService);
            ICommandHandler exportCommandHandler = new ExportCommandHandler(fileCabinetService);
            ICommandHandler importCommandHandler = new ImportCommandHandler(fileCabinetService);
            ICommandHandler purgeCommandHandler  = new PurgeCommandHandler(fileCabinetService);
            ICommandHandler helpCommandHandler   = new HelpCommandHandler();
            ICommandHandler exitCommandHandler   = new ExitCommandHandler(Existing);
            ICommandHandler insertCommandHandler = new InsertCommandHandler(fileCabinetService);

            createCommandHandler.SetNext(updateCommandHandler);
            updateCommandHandler.SetNext(deleteCommandHandler);
            deleteCommandHandler.SetNext(selectCommand);
            selectCommand.SetNext(statCommandHandler);
            statCommandHandler.SetNext(exportCommandHandler);
            exportCommandHandler.SetNext(importCommandHandler);
            importCommandHandler.SetNext(purgeCommandHandler);
            purgeCommandHandler.SetNext(helpCommandHandler);
            helpCommandHandler.SetNext(exitCommandHandler);
            exitCommandHandler.SetNext(insertCommandHandler);

            return(createCommandHandler);
        }
コード例 #6
0
        private static ICommandHandler CreateCommandHandlers()
        {
            var recordPrinte  = new DefaultRecordPrinter();
            var helpHandler   = new HelpCommandHandler();
            var createHandler = new CreateCommandHandler(fileCabinetService);
            var purgeHandler  = new PurgeCommandHandler(fileCabinetService);
            var exitHandler   = new ExitCommandHandler(ChangeStatus);
            var exportHandler = new ExportCommandHandler(fileCabinetService);
            var statHandler   = new StatCommandHandler(fileCabinetService);
            var insertHandler = new InsertCommandHandler(fileCabinetService);
            var deleteHandler = new DeleteCommandHandler(fileCabinetService);
            var updateHandler = new UpdateCommandHandler(fileCabinetService);
            var selectHandler = new SelectCommandHandler(fileCabinetService, Console.WriteLine);

            helpHandler.SetNext(createHandler);
            createHandler.SetNext(purgeHandler);
            purgeHandler.SetNext(exitHandler);
            exitHandler.SetNext(exportHandler);
            exportHandler.SetNext(statHandler);
            statHandler.SetNext(insertHandler);
            insertHandler.SetNext(deleteHandler);
            deleteHandler.SetNext(updateHandler);
            updateHandler.SetNext(selectHandler);

            return(helpHandler);
        }