public HttpResponseMessage Post(CreateTodoItemModel model) { if (ModelState.IsValid) { // Map the model var mapper = new CreateTodoItemMapper(); mapper.Configure(); var todoItem = mapper.Map(model); // Create the item var createTodoItemHandler = new CreateTodoItemHandler(); createTodoItemHandler.Handle(todoItem); // Map the item to the json var mapperResult = new TodoItemMapper(); mapperResult.Configure(); var todoItemResult = mapperResult.Map(todoItem); // Return the response var response = Request.CreateResponse <TodoItemResult>(HttpStatusCode.Created, todoItemResult); return(response); } return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ModelState)); }
public async Task <IActionResult> Create([Bind("Description,Title")] CreateTodoItemModel model) { if (!this.ModelState.IsValid) { return(View()); } await this.todoItemService.CreateTodoItemAsync(model.Title, model.Description, this.User.GetUserId()); return(View(model)); }
public async Task <IActionResult> CreateTodoItem([FromBody] CreateTodoItemModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var item = await _service.AddNewTodoItem(model.Description); return(CreatedAtRoute(nameof(GetTodoItemById), new { item.Id }, item)); }
public void Validator_Should_Have_Error_When_Body_Is_Empty() { // Arrange var createTodoItemModel = new CreateTodoItemModel { Body = string.Empty }; // Act var result = _sut.TestValidate(createTodoItemModel); // Assert result.ShouldHaveValidationErrorFor(cti => cti.Body); }
public async Task <CreateTodoItemResponseModel> CreateAsync(CreateTodoItemModel createTodoItemModel, CancellationToken cancellationToken = default) { var todoList = await _todoListRepository.GetFirstAsync(tl => tl.Id == createTodoItemModel.TodoListId); var todoItem = _mapper.Map <TodoItem>(createTodoItemModel); todoItem.List = todoList; return(new CreateTodoItemResponseModel { Id = (await _todoItemRepository.AddAsync(todoItem)).Id }); }
public async Task <CreateTodoItemResponseModel> CreateAsync(CreateTodoItemModel createTodoItemModel) { var todoList = await _todoListRepository.GetFirstAsync(tl => tl.Id == createTodoItemModel.TodoListId); var todoItem = _mapper.Map <TodoItem>(createTodoItemModel); todoItem.List = todoList ?? throw new NotFoundException("List does not exist anymore"); todoItem.IsDone = false; return(new CreateTodoItemResponseModel { Id = (await _todoItemRepository.AddAsync(todoItem)).Id }); }
/// <summary> /// <para>TodoItemの新規データを作成します.</para> /// </summary> /// <param name="model"></param> /// <returns></returns> public TodoItemCreateResultModel CreateTodoItem(CreateTodoItemModel model) { CreateResult result = CreateResult.Success; ValidationErrors validErrors = ValidationErrors.Create(); try { var todoItem = model.CreateTodoItem(); DbContext.TodoItems.Add(todoItem); DbContext.SaveChanges(); } catch (TemplateValidationException e) { result = CreateResult.ValidError; validErrors = e.ValidErrors; } catch { result = CreateResult.Failed; } return(TodoItemCreateResultModel.Create(model, result, validErrors)); }
public TodoItem Map(CreateTodoItemModel model) { return(Mapper.Map <CreateTodoItemModel, TodoItem>(model)); }
public async Task <IActionResult> CreateAsync(CreateTodoItemModel createTodoItemModel) { return(Ok(ApiResult <CreateTodoItemResponseModel> .Success( await _todoItemService.CreateAsync(createTodoItemModel)))); }