Reputation: 279
I have called Api controller using ajax. I have written Api controller code as below,
[HttpPost]
[Route("api/ajaxapi/caselistmethod")]
public List<CaseValues> AjaxCaseListMethod()
{
CaseModel users = new CaseModel();
string userName = HttpContext.Current.User.Identity.Name;
List<CaseValues> caseList = new List<CaseValues>();
caseList = users.GetCasedetails(userName);
//caseList = caseList.Take(10).ToList();
return caseList;
}
and written GetCasedetails method in a class as below,
public class CaseModel
{
public List<CaseValues> CaseDetails { get; set; }
public List<CaseValues> GetCasedetails(string userName)
{
RequiredValues values = new RequiredValues();
DropDownListvalues requiredList = new DropDownListvalues();
requiredList = setDropDownListValues("exec sp_Search_GetHISA");
using (var cases = new Entities())
{
System.Guid userId = (from list in cases.aspnet_Membership
where list.Email == userName
select list.UserId).FirstOrDefault();
values.UserType= "Admin";
string coder = (from list in cases.Accidents
join users in cases.aspnet_Users on userId equals users.UserId
where userName == list.coder
select list.coder).FirstOrDefault();
List<SqlParameter> sqlParams = new List<SqlParameter>();
sqlParams.Add(new SqlParameter("UserId", userId));
CaseDetails = cases.Database.SqlQuery<CaseValues>("exec sp_CaseSearch @UserId", sqlParams.ToArray()).ToList();
}
return CaseDetails;
}
public class CaseValues
{
public int caseid { get; set; }
public int city { get; set; }
public int caseNum { get; set; }
}
I can return values using this method. But i have to created another class with usertype as below,
public class RequiredValues
{
public string UserType { get; set; }
}
I need to return both old class list values and new class list values. Please give your suggestion.
Upvotes: 0
Views: 103
Reputation: 41
You can edit RequiredValues class as below:
public class RequiredValues
{
public string UserType { get; set; }
public List<CaseValues> CaseDetails { get; set; }
}
End edit the method as below:`
public List<RequiredValues> GetCasedetails(string userName)
{
RequiredValues values = new RequiredValues();
DropDownListvalues requiredList = new DropDownListvalues();
requiredList = setDropDownListValues("exec sp_Search_GetHISA");
using (var cases = new Entities())
{
System.Guid userId = (from list in cases.aspnet_Membership
where list.Email == userName
select list.UserId).FirstOrDefault();
values.UserType= "Admin";
string coder = (from list in cases.Accidents
join users in cases.aspnet_Users on userId equals users.UserId
where userName == list.coder
select list.coder).FirstOrDefault();
List<SqlParameter> sqlParams = new List<SqlParameter>();
sqlParams.Add(new SqlParameter("UserId", userId));
values.CaseDetails = cases.Database.SqlQuery<CaseValues>("exec sp_CaseSearch @UserId", sqlParams.ToArray()).ToList();
}
return values;
}
Hope this helps!
Upvotes: 1