Beispiel #1
0
        public TasksModule(IRetrieveTaskViewModels taskViewModelRetriever,
                           IBuildViews <TaskViewModel, TaskView> taskViewBuilder,
                           IAmACommandProcessor commandProcessor)
        {
            this.taskViewModelRetriever = taskViewModelRetriever;
            this.taskViewBuilder        = taskViewBuilder;
            this.commandProcessor       = commandProcessor;

            Get["/tasks/{id}"] = _ =>
            {
                var viewModel = taskViewModelRetriever.Get(_.id);
                return(taskViewBuilder.Build(viewModel));
            };

            Delete["/tasks/{id}"] = _ =>
            {
                var command = new CompleteTaskCommand(_.id, DateTime.UtcNow);
                commandProcessor.Send(command);
                return(Negotiate.WithStatusCode(HttpStatusCode.OK));
            };
        }
Beispiel #2
0
        public TasksModule(IRetrieveTaskViewModels taskViewModelRetriever,
            IBuildViews<TaskViewModel, TaskView> taskViewBuilder,
            IAmACommandProcessor commandProcessor)
        {
            this.taskViewModelRetriever = taskViewModelRetriever;
            this.taskViewBuilder = taskViewBuilder;
            this.commandProcessor = commandProcessor;

            Get["/tasks/{id}"] = _ =>
            {
                var viewModel = taskViewModelRetriever.Get(_.id);
                return taskViewBuilder.Build(viewModel);
            };

            Delete["/tasks/{id}"] = _ =>
            {
                var command = new CompleteTaskCommand(_.id, DateTime.UtcNow);
                commandProcessor.Send(command);
                return Negotiate.WithStatusCode(HttpStatusCode.OK);
            };
        }