Exemplo n.º 1
0
        public async Task <IActionResult> PutGift(Guid id, V1DTO.GiftDTO giftDTO)
        {
            // Don't allow wrong data
            if (id != giftDTO.Id)
            {
                _logger.LogError($"EDIT. Gift IDs do not match: giftId {giftDTO.Id}, id {id}");
                return(BadRequest(new V1DTO.MessageDTO($"Could not change gift with this id: {id}")));
            }

            var gift = await _bll.Gifts.FirstOrDefaultAsync(giftDTO.Id, User.UserGuidId());

            if (gift == null)
            {
                _logger.LogError($"EDIT. No such gift: {giftDTO.Id}, user: {User.UserGuidId()}");
                return(NotFound(new V1DTO.MessageDTO($"No gift found for id {id}")));
            }

            // Allow changing own gifts only
            var personalGift = await _bll.Gifts.GetForUserAsync(id, User.UserGuidId());

            if (personalGift == null)
            {
                _logger.LogError($"EDIT. Gift {giftDTO.Id} is not owned by user {User.UserGuidId()}");
                return(NotFound(new V1DTO.MessageDTO($"No gift found for id {id}")));
            }

            // Update existing Gift
            await _bll.Gifts.UpdateAsync(_mapper.Map(giftDTO), User.UserGuidId());

            // Save changes to db
            await _bll.SaveChangesAsync();

            return(NoContent());
        }
Exemplo n.º 2
0
        public async Task <ActionResult <V1DTO.GiftDTO> > PostGift(V1DTO.GiftDTO giftDTO)
        {
            // Create gift
            var bllEntity = _mapper.Map(giftDTO);

            // TODO: Move to BLL
            bllEntity.StatusId     = new Guid(_activeId);   // Active
            bllEntity.ActionTypeId = new Guid(_reservedId); // Reserve
            _bll.Gifts.Add(bllEntity, User.UserGuidId());
            // Save to db
            await _bll.SaveChangesAsync();

            giftDTO.Id = bllEntity.Id;
            return(CreatedAtAction(
                       "GetGift",
                       new { id = giftDTO.Id, version = HttpContext.GetRequestedApiVersion()?.ToString() ?? "0" },
                       giftDTO
                       ));
        }