Esempio n. 1
0
        public async Task <ActionResult <TodoItemCreateDTO> > CreateItem(TodoItemCreateDTO dtoItem)
        {
            var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

            dtoItem.UserId = userId;
            var result = mapper.Map <ToDoItem>(dtoItem);
            await toDoService.AddItemAsync(result);

            var todoItemCreate = mapper.Map <TodoItemReadDTO>(result);

            return(Ok(todoItemCreate));
        }
        public ActionResult <TodoItemDTO> Create(TodoItemCreateDTO todoItemCreateDTO)
        {
            var todoItem = new TodoItem
            {
                IsComplete = todoItemCreateDTO.IsComplete,
                Name       = todoItemCreateDTO.Name
            };

            _todoService.Create(todoItem);

            return(CreatedAtRoute("GetTodoItem", new { id = todoItem.Id.ToString() }, todoItem));
        }
        public async Task <ActionResult <TodoItemReadDTO> > CreateTodoItem(TodoItemCreateDTO todoItemCreateDTO)
        {
            var farm = await _context.Farms.FindAsync(todoItemCreateDTO.FarmId);

            if (farm == null)
            {
                return(BadRequest());
            }

            if (todoItemCreateDTO.ApiaryId != null && todoItemCreateDTO.BeeFamilyId == null)
            {
                var apiary = await _context.Apiaries.FindAsync(todoItemCreateDTO.ApiaryId);

                if (apiary == null || apiary.FarmId != farm.Id)
                {
                    return(BadRequest());
                }
            }
            else if (todoItemCreateDTO.BeeFamilyId != null && todoItemCreateDTO.ApiaryId == null)
            {
                var beehive = await _context.BeeFamilies.FindAsync(todoItemCreateDTO.BeeFamilyId);

                if (beehive == null || beehive.FarmId != farm.Id)
                {
                    return(BadRequest());
                }
            }
            else if (todoItemCreateDTO.BeeFamilyId != null && todoItemCreateDTO.ApiaryId != null)
            {
                return(BadRequest());
            }

            var currentUserId = long.Parse(User.Identity.Name);
            var farmWorker    = await _context.FarmWorkers.FindAsync(currentUserId, farm.Id);

            if (farmWorker == null || farmWorker.Permissions[24] != '1')
            {
                return(Forbid());
            }

            var todoItem = _mapper.Map <TodoItem>(todoItemCreateDTO);

            _context.TodoItems.Add(todoItem);
            await _context.SaveChangesAsync();

            var todoItemReadDTO = _mapper.Map <TodoItemReadDTO>(todoItem);

            return(CreatedAtAction("GetTodoItem", "TodoItems", new { id = todoItem.Id }, todoItemReadDTO));
        }
        public IActionResult Update(string id, TodoItemCreateDTO todoItemDTO)
        {
            var todoItem = _todoService.Get(id);

            if (todoItem == null)
            {
                return(NotFound());
            }

            todoItem.Name       = todoItemDTO.Name;
            todoItem.IsComplete = todoItemDTO.IsComplete;

            _todoService.Update(id, todoItem);

            return(NoContent());
        }