/// <summary> /// Hàm get dữ liệu chứng từ /// </summary> /// <param name="storeName"></param> /// <param name="tableName"></param> /// <param name="pageNumber"></param> /// <param name="pageSize"></param> /// <param name="where"></param> /// <returns></returns> /// Tạo bởi: NBDUONG(27/6/2019) public AjaxResult GetDataPaginationBase(string storeName, string tableName, int pageNumber, int pageSize, string where) { var ajaxResult = new AjaxResult(); var entities = new List <DocumentViewModel>(); using (DataAccess dataAccess = new DataAccess()) { // Khởi tạo đối tượng SqlDataReader hứng dữ liệu trả về: var sqlCommand = dataAccess.SqlCommand; sqlCommand.CommandText = storeName; sqlCommand.Parameters.AddWithValue("@TableName", tableName); sqlCommand.Parameters.AddWithValue("@PageNumber", pageNumber); sqlCommand.Parameters.AddWithValue("@PageSize", pageSize); sqlCommand.Parameters.AddWithValue("@Where", where); SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); while (sqlDataReader.Read()) { var entity = new DocumentViewModel(); for (int i = 0; i < sqlDataReader.FieldCount; i++) { // Lấy ra tên propertyName dựa vào tên cột của field hiện tại: var propertyName = sqlDataReader.GetName(i); // Lấy ra giá trị của field hiện tại: var propertyValue = sqlDataReader.GetValue(i); // Gán Value cho Property tương ứng: var propertyInfo = entity.GetType().GetProperty(propertyName); if (propertyInfo != null && propertyValue != DBNull.Value) { propertyInfo.SetValue(entity, propertyValue); } } ajaxResult.TotalCount = (int)sqlDataReader.GetValue(20); entities.Add(entity); } } ajaxResult.Data = entities; return(ajaxResult); }