Пример #1
0
        public async Task <IActionResult> PutTodoItem(long id, TodoItemDTO todoItemDTO)
        {
            if (id != todoItemDTO.id)
            {
                return(BadRequest());
            }

            var todoItem = await _context.TodoItems.FindAsync(id);

            if (todoItem == null)
            {
                return(NotFound());
            }
            todoItem.title     = todoItemDTO.title;
            todoItem.completed = todoItemDTO.completed;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TodoItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult <TodoItemDTO> > UpdateTodoItem(long id, TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem()
            {
                IsComplete = todoItemDTO.IsComplete,
                Name       = todoItemDTO.Name
            };

            if (id != todoItem.Id)
            {
                return(BadRequest());
            }

            _context.Entry(todoItem).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TodoItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(ItemToDTO(todoItem));
        }
Пример #3
0
        public async Task <IActionResult> UpdateTodoItem(long id, TodoItemDTO todoItemDTO)
        {
            if (id != todoItemDTO.Id)
            {
                return(BadRequest());
            }

            var todoItem = await _context.TodoItems.FindAsync(id);

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

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

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException) when(!TodoItemExists(id))
            {
                return(NotFound());
            }

            return(NoContent());
        }
Пример #4
0
        public async Task <IActionResult> UpdateTodoItem(long id, TodoItemDTO todoItemDTO)
        {
            if (id != todoItemDTO.Id)
            {
                return(BadRequest());
            }

            var todoItem = await _context.Music.FindAsync(id);

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

            todoItem.Id          = todoItemDTO.Id;
            todoItem.Title       = todoItemDTO.Title;
            todoItem.ReleaseDate = todoItemDTO.ReleaseDate;
            todoItem.Genre       = todoItemDTO.Genre;
            todoItem.Price       = todoItemDTO.Price;
            todoItem.Rating      = todoItemDTO.Rating;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException) when(!TodoItemExists(id))
            {
                return(NotFound());
            }

            return(NoContent());
        }
Пример #5
0
        public async Task <IActionResult> UpdateTodoItem(int id, TodoItemDTO todoItemDTO)
        {
            if (id != todoItemDTO.Id)
            {
                return(BadRequest());
            }

            var todoItem = await _todos.GetEntityById(id);

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

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

            try
            {
                await _todos.Update(todoItem);
            }
            catch (DbUpdateConcurrencyException) when(!TodoItemExists(id))
            {
                return(NotFound());
            }

            return(NoContent());
        }
Пример #6
0
        public async Task <IActionResult> PutTodoItem(long id, TodoItemDTO todoItem)
        {
            if (id != todoItem.Id)
            {
                return(BadRequest());
            }

            _context.Entry(todoItem).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TodoItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #7
0
 private static TodoItemDTO ItemToDTO(TodoItemDTO todoItem) =>
 new TodoItemDTO
 {
     Id         = todoItem.Id,
     Name       = todoItem.Name,
     IsComplete = todoItem.IsComplete
 };
Пример #8
0
        public async Task <ActionResult <TodoItem> > PostTodoItem(TodoItemDTO todoItem)
        {
            _context.TodoItems.Add(todoItem);
            await _context.SaveChangesAsync();

            //return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
            return(CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.Id }, todoItem));
        }
        public async Task <ActionResult <TodoItemDTO> > CreateTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = await BL.Create(todoItemDTO);

            return(CreatedAtAction(
                       nameof(GetTodoItem),
                       new { id = todoItem.Id },
                       TodoBL.ItemToDTO(todoItem)));
        }
Пример #10
0
 public ActionResult <TodoItemDTO> Post(TodoItemDTO item)
 {
     return(new TodoItemDTO
     {
         Id = 99,
         Name = item.Name,
         IsComplete = true
     });
 }
Пример #11
0
        public async Task <ActionResult <TodoItemDTO> > CreateTodoItem(TodoItemDTO todoItemDTO)
        {
            // Old method name PostTodoItem
            // Shouldn't call this method directly. TodoItems should already created under a project.
            TodoItemDTO todoItem = await _repository.CreateTodoItemAsync(todoItemDTO);

            // remove the hardcoding of the action name
            // return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
            return(CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.Id }, todoItemDTO));
        }
        public async Task <ActionResult <TodoItem> > CreateTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem
            {
                IsComplete = todoItemDTO.IsComplete,
                Name       = todoItemDTO.Name
            };

            //return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
            return(CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.Id }, ItemToDTO(todoItem)));
        }
Пример #13
0
        public async Task <ActionResult <TodoItemDTO> > DeleteTodoItem(long id)
        {
            try {
                TodoItemDTO todoItem = await _todoItemService.DeleteTodoItemAsync(id);
            }
            catch (ArgumentException) {
                return(NotFound());
            }

            return(NoContent());
        }
Пример #14
0
        public async Task <ActionResult <TodoItem> > PutTodoItem(long id, TodoItemDTO itemDTO)
        {
            try {
                TodoItem todoItem = await _todoItemService.PutTodoItemAsync(id, itemDTO);
            }
            catch (ArgumentException) {
                return(NotFound());
            }

            return(NoContent());
        }
Пример #15
0
        public async Task <ActionResult <TodoItemDTO> > PostTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem();

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

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

            return(CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.Id }, ItemToDTO(todoItem)));
        }
Пример #16
0
        public async Task <ActionResult <TodoItemDTO> > CreateTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem
            {
                IsComplite = todoItemDTO.IsComplite,
                Name       = todoItemDTO.Name
            };

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

            return(CreatedAtAction("GetTodoItem", new { id = todoItemDTO.Id }, ItemToDTO(todoItem)));
        }
Пример #17
0
        public async Task <IActionResult> PutTodoItemByName(string name, TodoItemDTO todoItemDTO)
        {
            var todoItem = _context.TodoItems.First(x => x.Name == name);

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

            //todoItem.Name = todoItemDTO.Name;
            //todoItem.IsComplete = todoItemDTO.IsComplete;
            return(await PutTodoItem(todoItem.Id, todoItemDTO));
        }
Пример #18
0
        public async Task <IHttpActionResult> PostTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem
            {
                IsComplete = todoItemDTO.IsComplete,
                Name       = todoItemDTO.Name
            };

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

            return(Ok(ItemToDTO(todoItem)));
        }
Пример #19
0
        public async Task <ActionResult <TodoItemDTO> > GetTodoItem(long id)
        {
            try {
                TodoItemDTO todoItemDTO = await _todoItemService.GetTodoItemAsync(id);

                return(Ok(todoItemDTO));
            }
            catch (ArgumentException) {
                return(NotFound());
            }
            catch (Exception) {
                return(BadRequest());
            }
        }
Пример #20
0
        public async Task <ActionResult <TodoItem> > PostTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem
            {
                completed = todoItemDTO.completed,
                title     = todoItemDTO.title
            };

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

            //return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
            return(CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.id }, ItemToDTO(todoItem)));
        }
Пример #21
0
        public async Task <ActionResult <TodoItemDTO> > PostTodoItem(TodoItemDTO todoItem)
        {
            TodoItem item = new TodoItem {
                Name = todoItem.Name, IsComplete = todoItem.IsComplete, Secret = "No cargado"
            };

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

            todoItem.Id = item.Id;

            //return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
            return(CreatedAtAction(nameof(GetTodoItem), new { id = item.Id }, todoItem));
        }
Пример #22
0
        public ActionResult <TodoItemDTO> CreateTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem {
                IsComplete = todoItemDTO.IsComplete,
                Name       = todoItemDTO.Name
            };

            _context.TodoItems.Add(todoItem);
            _context.SaveChanges();

            return(CreatedAtAction(
                       nameof(GetTodoItem),
                       new { id = todoItem.Id },
                       ItemToDTO(todoItem)));
        }
Пример #23
0
        public async Task <ActionResult <TodoItemDTO> > PostTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem
            {
                Name       = todoItemDTO.Name,
                IsComplete = todoItemDTO.IsComplete
            };

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

            // return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
            return(CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.Id }, ItemToDTO(todoItem)));
            //  return Created("../api/GetTodoItem",new {todoItem});
        }
Пример #24
0
        public async Task <ActionResult <TodoItemDTO> > PostTodoItem(TodoItemDTO dadosDTO)
        {
            var todoItem = new TodoItem {
                IsComplete = dadosDTO.IsComplete,
                Name       = dadosDTO.Name
            };

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

            //return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
            return(CreatedAtAction(
                       nameof(GetTodoItem),
                       new { id = todoItem.Id }, ItemDTO(todoItem)));
        }
Пример #25
0
        public async Task <ActionResult <TodoItemDTO> > CreateTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem
            {
                playerName  = todoItemDTO.playerName,
                playerScore = todoItemDTO.playerScore,
                currentTime = todoItemDTO.currentTime
            };

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

            return(CreatedAtAction(
                       nameof(GetTodoItem),
                       new { id = todoItem.Id },
                       ItemToDTO(todoItem)));
        }
Пример #26
0
        public async Task <ActionResult> GetTodoItems()
        {
            var todoList = await _context.TodoItems.ToListAsync();

            var listDTO = new List <TodoItemDTO>();

            foreach (var item in todoList)
            {
                var newDTO = new TodoItemDTO
                {
                    Id         = item.Id,
                    Name       = item.Name,
                    IsComplete = item.IsComplete
                };
                listDTO.Add(newDTO);
            }
            return(Ok(listDTO));
        }
Пример #27
0
        public async Task <ActionResult <TodoItem> > PostTodoItem(TodoItemDTO todoItem)
        {
            var todoDomain = new TodoItem
            {
                Id         = todoItem.Id,
                Name       = todoItem.Name,
                IsComplete = todoItem.IsComplete
            };

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

            //In order to get a true ID we need to get ALL the items and pull the largest ID

            todoItem.Id = _context.TodoItems.Count();

            return(CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.Id }, todoItem));
        }
Пример #28
0
        public async Task <IActionResult> UpdateTodoItem(long id, TodoItemDTO todoItemDTO)
        {
            if (id != todoItemDTO.Id)
            {
                return(BadRequest());
            }

            var todoItem = await _context.TodoItems
                           .Include(t => t.DoNotDoItems)
                           .Where(t => t.Id == id)
                           .FirstOrDefaultAsync();

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

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

            foreach (var doNotDoItem in todoItem.DoNotDoItems)
            {
                _context.DoNotDoItems.Remove(doNotDoItem);
            }

            foreach (var doNotDoItem in todoItemDTO.DoNotDoItems)
            {
                _context.DoNotDoItems.Add(doNotDoItem);
            }

            todoItem.DoNotDoItems = todoItemDTO.DoNotDoItems;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException) when(!TodoItemExists(id))
            {
                return(NotFound());
            }

            return(NoContent());
        }
Пример #29
0
        public async Task <ActionResult <TodoItemDTO> > CreateTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem
            {
                IsComplete = todoItemDTO.IsComplete,
                Name       = todoItemDTO.Name
            };

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

            /* CreatedAtAction 方法:
             * 成功時會傳回 HTTP 201 狀態碼。 對於可在伺服器上建立新資源的 HTTP POST 方法,其標準回應是 HTTP 201。
             * 將 Location 標頭新增至回應。 Location標頭會指定新建立之待辦事項的URI 。
             * 參考 GetTodoItem 動作以建立 Location 標頭的 URI。 C# nameof 關鍵字是用來避免在 CreatedAtAction 呼叫中以硬式編碼方式寫入動作名稱。
             */
            return(CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.Id }, ItemToDTO(todoItem)));
            //return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
        }
Пример #30
0
        public async Task <ActionResult <TodoItemDTO> > CreateTodoItem(TodoItemDTO todoItemDTO)
        {
            var todoItem = new TodoItem
            {
                IsComplete = todoItemDTO.IsComplete,
                Name       = todoItemDTO.Name,
                Due        = todoItemDTO.Due,
                Assignee   = todoItemDTO.Assignee
            };

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

            //return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
            return(CreatedAtAction(
                       nameof(GetTodoItem),
                       new { id = todoItem.Id },
                       ItemToDTO(todoItem)));
        }