Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // GET: api/Customer/username/password
- [HttpGet("{username}/{password}", Name = "Get")]
- public async Task<ActionResult<CustomerViewModel>> Login(string username, string password)
- {
- return Ok(await Mediator.Send(new LoginCustomerQuery { Username = username,Password = password }));
- }
- public class LoginCustomerQuery : IRequest<CustomerViewModel>
- {
- public string Username { get; set; }
- public string Password { get; set; }
- }
- public class CustomerViewModel
- {
- public Guid ExternalId { get; set; }
- }
- public async Task<CustomerViewModel> Handle(LoginCustomerQuery request, CancellationToken cancellationToken)
- {
- var entity = await _context.Customers
- .Where(e =>
- e.Username == request.Username
- && e.Password == Encypt.EncryptString(request.Password))
- .FirstOrDefaultAsync(cancellationToken);
- if (entity.Equals(null))
- {
- throw new NotFoundException(nameof(entity), request.Username);
- }
- return new CustomerViewModel
- {
- ExternalId = entity.ExternalId
- };
- }
Add Comment
Please, Sign In to add comment