Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #4
0
        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);
        }
Пример #5
0
    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
        });
    }
Пример #6
0
        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
            });
        }
Пример #7
0
        /// <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));
        }
Пример #8
0
 public TodoItem Map(CreateTodoItemModel model)
 {
     return(Mapper.Map <CreateTodoItemModel, TodoItem>(model));
 }
Пример #9
0
 public async Task <IActionResult> CreateAsync(CreateTodoItemModel createTodoItemModel)
 {
     return(Ok(ApiResult <CreateTodoItemResponseModel> .Success(
                   await _todoItemService.CreateAsync(createTodoItemModel))));
 }