2017-05-25 43 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; 

}

希望這有助於!