public CommunicationResponse DeletePayment([FromBody] DeletePaymentRequest paymentRequest) { var response = new CommunicationResponse(); try { if (_userService.AuthenticateSession(Request.Headers["Authorization"].ToString()) == false) { response.AddError("The authorization credentails were invalid", ErrorCode.SESSION_INVALID); return(response); } var rowUpdated = _billRepository.DeletePayment(paymentRequest.PaymentId); if (rowUpdated == false) { response.AddError($"Cannot delete the payment (ID: {paymentRequest.PaymentId}) because it does not exist"); return(response); } response.Notifications = new List <string> { $"The payment (ID: {paymentRequest.PaymentId}) has been deleted" }; } catch (ErrorCodeException exception) { response.AddError($"An unexpected exception occured: {exception}", paymentRequest, exception.Code); } catch (Exception exception) { response.AddError($"An unexpected exception occured: {exception}", paymentRequest); } return(response); }