Arun D
Arun D

Reputation: 279

Combine two class values and return using .net

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

Answers (1)

user2074872
user2074872

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

Related Questions