public JsonResult GetInternalUsers() { string LoginUser = (string)Session["LoginSAPID"]; try { string userkey = ConfigurationManager.AppSettings["userkey"]; string uid = ConfigurationManager.AppSettings["uid"]; Employer.Employer employer = new Employer.Employer(); DataTable dt = employer.FetchInternalUsers(userkey, uid); dt.TableName = "InternalUsers"; dt.Columns.ToString(); var users = (from DataRow dr in dt.Rows select new Models.InternalUsers() { ID = dr["ID"].ToString(), FULLNAME = dr["FULLNAME"].ToString(), ROLE_ID = dr["ROLE_ID"].ToString() }).ToList(); return(Json(new { data = users }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { LogError logerror = new LogError(); logerror.ErrorLog("", LoginUser, "", "Requests/GetInternalUsers", "Requests", "GetInternalUsers", "FetchInternalUsers Error", ex.Message.ToString(), 0); return(Json(new { data = "Error has occured" }, JsonRequestBehavior.AllowGet)); } }
public JsonResult GetInternalUsers([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel) { string userkey = ConfigurationManager.AppSettings["userkey"]; string uid = ConfigurationManager.AppSettings["uid"]; string LoginUser = (string)Session["LoginSAPID"]; try { Employer.Employer employer = new Employer.Employer(); DataTable dt = employer.FetchInternalUsers(userkey, uid); dt.TableName = "InternalUsers"; dt.Columns.ToString(); List <InternalUsers> userList = new List <InternalUsers>(); int startRec = requestModel.Start; int pageSize = requestModel.Length; List <InternalUsers> usersCount = (from DataRow dr in dt.Rows select new InternalUsers() { ID = dr["ID"].ToString() }).ToList(); userList = (from DataRow dr in dt.Rows select new InternalUsers() { ID = dr["ID"].ToString(), USER_NAME = dr["USER_NAME"].ToString(), FULLNAME = dr["FULLNAME"].ToString(), EMAIL = dr["EMAIL"].ToString(), ROLE_ID = dr["RoleName"].ToString(), LOCKED = dr["LOCKED"].ToString(), STATUS = dr["STATUS"].ToString(), DATE_LAST_MODIFIED = dr["DATE_LAST_MODIFIED"].ToString() }).Skip(startRec).Take(pageSize).ToList(); var totalCount = usersCount.Count(); var filteredCount = userList.Count(); if (requestModel.Search.Value != string.Empty) { var value = requestModel.Search.Value.ToLower().Trim(); usersCount = (from DataRow dr in dt.Rows where dr["ID"].ToString().ToLower().Contains(value) || dr["USER_NAME"].ToString().ToLower().Contains(value) || dr["FULLNAME"].ToString().ToLower().Contains(value) || dr["EMAIL"].ToString().ToLower().Contains(value) select new InternalUsers() { ID = dr["ID"].ToString() }).ToList(); userList = (from DataRow dr in dt.Rows where dr["ID"].ToString().ToLower().Contains(value) || dr["USER_NAME"].ToString().ToLower().Contains(value) || dr["FULLNAME"].ToString().ToLower().Contains(value) || dr["EMAIL"].ToString().ToLower().Contains(value) select new InternalUsers() { ID = dr["ID"].ToString(), USER_NAME = dr["USER_NAME"].ToString(), FULLNAME = dr["FULLNAME"].ToString(), EMAIL = dr["EMAIL"].ToString(), LOCKED = dr["LOCKED"].ToString(), ROLE_ID = dr["RoleName"].ToString(), STATUS = dr["STATUS"].ToString(), DATE_LAST_MODIFIED = dr["DATE_LAST_MODIFIED"].ToString() }).Skip(startRec).Take(pageSize).ToList(); totalCount = usersCount.Count(); filteredCount = userList.Count(); } var sortedColumns = requestModel.Columns.GetSortedColumns(); var orderByString = String.Empty; foreach (var column in sortedColumns) { orderByString += orderByString != String.Empty ? "," : ""; orderByString += (column.Data) + (column.SortDirection == Column.OrderDirection.Ascendant ? " asc" : " desc"); } var data = userList.Select(emList => new { ID = emList.ID, USER_NAME = emList.USER_NAME, FULLNAME = emList.FULLNAME, EMAIL = emList.EMAIL, ROLE_ID = emList.ROLE_ID, LOCKED = emList.LOCKED, STATUS = emList.STATUS, DATE_LAST_MODIFIED = emList.DATE_LAST_MODIFIED }).OrderBy(orderByString == string.Empty ? "ID asc" : orderByString).ToList(); return(Json(new DataTablesResponse(requestModel.Draw, data, totalCount, totalCount), JsonRequestBehavior.AllowGet)); } catch (Exception ex) { LogError logerror = new LogError(); logerror.ErrorLog("", LoginUser, "", "Admin/GetInternalUsers", "Admin", "GetInternalUsers", "FetchInternalUsers Error", ex.Message.ToString(), 0); throw new Exception(ex.Message.ToString()); } }