public HttpResponseMessage UpdatePin(string cardNumber, string pin, NewPinMessage message) { Validate(cardNumber, pin); if (string.IsNullOrWhiteSpace(message.NewPin) || message.NewPin.Length != 4 || !Regex.IsMatch(message.NewPin, "[0-9]+")) { return(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "Invalid new PIN code")); } try { _bankCardService.UpdatePin(cardNumber, message.NewPin); return(new HttpResponseMessage(HttpStatusCode.OK)); } catch (Exception ex) { Log.Error("Unexpected error has occured while updating pin code. Bank card: " + cardNumber, ex); throw; } }