Example #1
0
        public async Task <ActionResult <V1DTO.StatusDTO> > PostStatus(V1DTO.StatusDTO statusDTO)
        {
            // Create status
            var bllEntity = _mapper.Map(statusDTO);

            _bll.Statuses.Add(bllEntity);
            await _bll.SaveChangesAsync();

            statusDTO.Id = bllEntity.Id;
            return(CreatedAtAction(
                       "GetStatus",
                       new { id = statusDTO.Id, version = HttpContext.GetRequestedApiVersion()?.ToString() ?? "0" },
                       statusDTO
                       ));
        }
Example #2
0
        public async Task <IActionResult> PutStatus(Guid id, V1DTO.StatusDTO statusDTO)
        {
            // Don't allow wrong data
            if (id != statusDTO.Id)
            {
                return(BadRequest(new V1DTO.MessageDTO("id and status.id do not match")));
            }
            var status = await _bll.Statuses.FirstOrDefaultAsync(statusDTO.Id, User.UserGuidId());

            if (status == null)
            {
                _logger.LogError($"EDIT. No such status: {statusDTO.Id}, user: {User.UserGuidId()}");
                return(NotFound(new V1DTO.MessageDTO($"No Status found for id {id}")));
            }
            // Update existing status
            await _bll.Statuses.UpdateAsync(_mapper.Map(statusDTO), User.UserId());

            await _bll.SaveChangesAsync();

            return(NoContent());
        }