public async ValueTask <ActionResult <LeadOutputModel> > GetLeadById(long leadId) { if (leadId < 1) { return(BadRequest("LeadId can not be less than one.")); } var result = await _leadRepository.GetLeadById(leadId); if (result.IsOkay) { if (result.RequestData == null) { return(NotFound("Lead not found")); } return(Ok(_mapper.Map <LeadOutputModel>(result.RequestData))); } return(Problem($"Transaction failed {result.ExMessage}", statusCode: 520)); }
private async Task <ClaimsIdentity> GetIdentity(AuthInputModel currentUser) { LeadSearchInputModel searchModel = new LeadSearchInputModel() { Login = currentUser.Login }; var searchUser = await _leadRepository.SearchLead(_mapper.Map <LeadSearchModel>(searchModel)); var userInfo = await _leadRepository.GetLeadById((long)searchUser.RequestData[0].Id); if (searchUser != null && Hashing.ValidateUserPassword(currentUser.Password, userInfo.RequestData.Password)) { if (searchUser != null) { var claims = new List <Claim> { new Claim(ClaimsIdentity.DefaultNameClaimType, currentUser.Login), }; ClaimsIdentity claimsIdentity = new ClaimsIdentity(claims, "Token"); return(claimsIdentity); } } return(null); }
public Task<Lead> GetLeadById(int id) { return _leadRepository.GetLeadById(id); }