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)); }; }
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); }; }