public async Task <IActionResult> Update(string id, CriminalDetailsModel model)
        {
            var tokenString = Request.Headers["Authorization"].ToString().Remove(0, 7);
            var handler     = new JwtSecurityTokenHandler();
            var jsonToken   = handler.ReadToken(tokenString);
            var token       = handler.ReadToken(tokenString) as JwtSecurityToken;
            var updaterId   = token.Claims.First(claim => claim.Type == "nameid").Value;
            var isPasswordChangeRequired = Convert.ToBoolean(token.Claims.First(claim => claim.Type == "password_change_required").Value);

            if (isPasswordChangeRequired)
            {
                return(Forbid());
            }

            var criminal = _mapper.Map <Criminal>(model);

            criminal.Id = id;

            try
            {
                return(Ok(await _criminalService.UpdateCriminal(updaterId, criminal)));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }