public async Task <IActionResult> Update(int id, [FromBody] CreateUpdateDigitalSignature update)
        {
            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(new ErrorsResponse(ModelState)));
            }

            var username  = User.FindFirst(c => c.Type == JwtRegisteredClaimNames.Sub).Value;
            var signature = new DigitalSignature
            {
                Id       = id,
                Title    = update.title,
                UserName = update.userName,
                FileName = update.fileName,
                imgData  = update.imgData
            };

            try {
                await Task.Run(() => _context.SaveChanges(() => _signatures.Update(signature)));

                return(Ok());
            }
            catch (NotFoundException)
            {
                return(NotFound());
            }
        }
        public async Task <IActionResult> Create(CreateUpdateDigitalSignature create)
        {
            _logger.LogInformation($"DigitalSignatureController#Create():  create is {create}.");

            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(new ErrorsResponse(ModelState)));
            }

            if (create.file == null)
            {
                return(new BadRequestObjectResult(
                           new ErrorResponse($"Could not find parameter named '{nameof(create.file)}'.")));
            }

            Byte[] imgData = new Byte[create.file.Length];

            using (var stream = new MemoryStream())
            {
                create.file.CopyTo(stream);
                imgData = stream.ToArray();
            }

            _logger.LogInformation($"DigitalSignatureController#Create():  imgData length is {imgData.Length}.");
            var username  = User.FindFirst(c => c.Type == JwtRegisteredClaimNames.Sub).Value;
            var signature = new DigitalSignature
            {
                Title    = create.title,
                FileName = create.fileName,
                UserName = username,
                imgData  = imgData
            };

            try {
                signature = await Task.Run(() => _context.SaveChanges(() => _signatures.Create(signature)));

                return(new CreatedResult($"/api/signatures/{signature.Id}", new DigitalSignatureResponse
                {
                    DigitalSignature = new DigitalSignatureDto(signature),
                }));
            }
            catch (DbUpdateException)
            {
                return(new StatusCodeResult(409));
            }
        }