示例#1
0
        public DatatableVM.PagingResponse <SeverityVM> GetDataServerSide(DatatableVM.PagingRequest paging)
        {
            using (context)
            {
                var pagingResponse = new PagingResponse <SeverityVM>()
                {
                    // counts how many times the user draws data
                    Draw = paging.Draw
                };
                // initialized query
                IEnumerable <Severity> query = null;
                // search if user provided a search value, i.e. search value is not empty
                if (!string.IsNullOrEmpty(paging.Search.Value))
                {
                    // search based from the search value
                    query = context.Severities
                            .Where(v => v.SeverityCode.ToString().ToLower().Contains(paging.Search.Value.ToLower()) ||
                                   v.SeverityDesc.ToString().ToLower().Contains(paging.Search.Value.ToLower()));
                }
                else
                {
                    // selects all from table
                    query = context.Severities;
                }
                // total records from query
                var recordsTotal = query.Count();
                // orders the data by the sorting selected by the user
                // used ternary operator to determine if ascending or descending
                var colOrder = paging.Order[0];
                switch (colOrder.Column)
                {
                case 0:
                    query = colOrder.Dir == "asc" ? query.OrderBy(v => v.SeverityCode) : query.OrderByDescending(v => v.SeverityCode);
                    break;
                }

                var taken = query.Skip(paging.Start).Take(paging.Length).ToArray();
                // converts model(query) into viewmodel then assigns it to response which is displayed as "data"
                pagingResponse.Reponse         = taken.Select(x => toViewModel.Severity(x));
                pagingResponse.RecordsTotal    = recordsTotal;
                pagingResponse.RecordsFiltered = recordsTotal;

                return(pagingResponse);
            }
        }
示例#2
0
 public DatatableVM.PagingResponse <CategoryListVM> GetDataServerSide(DatatableVM.PagingRequest paging)
 {
     throw new NotImplementedException();
 }
 public DatatableVM.PagingResponse <TicketMinorVM> GetDataServerSide(DatatableVM.PagingRequest paging)
 {