public async Task <ActionResult <long> > InsertMerch(MerchandiseRequestDto item)
        {
            var insertedSequence = await merchandiseRepository.InsertAsync(item.AsMerchItem());

            if (insertedSequence < 1)
            {
                return(StatusCode(StatusCodes.Status406NotAcceptable));
            }
            return(StatusCode(StatusCodes.Status201Created, insertedSequence));
        }
 public static MerchItem AsMerchItem(this MerchandiseRequestDto item)
 {
     return(new MerchItem
     {
         Id = Guid.NewGuid(),
         CreationDateTime = DateTimeOffset.UtcNow,
         Price = item.Price,
         Type = item.Type,
         ImageBytes = Helpers.Helpers.ByteArrayFromBase64String(item.ImageBase64)
     });
 }
        public async Task <IActionResult> UpdateMerch([FromRoute] Guid id, [FromBody] MerchandiseRequestDto item)
        {
            var oldItem = await merchandiseRepository.GetAsync(id);

            var newItem = oldItem with
            {
                Price      = item.Price,
                ImageBytes = Helpers.Helpers.ByteArrayFromBase64String(item.ImageBase64),
                Type       = item.Type
            };
            var updateResult = await merchandiseRepository.UpdateAsync(newItem);

            if (updateResult.IsAcknowledged)
            {
                return(StatusCode(StatusCodes.Status204NoContent));
            }
            return(StatusCode(StatusCodes.Status406NotAcceptable));
        }