/// <summary>Register service method with a service binder with or without implementation. Useful when customizing the  service binding logic.
 /// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
 /// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
 /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
 public static void BindService(grpc::ServiceBinderBase serviceBinder, PrisonSrvBase serviceImpl)
 {
     serviceBinder.AddMethod(__Method_GetPrisonerByID, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.IdMessage, global::PrisonService.PrisonerMessage>(serviceImpl.GetPrisonerByID));
     serviceBinder.AddMethod(__Method_GetAllPrisoners, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::Google.Protobuf.WellKnownTypes.Empty, global::PrisonService.PrisonerArrayMessage>(serviceImpl.GetAllPrisoners));
     serviceBinder.AddMethod(__Method_GetPrisonersByName, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.SearchParamMessage, global::PrisonService.PrisonerArrayMessage>(serviceImpl.GetPrisonersByName));
     serviceBinder.AddMethod(__Method_AddPrisoner, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.PrisonerMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.AddPrisoner));
     serviceBinder.AddMethod(__Method_UpdatePrisoner, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.PrisonerMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.UpdatePrisoner));
     serviceBinder.AddMethod(__Method_DeletePrisonerByID, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.IdMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.DeletePrisonerByID));
     serviceBinder.AddMethod(__Method_GetLocationByID, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.IdMessage, global::PrisonService.LocationMessage>(serviceImpl.GetLocationByID));
     serviceBinder.AddMethod(__Method_GetAllLocations, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::Google.Protobuf.WellKnownTypes.Empty, global::PrisonService.LocationArrayMessage>(serviceImpl.GetAllLocations));
     serviceBinder.AddMethod(__Method_GetLocationsByName, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.SearchParamMessage, global::PrisonService.LocationArrayMessage>(serviceImpl.GetLocationsByName));
     serviceBinder.AddMethod(__Method_AddLocation, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.LocationMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.AddLocation));
     serviceBinder.AddMethod(__Method_UpdateLocation, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.LocationMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.UpdateLocation));
     serviceBinder.AddMethod(__Method_DeleteLocationByID, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.IdMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.DeleteLocationByID));
     serviceBinder.AddMethod(__Method_GetWorkerByID, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.IdMessage, global::PrisonService.WorkerMessage>(serviceImpl.GetWorkerByID));
     serviceBinder.AddMethod(__Method_GetAllWorkers, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::Google.Protobuf.WellKnownTypes.Empty, global::PrisonService.WorkerArrayMessage>(serviceImpl.GetAllWorkers));
     serviceBinder.AddMethod(__Method_GetWorkersByName, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.SearchParamMessage, global::PrisonService.WorkerArrayMessage>(serviceImpl.GetWorkersByName));
     serviceBinder.AddMethod(__Method_AddWorker, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.WorkerMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.AddWorker));
     serviceBinder.AddMethod(__Method_UpdateWorker, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.WorkerMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.UpdateWorker));
     serviceBinder.AddMethod(__Method_DeleteWorkerByID, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.IdMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.DeleteWorkerByID));
     serviceBinder.AddMethod(__Method_GetJobByID, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.IdMessage, global::PrisonService.JobMessage>(serviceImpl.GetJobByID));
     serviceBinder.AddMethod(__Method_GetAllJobs, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::Google.Protobuf.WellKnownTypes.Empty, global::PrisonService.JobArrayMessage>(serviceImpl.GetAllJobs));
     serviceBinder.AddMethod(__Method_GetJobsByName, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.SearchParamMessage, global::PrisonService.JobArrayMessage>(serviceImpl.GetJobsByName));
     serviceBinder.AddMethod(__Method_AddJob, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.JobMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.AddJob));
     serviceBinder.AddMethod(__Method_UpdateJob, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.JobMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.UpdateJob));
     serviceBinder.AddMethod(__Method_DeleteJobByID, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.IdMessage, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.DeleteJobByID));
     serviceBinder.AddMethod(__Method_AccessRequest, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::PrisonService.AccessReqMessage, global::PrisonService.AccessReplyMessage>(serviceImpl.AccessRequest));
 }
 /// <summary>Creates service definition that can be registered with a server</summary>
 /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
 public static grpc::ServerServiceDefinition BindService(PrisonSrvBase serviceImpl)
 {
     return(grpc::ServerServiceDefinition.CreateBuilder()
            .AddMethod(__Method_GetPrisonerByID, serviceImpl.GetPrisonerByID)
            .AddMethod(__Method_GetAllPrisoners, serviceImpl.GetAllPrisoners)
            .AddMethod(__Method_GetPrisonersByName, serviceImpl.GetPrisonersByName)
            .AddMethod(__Method_AddPrisoner, serviceImpl.AddPrisoner)
            .AddMethod(__Method_UpdatePrisoner, serviceImpl.UpdatePrisoner)
            .AddMethod(__Method_DeletePrisonerByID, serviceImpl.DeletePrisonerByID)
            .AddMethod(__Method_GetLocationByID, serviceImpl.GetLocationByID)
            .AddMethod(__Method_GetAllLocations, serviceImpl.GetAllLocations)
            .AddMethod(__Method_GetLocationsByName, serviceImpl.GetLocationsByName)
            .AddMethod(__Method_AddLocation, serviceImpl.AddLocation)
            .AddMethod(__Method_UpdateLocation, serviceImpl.UpdateLocation)
            .AddMethod(__Method_DeleteLocationByID, serviceImpl.DeleteLocationByID)
            .AddMethod(__Method_GetWorkerByID, serviceImpl.GetWorkerByID)
            .AddMethod(__Method_GetAllWorkers, serviceImpl.GetAllWorkers)
            .AddMethod(__Method_GetWorkersByName, serviceImpl.GetWorkersByName)
            .AddMethod(__Method_AddWorker, serviceImpl.AddWorker)
            .AddMethod(__Method_UpdateWorker, serviceImpl.UpdateWorker)
            .AddMethod(__Method_DeleteWorkerByID, serviceImpl.DeleteWorkerByID)
            .AddMethod(__Method_GetJobByID, serviceImpl.GetJobByID)
            .AddMethod(__Method_GetAllJobs, serviceImpl.GetAllJobs)
            .AddMethod(__Method_GetJobsByName, serviceImpl.GetJobsByName)
            .AddMethod(__Method_AddJob, serviceImpl.AddJob)
            .AddMethod(__Method_UpdateJob, serviceImpl.UpdateJob)
            .AddMethod(__Method_DeleteJobByID, serviceImpl.DeleteJobByID)
            .AddMethod(__Method_AccessRequest, serviceImpl.AccessRequest).Build());
 }