public async Task <TruckerModel> AddTrucker(TruckerModel truckerModel)
        {
            var channel = GrpcChannel.ForAddress("https://localhost:5003");

            try
            {
                var client  = new Greeter.GreeterClient(channel);
                var request = new AddTruckerRequest();
                request.Trucker                 = new TruckerMessage();
                request.Trucker.Username        = truckerModel.Username;
                request.Trucker.Password        = truckerModel.Password;
                request.Trucker.TruckingCompany = truckerModel.TruckingCompany;

                var response = await client.AddTruckerAsync(request);

                if (response.Trucker == null)
                {
                    return(null);
                }

                var trucker = new TruckerModel()
                {
                    Id              = response.Trucker.Id,
                    Username        = response.Trucker.Username,
                    TruckingCompany = response.Trucker.TruckingCompany
                };


                return(trucker);
            }
            finally
            {
                await channel.ShutdownAsync();
            }
        }
        public override async Task <AddTruckerResponse> AddTrucker(AddTruckerRequest request, ServerCallContext context)
        {
            var truckerModel      = new TruckerModel(request.Trucker.Username, request.Trucker.Password, request.Trucker.TruckingCompany);
            var addTruckerCommand = new AddTruckerCommand(truckerModel);
            var result            = await _mediator.Send(addTruckerCommand);

            var truckerMessage = new TruckerMessage();

            if (result == null)
            {
                truckerMessage = null;
            }
            else
            {
                truckerMessage.Id              = result.Id;
                truckerMessage.Username        = result.Username;
                truckerMessage.Password        = result.Password;
                truckerMessage.TruckingCompany = result.TruckingCompany;
            }
            var response = new AddTruckerResponse();

            response.Trucker = truckerMessage;
            return(response);
        }