public static BaseModel <object> ThanhCong(object data, Panigator panigator) { return(new BaseModel <object> { status = 1, data = data, panigator = panigator }); }
public BaseModel <object> DS_ThanhVien_Group(int id_group, [FromBody] QueryRequestParams p) { string Token = lc.GetHeader(Request); LoginData loginData = lc._GetInfoUser(Token); if (loginData == null) { return(JsonResultCommon.DangNhap()); } try { using (DpsConnection cnn = new DpsConnection(_config.ConnectionString)) { Dictionary <string, string> _sortableFields = new Dictionary <string, string> { { "Username", "Username" }, //{ "DonViTinh", "DonViTinh" } }; Panigator v_panigator = null; IDictionary <string, string> v_dic_keyFilter = new Dictionary <string, string> { { "Username", "Username" }, //{ "DonViTinh", "DonViTinh"}, }; string _select = "", _sqlQuery = "", v_str_paginate = "", _orderBy = "", _whereCondition = ""; SqlConditions _cond = new SqlConditions(); #region Filter, sort, paganitor //filter request have to right and enough , same in code if (p.Filter != null) { if (p.Filter.Count > 0) { var listKeySearch = p.Filter.Where(x => !v_dic_keyFilter.ContainsKey(x.Key)).Select(q => q.Key).ToList(); if (listKeySearch != null && listKeySearch.Count > 0) { return(JsonResultCommon.NotData()); } foreach (string _filter in p.Filter.Keys) { if (!string.IsNullOrEmpty(p.Filter[_filter])) { foreach (string vl in p.Filter.Values) { //_whereCondition += " AND " + v_dic_keyFilter[_filter] + " = @" + _filter; _whereCondition += " AND " + v_dic_keyFilter[_filter] + " LIKE'%"; _whereCondition += vl; _whereCondition += "%'"; _cond.Add(_filter, p.Filter[_filter]); } } } } } //sort column in datatable if (p.Sort != null) { if (!string.IsNullOrEmpty(p.Sort.ColumnName) && v_dic_keyFilter.ContainsKey(p.Sort.ColumnName)) { _orderBy = v_dic_keyFilter[p.Sort.ColumnName] + " " + (p.Sort.Direction.ToLower().Equals("asc") ? "asc" : "desc"); } } int page_index = 0; //set up panigator for datatable if (p.Panigator != null) { //v_str_paginate = $@" OFFSET @PageSize * (@PageNumber - 1) ROWS FETCH NEXT @PageSize ROWS ONLY;"; //// offset fetch là các tùy chọn của mệnh đề order by //_cond.Add("PageSize", p.Panigator.PageSize); //_cond.Add("PageNumber", p.Panigator.PageIndex); page_index = p.Panigator.PageIndex; } #endregion _sqlQuery = $@" select ID_GROUP, U.ID_USER, QUYEN_ADMIN , CREATE_DATE, IDNV, UserName, AVATAR from TBL_GROUPMEMBER AS G, TBL_Account AS U WHERE G.ID_USER = U.ID_USER and ID_GROUP=" + id_group + "" + _whereCondition + ""; DataTable _datatable = cnn.CreateDataTable(_sqlQuery, _cond); int _countRows = _datatable.Rows.Count; if (cnn.LastError != null || _datatable == null) { return(JsonResultCommon.NotData()); } if (_datatable.Rows.Count == 0) { return(JsonResultCommon.NotData()); } else { if (page_index == 0) { p.Panigator.PageSize = _countRows; } v_panigator = new Panigator(p.Panigator.PageIndex, p.Panigator.PageSize, _datatable.Rows.Count); } var _data = from r in _datatable.AsEnumerable().Skip((p.Panigator.PageIndex - 1) * p.Panigator.PageSize).Take(p.Panigator.PageSize).ToList() select new { Id_group = r["ID_GROUP"], id_user = r["ID_USER"], id_nv = r["IDNV"], Username = r["UserName"], quyen_group = r["QUYEN_ADMIN"], create_date = r["CREATE_DATE"], hinhanh = r["AVATAR"], Avatar = LiteController.genLinkAvatar(_config.LinkAPI, r["AVATAR"]), }; return(JsonResultCommon.ThanhCong(_data, v_panigator)); } } catch (Exception ex) { return(JsonResultCommon.Exception(ex)); } }