// GET: /api/index
public async Task<List<Object>> Index()
{
//-------------< Index >-------------
//< get UserClaim Info >
//*get User from Token
var userClaim_in_Token = HttpContext.User.Claims.Where(c => c.Type == ClaimsIdentity.DefaultNameClaimType).FirstOrDefault(); //User as Name
if (userClaim_in_Token == null)
{
return null;
}
string sEmail = userClaim_in_Token.Value;
//</ get UserClaim Info >
//< check user >
long IDCurrent_User = await Get_UserID(sEmail);
if (IDCurrent_User == 0) { return null; }
//</ check user >
//--< Get Linq.Query >--
var query = (from searchAgent in _dbContext.tbl_SearchAgents
join users in _dbContext.tbl_Users on searchAgent.IDOwner equals users.IDUser into searchagents_with_user
from q2 in searchagents_with_user.DefaultIfEmpty()
join asp in _dbContext.Users on q2.IDAspNetUser equals asp.Id into searchagents_with_user_emails
from q3 in searchagents_with_user_emails.DefaultIfEmpty()
orderby searchAgent.IDOwner descending, searchAgent.IDSearchAgent descending
select new { searchAgent.IDSearchAgent, q3.Email, searchAgent.Text_Search }).Take(3000);
//--</ Get Linq.Query >--
//----< fill Data_to_View >----
List<Object> dataList = query.ToList<Object>();
//< out >
//*output to client
return dataList;
//</ out >
//-------------</ Index >-------------
}
|