Esempio n. 1
0
        public async Task UpdateAsync(Guid id, string name, string description)
        {
            var memo = await _memoRepository.GetByIdAsync(id);

            if (memo == null)
            {
                throw new Exception($"Memo with id: {id} does not exists.");
            }

            memo.SetName(name);
            memo.SetDescription(description);
            await _memoRepository.UpdateAsync(memo);
        }
Esempio n. 2
0
        [HttpPut("{id}")] // @PutMapping
        public async Task <IActionResult> UpdateAsync([FromRoute] int?id, [FromBody] Memo dto)
        {
            if (id is null)
            {
                return(NotFound());
            }

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

            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            // <>
            var origin = await _repository.GetByIdAsync(id ?? default);

            if (origin != null)
            {
                origin.Name    = dto.Name;
                origin.Title   = dto.Title;
                origin.Content = dto.Content;
                // --TODO--
            }
            // </>

            try
            {
                origin.Id = id ?? default;
                var status = await _repository.UpdateAsync(origin);

                if (!status)
                {
                    return(BadRequest());
                }

                // 204 No Content
                return(NoContent()); // 이미 전송된 정보에 모든 값 가지고 있기에...
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(BadRequest());
            }
        }