2017-05-25 66 views
0

我已经调用Api控制器使用Ajax。我已经写如下阿比控制器代码,结合两个类的值,并返回使用.net

[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; 
} 

并写入GetCasedetails方法在如下一类,

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; } 
    } 

我可以返回使用该方法的值。但我要创建了如下的用户类型另一个类,

public class RequiredValues 
{ 
     public string UserType { get; set; } 
} 

我需要返回两个老班列表值和新类列表值。请给出你的建议。

+1

在您返回的模型对象中,只有两个属性。一个旧的,一个新的。 – mason

回答

1

您可以编辑RequiredValues类,如下:

public class RequiredValues 
{ 
    public string UserType { get; set; } 
    public List<CaseValues> CaseDetails { get; set; } 
} 

编辑完的方法如下:`

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; 

}

希望这有助于!