Exemplo n.º 1
0
        public void Setup()
        {
            this.fileInfoFactory = new SystemFileInfoFactory();
            this.directoryInfo   = new SystemIoDirectoryInfo();

            this.reportFileRepository = new ReportFileRepository(BaseDirectory, this.fileInfoFactory, this.directoryInfo);

            this.reportInformationFile = "\\\\srv-dg-bravura4.dstoutput.co.uk\\Nexdox\\nmbbs02\\Process\\14315B-103811X-QQRD\\Output";
            this.reportFilePath        = "\\\\srv-dg-bravura4.dstoutput.co.uk\\Nexdox\\nmbbs02\\Process\\14315B-103811X-QQRD\\Output\\14315B-103811X-QQRD.log";
        }
Exemplo n.º 2
0
        public static void Main(string[] args)
        {
            // Настройка репозиториев
            const string reportFileRepositoryPath = "Reports/";
            const string staffFileRepositoryPath  = "Staff/";
            const string taskFileRepositoryPath   = "Tasks/";

            // Очистка предыдущих запусков
            DeleteDirectory(reportFileRepositoryPath);
            DeleteDirectory(staffFileRepositoryPath);
            DeleteDirectory(taskFileRepositoryPath);

            // Создание репозиториев
            var taskFileRepository   = new TaskFileRepository(taskFileRepositoryPath);
            var staffFileRepository  = new StaffFileRepository(staffFileRepositoryPath);
            var reportFileRepository = new ReportFileRepository(reportFileRepositoryPath);

            // Создание сервисов
            var staffService  = new StaffService(staffFileRepository);
            var taskService   = new TasksService(taskFileRepository, staffService);
            var reportService = new ReportService(reportFileRepository, staffService, taskService);

            // Создание UI
            var userInterfaceController = new UIController(reportService, staffService, taskService);

            // Создание работников
            var staffId = userInterfaceController.CreateStaff(new StaffVM("someName"));
            var staff   = userInterfaceController.GetStaffById(staffId);

            var staffId2 = userInterfaceController.CreateStaff(new StaffVM("Name 2"));
            var staff2   = userInterfaceController.GetStaffById(staffId2);

            // Обновим:
            staff = userInterfaceController.GetStaffById(staffId);

            // Создание отчетов
            var reportId = userInterfaceController.CreateDailyReport(staff);
            var report   = userInterfaceController.GetReportById(reportId);

            var reportId2 = userInterfaceController.CreateDailyReport(staff2);
            var report2   = userInterfaceController.GetReportById(reportId2);

            // Создание задач
            var taskId  = userInterfaceController.CreateTask(new TaskVM("Task #1", "Test task"), staff);
            var taskId2 = userInterfaceController.CreateTask(new TaskVM("Task #2", "Test task 2"), staff2);
            var taskId3 = userInterfaceController.CreateTask(new TaskVM("Task #3", "Test task 3"), staff2);

            var task  = userInterfaceController.GetTaskById(taskId);
            var task2 = userInterfaceController.GetTaskById(taskId2);
            var task3 = userInterfaceController.GetTaskById(taskId3);

            // Пример обновления задачи через UI
            var taskUpdated = new TaskVM(task.Name, "There is new comment", task.StaffId, task.State);

            userInterfaceController.UpdateTaskComment(task, taskUpdated);

            // Отмечаем задачи решенными
            userInterfaceController.MarkTaskAsResolved(task);
            userInterfaceController.MarkTaskAsResolved(task2);
            userInterfaceController.MarkTaskAsResolved(task3);

            // Обновляем отчет в связи с выполненными задачами
            report  = userInterfaceController.GetReportById(reportId);
            report2 = userInterfaceController.GetReportById(reportId2);
            userInterfaceController.UpdateDailyReport(report);
            userInterfaceController.UpdateDailyReport(report2);

            // Помечаем отчет выполненным
            report = userInterfaceController.GetReportById(reportId);
            userInterfaceController.MarkDailyReportFinalised(report);

            report2 = userInterfaceController.GetReportById(reportId2);
            userInterfaceController.MarkDailyReportFinalised(report2);

            var sprintReportId = userInterfaceController.CreateSprintReport();

            userInterfaceController.UpdateSprintReport();
            userInterfaceController.MarkDailyReportFinalised(userInterfaceController.GetReportById(sprintReportId));

            // ---------------------------------------------------------------------------------------------------------

            // Вывод после всех изменений:
            report = userInterfaceController.GetReportById(reportId);
            Console.WriteLine("Состояние отчета:");
            Console.WriteLine($"Finalised: {report.Finalised}");
            Console.Write("Resolved taskId: ");
            foreach (var resolvedTaskId in report.ResolvedTasks)
            {
                Console.Write($"{resolvedTaskId} ");
            }
            Console.WriteLine();
            Console.WriteLine($"StaffId: {report.StaffId}");
            Console.WriteLine($"CreationDateTime: {report.CreationDateTime}");

            // ---------------------------------------------------------------------------------------------------------
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("Sprint report:");
            report = userInterfaceController.GetReportById(sprintReportId);
            Console.WriteLine("Состояние отчета:");
            Console.WriteLine($"Finalised: {report.Finalised}");
            Console.Write("Resolved taskId: ");
            foreach (var resolvedTaskId in report.ResolvedTasks)
            {
                Console.Write($"{resolvedTaskId} ");
            }
            Console.WriteLine();
            Console.WriteLine($"StaffId: {report.StaffId}");
            Console.WriteLine($"CreationDateTime: {report.CreationDateTime}");
        }