//This post method calls in View page thorough AJax call to bind the data in JQuery Datatable
        //Server side processing concept used to bind the data in JQuery
        public ActionResult GetSemesterForSearchPanel(SemesterSearchPanel semesterSearchPanel)
        {
            //Note: Install "System.Linq.Dynamic" from Nuget Packages

            // after this just include namespace in our Controller "using System.Linq.Dynamic;".

            //Draw counter. This is used by DataTables to ensure that the Ajax returns from server-side processing requests are drawn in sequence by DataTables (Ajax requests are asynchronous and thus can return out of sequence).
            var draw = Request.Form.GetValues("draw").FirstOrDefault();
            //Paging first record indicator. This is the start point in the current data set (0 index based - i.e. 0 is the first record)
            var start = Request.Form.GetValues("start").FirstOrDefault();
            //Number of records that the table can display in the current draw.
            var length = Request.Form.GetValues("length").FirstOrDefault();

            //Find Order Column
            var sortColumn    = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault();
            var sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();


            int pageSize = length != null?Convert.ToInt32(length) : 0;

            int skip = start != null?Convert.ToInt32(start) : 0;

            int recordsTotal = 0;



            var semesterList = (from a in _semester.SemesterList(semesterSearchPanel) select a);

            string search = Request.Form.GetValues("search[value]")[0];

            // Verification.



            recordsTotal = semesterList.Count();
            var data = semesterList.Skip(skip).Take(pageSize).ToList();

            return(Json(new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = data }, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        //To view data of semester table based on parameters selected
        public IEnumerable <tbl_MCE_Semester> SemesterList(SemesterSearchPanel semesterSearchPanel)
        {
            DynamicParameters param = new DynamicParameters();

            param.Add("@P_CHRACTION", "SEMESTERSP");
            if (semesterSearchPanel.intCourseID != 0 && semesterSearchPanel.intCourseID != null)
            {
                param.Add("@P_intCourseID", semesterSearchPanel.intCourseID);
            }
            if (semesterSearchPanel.intBranchID != 0 && semesterSearchPanel.intBranchID != null)
            {
                param.Add("@P_intBranchID", semesterSearchPanel.intBranchID);
            }
            if (semesterSearchPanel.intSemester != null)
            {
                param.Add("@P_intSemester", semesterSearchPanel.intSemester);
            }
            if (semesterSearchPanel.vchAdmissionBatch != null)
            {
                param.Add("@P_vchAdmissionBatch", semesterSearchPanel.vchAdmissionBatch);
            }

            return(DapperORM.ReturnList <tbl_MCE_Semester>("SP_MCE_Semester_Report", param));
        }