Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 public Task<Lead> GetLeadById(int id)
 {
     return _leadRepository.GetLeadById(id);
 }