public JsonResult GetAttendence(JQGridParameter jQGridParameter, string userid) { jQGridParameter.SortBy = (jQGridParameter.SortBy == null) ? "Date" : jQGridParameter.SortBy; jQGridParameter.OrderBy = (jQGridParameter.OrderBy == null) ? "asc" : jQGridParameter.OrderBy; jQGridParameter.Rows = (jQGridParameter.Rows == 0) ? 20 : jQGridParameter.Rows; jQGridParameter.Page = (jQGridParameter.Page == 0) ? 1 : jQGridParameter.Page; jQGridParameter.SearchValue = (jQGridParameter.SearchValue == null) ? "" : jQGridParameter.SearchValue; jQGridParameter.OrderBy = (jQGridParameter.OrderBy == null) ? "" : jQGridParameter.OrderBy; int PageIndex = Convert.ToInt32(jQGridParameter.Page) - 1; int pagesize = jQGridParameter.Rows; List <Attendence> AttendenceList = new List <Attendence>(); using (HttpClient httpClient = new HttpClient()) { UriBuilder url = new UriBuilder(ConfigurationManager.AppSettings["detailsUrl"]); var result = httpClient.GetAsync(url.Uri + "/GetAttendence?UserId=" + userid).Result; if (result.IsSuccessStatusCode) { AttendenceList = JsonConvert.DeserializeObject <List <Attendence> >(result.Content.ReadAsStringAsync().Result); } } //if (jQGridParameter.Search) //{ // AttendenceList = AttendenceList.Where(t => (t.Date.Contains(jQGridParameter.SearchValue)) || (t.Mgr_Id.Contains(jQGridParameter.SearchValue))).ToList(); //} //sorting and page size int totalRecords = AttendenceList.Count(); var totalPages = (int)Math.Ceiling((float)totalRecords / (float)jQGridParameter.Rows); // sorting of the data switch (jQGridParameter.SortBy.ToLower()) { case "date": if (jQGridParameter.OrderBy.ToUpper() == "DESC") { AttendenceList = AttendenceList.OrderByDescending(t => t.Date).ToList(); AttendenceList = AttendenceList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } else { AttendenceList = AttendenceList.OrderBy(t => t.Date).ToList(); AttendenceList = AttendenceList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } break; case "attendencestatus": if (jQGridParameter.OrderBy.ToUpper() == "DESC") { AttendenceList = AttendenceList.OrderByDescending(t => t.AttendenceStatus).ToList(); AttendenceList = AttendenceList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } else { AttendenceList = AttendenceList.OrderBy(t => t.AttendenceStatus).ToList(); AttendenceList = AttendenceList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } break; } var jsondata = new { total = totalPages, jQGridParameter.Page, records = totalRecords, rows = AttendenceList }; return(Json(jsondata, JsonRequestBehavior.AllowGet)); }
//get the values in jqgrid /// <summary> /// get the projects from data base and pass it into the jq grid /// </summary> /// <param name="sidx"> sorting index</param> /// <param name="sord">sorting order</param> /// <param name="rows"> number of rows appeared in jqgrid</param> /// <param name="page">number of pages</param> /// <returns></returns> public JsonResult GetProjects(JQGridParameter jQGridParameter, string status) { jQGridParameter.SortBy = (jQGridParameter.SortBy == null)? "project_name" : jQGridParameter.SortBy; jQGridParameter.OrderBy = (jQGridParameter.OrderBy == null) ? "asc" : jQGridParameter.OrderBy; jQGridParameter.Rows = (jQGridParameter.Rows == 0) ? 20 : jQGridParameter.Rows; jQGridParameter.Page = (jQGridParameter.Page == 0)?1:jQGridParameter.Page; jQGridParameter.SearchValue = (jQGridParameter.SearchValue == null) ? "" : jQGridParameter.SearchValue; var token = Session["token"]; var username = Session["username"]; jQGridParameter.OrderBy = (jQGridParameter.OrderBy == null) ? "" : jQGridParameter.OrderBy; int PageIndex = Convert.ToInt32(jQGridParameter.Page) - 1; int pagesize = jQGridParameter.Rows; var list = new List <ProjectViewModel>(); var templist = new List <ProjectViewModel>(); //Retrieving the data from the server using (HttpClient client = new HttpClient()) { UriBuilder url = new UriBuilder(ConfigurationManager.AppSettings["detailsUrl"]); // url.Query = "username="******"Bearer", token.ToString()); var result = client.GetAsync(url.Uri + "/getProjectDetails?username="******"&status=" + status).Result; if (result.IsSuccessStatusCode) { list = JsonConvert.DeserializeObject <List <ProjectViewModel> >(result.Content.ReadAsStringAsync().Result); } else { } } //searching from the list if (jQGridParameter.Search) { list = list.Where(t => (t.Project_Name.Contains(jQGridParameter.SearchValue)) || (t.Mgr_Id.Contains(jQGridParameter.SearchValue))).ToList(); /* if (jQGridParameter.filters.groupOp == "AND") * { * foreach(var rule in jQGridParameter.filters.rules) * { * * switch(rule.field) * { * case "Project_Name": * list = list.Where(t => t.Project_Name.Contains(rule.data)).ToList(); * break; * case "Mgr_Id": * list = list.Where(t => t.Mgr_Id.Contains(rule.data)).ToList(); * break; * } * } * } * else if(jQGridParameter.filters.groupOp=="OR") * { * * foreach(var rule in jQGridParameter.filters.rules) * { * List<ProjectViewModel> temp; * switch (rule.field) * { * case "Project_Name": * temp = list.Where(t => t.Project_Name.Contains(rule.data??"")).ToList(); * templist = templist.Concat(temp).ToList(); * break; * case "Mgr_Id": * temp = list.Where(t => t.Mgr_Id.Contains(rule.data??"")).ToList(); * templist = templist.Concat(temp).ToList(); * break; * } * } * list = templist.Distinct().ToList(); * }*/ } //sorting and page size int totalRecords = list.Count(); var totalPages = (int)Math.Ceiling((float)totalRecords / (float)jQGridParameter.Rows); // sorting of the data switch (jQGridParameter.SortBy.ToLower()) { case "project_name": if (jQGridParameter.OrderBy.ToUpper() == "DESC") { list = list.OrderByDescending(t => t.Project_Name).ToList(); list = list.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } else { list = list.OrderBy(t => t.Project_Name).ToList(); list = list.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } break; case "manager_name": if (jQGridParameter.OrderBy.ToUpper() == "DESC") { list = list.OrderByDescending(t => t.Mgr_Id).ToList(); list = list.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } else { list = list.OrderBy(t => t.Mgr_Id).ToList(); list = list.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } break; } var jsondata = new { total = totalPages, jQGridParameter.Page, records = totalRecords, rows = list }; return(Json(jsondata, JsonRequestBehavior.AllowGet)); }
// GET: EmployeeJqGrid public ActionResult GetEmployees(JQGridParameter jQGridParameter) { jQGridParameter.SortBy = (jQGridParameter.SortBy == null) ? "Date" : jQGridParameter.SortBy; jQGridParameter.OrderBy = (jQGridParameter.OrderBy == null) ? "asc" : jQGridParameter.OrderBy; jQGridParameter.Rows = (jQGridParameter.Rows == 0) ? 20 : jQGridParameter.Rows; jQGridParameter.Page = (jQGridParameter.Page == 0) ? 1 : jQGridParameter.Page; jQGridParameter.SearchValue = (jQGridParameter.SearchValue == null) ? "" : jQGridParameter.SearchValue; jQGridParameter.OrderBy = (jQGridParameter.OrderBy == null) ? "" : jQGridParameter.OrderBy; int PageIndex = Convert.ToInt32(jQGridParameter.Page) - 1; int pagesize = jQGridParameter.Rows; List <Employee> EmployeeList = new List <Employee>(); using (HttpClient httpClient = new HttpClient()) { UriBuilder url = new UriBuilder(ConfigurationManager.AppSettings["detailsUrl"]); var result = httpClient.GetAsync(url.Uri + "/GetEmployeeDetails").Result; if (result.IsSuccessStatusCode) { EmployeeList = JsonConvert.DeserializeObject <List <Employee> >(result.Content.ReadAsStringAsync().Result); } } if (jQGridParameter.Search) { EmployeeList = EmployeeList.Where(t => (t.JoiningDate.ToShortDateString().Contains(jQGridParameter.SearchValue)) || (t.FullName.Contains(jQGridParameter.SearchValue)) || (t.Email.Contains(jQGridParameter.SearchValue)) || (t.UserId.Contains(jQGridParameter.SearchValue))).ToList(); } //sorting and page size int totalRecords = EmployeeList.Count(); var totalPages = (int)Math.Ceiling((float)totalRecords / (float)jQGridParameter.Rows); // sorting of the data switch (jQGridParameter.SortBy.ToLower()) { case "fullname": if (jQGridParameter.OrderBy.ToUpper() == "DESC") { EmployeeList = EmployeeList.OrderByDescending(t => t.FullName).ToList(); EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } else { EmployeeList = EmployeeList.OrderBy(t => t.FullName).ToList(); EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } break; case "joiningdate": if (jQGridParameter.OrderBy.ToUpper() == "DESC") { EmployeeList = EmployeeList.OrderByDescending(t => t.JoiningDate).ToList(); EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } else { EmployeeList = EmployeeList.OrderBy(t => t.JoiningDate).ToList(); EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } break; case "userid": if (jQGridParameter.OrderBy.ToUpper() == "DESC") { EmployeeList = EmployeeList.OrderByDescending(t => t.UserId).ToList(); EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } else { EmployeeList = EmployeeList.OrderBy(t => t.UserId).ToList(); EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } break; case "email": if (jQGridParameter.OrderBy.ToUpper() == "DESC") { EmployeeList = EmployeeList.OrderByDescending(t => t.Email).ToList(); EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } else { EmployeeList = EmployeeList.OrderBy(t => t.Email).ToList(); EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList(); } break; } var jsondata = new { total = totalPages, jQGridParameter.Page, records = totalRecords, rows = EmployeeList }; return(Json(jsondata, JsonRequestBehavior.AllowGet)); }