예제 #1
0
        /// <summary>
        /// Patient datatable
        /// </summary>
        /// <returns></returns>
        public JsonResult GoalDataTable(JqueryDataTableViewModel param)
        {
            try
            {
                var sortDirection   = Request.Query["sSortDir_0"];                  //asc or desc
                var sortColumnIndex = Convert.ToInt32(Request.Query["iSortCol_0"]); //Get Sorting Index of Column
                IEnumerable <Goal> qry;

                // incase no app cat is not there we will saw them todays
                qry = _goalRepository.GetAllReadonly;
                //Get total count
                var totalrecords = qry.Count();

                if (!string.IsNullOrEmpty(param.sSearch))
                {
                    qry = qry.Where(c => c.Name != null && c.Name.ToLower().Contains(param.sSearch.ToLower()) ||
                                    c.MeasureOfPerformance != null &&
                                    c.MeasureOfPerformance.Contains(param.sSearch.ToLower()) ||
                                    c.Weightage.ToString().Contains(param.sSearch.ToLower()) ||
                                    c.Level1 != null &&
                                    c.Level1.Contains(param.sSearch.ToLower()) ||
                                    c.Level2 != null &&
                                    c.Level2.Contains(param.sSearch.ToLower()) ||
                                    c.Level2 != null &&
                                    c.Level2.Contains(param.sSearch.ToLower()) ||
                                    c.Level3 != null &&
                                    c.Level3.Contains(param.sSearch.ToLower()) ||
                                    c.Level4 != null &&
                                    c.Level4.Contains(param.sSearch.ToLower()) ||
                                    c.Level5 != null &&
                                    c.Level5.Contains(param.sSearch.ToLower()) ||
                                    c.Guideline != null &&
                                    c.Guideline.Contains(param.sSearch.ToLower())
                                    );
                }
                if (sortColumnIndex == 1)//fname
                {
                    if (sortDirection == "desc")
                    {
                        //Run if sort direction is Descending
                        qry = qry.OrderByDescending(a => a.Name);
                    }
                    else if (sortDirection == "asc")
                    {
                        //Run if sort direction is Ascending
                        qry = qry.OrderBy(a => a.Name);
                    }
                }
                if (sortColumnIndex == 2)//email
                {
                    if (sortDirection == "desc")
                    {
                        //Run if sort direction is Descending
                        qry = qry.OrderByDescending(a => a.MeasureOfPerformance);
                    }
                    else if (sortDirection == "asc")
                    {
                        //Run if sort direction is Ascending
                        qry = qry.OrderBy(a => a.MeasureOfPerformance);
                    }
                }


                //Pagination
                if (param.iDisplayLength != -1)
                {
                    qry = qry.Skip(param.iDisplayStart).Take(param.iDisplayLength);
                }

                var result = from c in qry.ToList()
                             select new[]
                {
                    c.GoalId.ToString(),
                    c.Name,
                    c.MeasureOfPerformance,
                    c.Weightage.ToString(),
                    c.Level5,
                    c.Level3,
                    c.Guideline
                };

                return(Json(new
                {
                    aaData = result,
                    param.sEcho,
                    iTotalRecords = totalrecords,
                    iTotalDisplayRecords = totalrecords,
                }));
            }
            catch (Exception ex)
            {
                //Rollbar.RollbarLocator.RollbarInstance.Error(ex.Message);
                return(Json(new { Response = ex.InnerException.Message }));
            }
        }
예제 #2
0
        /// <summary>
        /// Patient datatable
        /// </summary>
        /// <returns></returns>
        public JsonResult EmployeeDataTable(JqueryDataTableViewModel param)
        {
            try
            {
                var sortDirection   = Request.Query["sSortDir_0"];                  //asc or desc
                var sortColumnIndex = Convert.ToInt32(Request.Query["iSortCol_0"]); //Get Sorting Index of Column
                IEnumerable <Employee> qry;

                // incase no app cat is not there we will saw them todays
                qry = _employeeRepository.GetAllReadonly;
                //Get total count
                var totalrecords = qry.Count();

                if (!string.IsNullOrEmpty(param.sSearch))
                {
                    qry = qry.Where(c => c.FirstName != null && c.FirstName.ToLower().Contains(param.sSearch.ToLower()) ||
                                    c.LastName != null &&
                                    c.LastName.Contains(param.sSearch.ToLower()) ||
                                    c.Number != null &&
                                    c.Number.Contains(param.sSearch.ToLower()) ||
                                    c.Grade != null &&
                                    c.Grade.Contains(param.sSearch.ToLower()) ||
                                    c.Department != null &&
                                    c.Department.Contains(param.sSearch.ToLower())
                                    );
                }
                if (sortColumnIndex == 1)//fname
                {
                    if (sortDirection == "desc")
                    {
                        //Run if sort direction is Descending
                        qry = qry.OrderByDescending(a => a.FirstName);
                    }
                    else if (sortDirection == "asc")
                    {
                        //Run if sort direction is Ascending
                        qry = qry.OrderBy(a => a.FirstName);
                    }
                }
                if (sortColumnIndex == 2)//email
                {
                    if (sortDirection == "desc")
                    {
                        //Run if sort direction is Descending
                        qry = qry.OrderByDescending(a => a.LastName);
                    }
                    else if (sortDirection == "asc")
                    {
                        //Run if sort direction is Ascending
                        qry = qry.OrderBy(a => a.LastName);
                    }
                }

                //Pagination
                if (param.iDisplayLength != -1)
                {
                    qry = qry.Skip(param.iDisplayStart).Take(param.iDisplayLength);
                }

                var result = from c in qry.ToList()
                             select new[]
                {
                    c.EmployeeId.ToString(),
                    c.FirstName + " " + c.LastName,
                    c.Number,
                    c.Grade,
                    c.AppraisalPeriod,
                    c.Department
                };

                return(Json(new
                {
                    aaData = result,
                    param.sEcho,
                    iTotalRecords = totalrecords,
                    iTotalDisplayRecords = totalrecords,
                }));
            }
            catch (Exception ex)
            {
                //Rollbar.RollbarLocator.RollbarInstance.Error(ex.Message);
                return(Json(new { Response = ex.InnerException.Message }));
            }
        }