private const int MaxActivitiesToDisplay = 500; // too many will cause an error public ActionResult GridDataActivity(Models.GridSettings gridSettings) { DateTime to; DateTime @from; var userId = GetQueryParas(out to, out @from); var activityList = PatService.GetActivities(userId, from, to); var totActivities = activityList.Count; if (totActivities > MaxActivitiesToDisplay) { totActivities = MaxActivitiesToDisplay; } var r = 0; var jsonData = new { total = AppHelper.PagesInTotal(totActivities, gridSettings.PageSize), page = gridSettings.PageIndex, records = totActivities, rows = ( from activity in activityList.AsEnumerable() select new { id = activity.ActivityId, cell = new List <String> { AppHelper.FormatInteger(++r), AppHelper.FormatInteger(activity.ActivityId), activity.UserId, activity.Activity, AppHelper.LongDateTime(activity.CreatedOn) } }).Take(totActivities).ToArray() }; return(Json(jsonData, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Gets all by upload identifier. /// </summary> /// <param name="uploadId">The upload identifier.</param> /// <param name="gridSettings">The grid settings.</param> /// <param name="projectStatus">The project status.</param> /// <returns></returns> public List <Review> GetAllByUploadId(int uploadId, Models.GridSettings gridSettings, string projectStatus) { if (string.IsNullOrEmpty(gridSettings.SortColumn)) { gridSettings.SortColumn = "ReviewId"; } const string sprocName = "PaReviewsGetAllByUpload"; var reviewList = new List <Review>(); using (var connection = new SqlConnection(DbConnection)) { using (var command = new SqlCommand(sprocName, connection)) { var sqlParams = new List <SqlParameter>(); var paramReturnValue = new SqlParameter("@return_value", SqlDbType.Int) { Direction = ParameterDirection.ReturnValue }; sqlParams.Add(paramReturnValue); SqlHelper.AddIntPara(uploadId, "@UploadId", sqlParams); SqlHelper.AddVarcharPara(gridSettings.SortColumn, "@sortColumnName", sqlParams); SqlHelper.AddVarcharPara(gridSettings.SortOrder, "@sortOrder", sqlParams); if (gridSettings.PageSize > 0) { SqlHelper.AddIntPara(gridSettings.PageSize, "@pageSize", sqlParams); } if (gridSettings.PageIndex > 0) { SqlHelper.AddIntPara(gridSettings.PageIndex, "@pageIndex", sqlParams); } if (gridSettings.IsSearch && gridSettings.Where != null) { foreach (var rule in gridSettings.Where.rules) { if (!rule.field.Equals("ReviewStatus")) { // convert rule into a parameter if (rule.field.IndexOf("Date", StringComparison.Ordinal) > -1) { SqlHelper.AddDatePara(DateTime.Parse(rule.data), "@" + rule.field, sqlParams); } else { if ((rule.field.IndexOf("Id", StringComparison.Ordinal) > -1) || (rule.field.IndexOf("Number", StringComparison.Ordinal) > -1)) { SqlHelper.AddBigIntPara(Int64.Parse(rule.data), "@" + rule.field, sqlParams); } else { switch (rule.field) { case "ReferredToFraud": case "IsAdditionalReview": case "IsOutOfScope": SqlHelper.AddBitPara(ConvertStringToBool(rule.data), "@" + rule.field, sqlParams); break; default: SqlHelper.AddVarcharPara(rule.data, "@" + rule.field, sqlParams); if (!rule.field.Equals("AssignedTo")) { var opValue = rule.op.Equals("eq") ? 1 : 0; SqlHelper.AddIntPara(opValue, "@" + rule.field + "Op", sqlParams); } break; } // add the Op parameter } } } } } command.CommandType = CommandType.StoredProcedure; command.Parameters.AddRange(sqlParams.ToArray()); connection.Open(); LoadList(reviewList, command, sprocName); } } return(reviewList); }