public override async Task <CancelRoomBookingReply> CancelBooking(CancelRoomBookingRequest request, ServerCallContext context) { try { var room = await _queryRepository.GetRoomByBookingId(request.RoomBookingId); room.Cancel(request.RoomBookingId); await _repository.UpdateAsync(room); return(new CancelRoomBookingReply() { IsSuccess = true }); } catch (DomainException e) { return(new CancelRoomBookingReply() { IsSuccess = false, Reason = e.Message }); } }