コード例 #1
0
        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();
            }
        }
コード例 #2
0
        public async Task <TruckerModel> GetTruckerByUsernameAndPassword(string username, string password)
        {
            var channel = GrpcChannel.ForAddress("https://localhost:5003");

            try
            {
                var client  = new Greeter.GreeterClient(channel);
                var request = new GetTruckerByUsernameAndPasswordRequest();
                request.Username = username;
                request.Password = password;

                var response = await client.GetTruckersByUsernameAndPasswordAsync(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();
            }
        }
コード例 #3
0
        public async Task <IActionResult> AddTrucker([FromBody] TruckerModel truckerModel)
        {
            var result = await _truckerServiceWebApp.AddTrucker(truckerModel);

            var client   = new FireSharp.FirebaseClient(_firebaseConfig);
            var response = client.PushAsync("truckers/", result);

            return(Ok(result));
        }
コード例 #4
0
        private string GenerateJSONWebToken(TruckerModel userInfo)
        {
            var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
            var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);
            var claims      = new[] {
                new Claim(JwtRegisteredClaimNames.Sub, userInfo.Username),
            };
            var token = new JwtSecurityToken(_config["Jwt:Issuer"],
                                             _config["Jwt:Issuer"],
                                             claims,
                                             expires: DateTime.Now.AddMinutes(120),
                                             signingCredentials: credentials);

            return(new JwtSecurityTokenHandler().WriteToken(token));
        }
コード例 #5
0
        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);
        }
コード例 #6
0
 public static Trucker ToEntity(this TruckerModel model, Trucker destination)
 {
     return(AutoMapperConfiguration.Mapper.Map(model, destination));
 }
コード例 #7
0
 public static Trucker ToEntity(this TruckerModel model)
 {
     return(AutoMapperConfiguration.Mapper.Map <TruckerModel, Trucker>(model));
 }
コード例 #8
0
 public void AddTrucker(TruckerModel truckerModel)
 {
     _truckerDbContext.Add(truckerModel);
 }