Guest User

Untitled

a guest
Dec 27th, 2018
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. // GET: api/Customer/username/password
  2. [HttpGet("{username}/{password}", Name = "Get")]
  3. public async Task<ActionResult<CustomerViewModel>> Login(string username, string password)
  4. {
  5. return Ok(await Mediator.Send(new LoginCustomerQuery { Username = username,Password = password }));
  6. }
  7.  
  8. public class LoginCustomerQuery : IRequest<CustomerViewModel>
  9. {
  10. public string Username { get; set; }
  11. public string Password { get; set; }
  12. }
  13.  
  14. public class CustomerViewModel
  15. {
  16. public Guid ExternalId { get; set; }
  17. }
  18.  
  19. public async Task<CustomerViewModel> Handle(LoginCustomerQuery request, CancellationToken cancellationToken)
  20. {
  21. var entity = await _context.Customers
  22. .Where(e =>
  23. e.Username == request.Username
  24. && e.Password == Encypt.EncryptString(request.Password))
  25. .FirstOrDefaultAsync(cancellationToken);
  26.  
  27. if (entity.Equals(null))
  28. {
  29. throw new NotFoundException(nameof(entity), request.Username);
  30. }
  31.  
  32. return new CustomerViewModel
  33. {
  34. ExternalId = entity.ExternalId
  35. };
  36. }
Add Comment
Please, Sign In to add comment