コード例 #1
0
        [TestCase("456", typeof(decimal?), false)] //query, isnt match
        public void SearchQueryTests(string searchString, Type colType, bool returnsResult)
        {
            var col = columns.First(c => c.Item2.Type == colType).Item1;

            dataTablesParam.sSearchColumns[col] = searchString;
            var result = new DataTablesResult<SomeModel>(queryable, dataTablesParam);

            var data = result.Data;
            Assert.AreEqual(returnsResult, data.iTotalDisplayRecords > 0);
        }
コード例 #2
0
        public DataTablesResult <RequestView> DataTables(DataTablesParam p)
        {
            AdminUser user = this.userTasks.GetAdminUser(User.Identity.Name);

            IQueryable <Request> q = this.requestTasks.GetRequestsQueryable()
                                     .Where(x => !x.Archive)
                                     .Where(x => !x.HasBeenSentForValidation)
                                     .Where(x => x.UserHasPermission(user) || User.IsInRole(AdminRole.ScreeningRequestValidator));

            return(DataTablesResult.Create <RequestView>(q.Select(x => new RequestView(x)), p));
        }
コード例 #3
0
        public PageData GetSystemLogList(string logType, string startDate, string endDate, int pageNumber, int pageSize)
        {
            SYSTEMLOG_BN     log    = new SYSTEMLOG_BN();
            PageData         pd     = new PageData();
            DataTablesResult result = log.GetList(logType, startDate, endDate, pageNumber, pageSize);

            pd.Data        = result.aaData;
            pd.PageCount   = pageSize;
            pd.RecordCount = Convert.ToInt32(result.iTotalRecords);
            return(pd);
        }
コード例 #4
0
ファイル: Linq.cs プロジェクト: yuyidi/mvc.jquery.datatables
        public virtual int[] ExecuteParamsAndTransform(DataTablesParam dataTablesParam)
        {
            var result = DataTablesResult.Create(SomeModelQueryable,
                                                 dataTablesParam,
                                                 m => new {
                FriendlyWhen = m.When.ToShortDateString(),
            });
            var data = result.Data;

            return(data.aaData.Select(d => Convert.ToInt32(((IList)d)[0])).ToArray());
        }
コード例 #5
0
        // datatable test method
        public DataTablesResult <GridModel> GetList(DataTablesParam dataTableParam)
        {
            var articleList = _products.GetAll();

            var articleGridModels = articleList.Select(x => new GridModel()
            {
                Id = x.Id, Title = x.Name
            });

            return(DataTablesResult.Create(articleGridModels, dataTableParam));
        }
コード例 #6
0
        [TestCase("456", typeof(decimal?), false)]    //query, isnt match
        public void SearchQueryTests(string searchString, Type colType, bool returnsResult)
        {
            var col = columns.First(c => c.Item2.Type == colType).Item1;

            dataTablesParam.sSearchColumns[col] = searchString;
            var result = new DataTablesResult <SomeModel>(queryable, dataTablesParam);

            var data = result.Data;

            Assert.AreEqual(returnsResult, data.iTotalDisplayRecords > 0);
        }
コード例 #7
0
        public DataTablesResult <OperationDataTableView> DataTables(DataTablesParam p)
        {
            IQueryable <OperationDataTableView> q = this.orgTasks.GetAllOperations()
                                                    .Select(x => new OperationDataTableView(x))
                                                    .AsQueryable()
                                                    .InterceptWith(new SetComparerExpressionVisitor(StringComparison.CurrentCultureIgnoreCase));

            return(DataTablesResult.Create(q, p, x => new
            {
                Objective = string.IsNullOrEmpty(x.Objective) ? string.Empty : x.Objective
            }));
        }
コード例 #8
0
ファイル: TopicController.cs プロジェクト: yuyu2you/Caf.CMS
        public ActionResult List(DataTablesParam dataTableParam, TopicListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageTopics))
            {
                return(AccessDeniedView());
            }

            //  var SearchSiteId = dataTableParam.bQueryModel.Items.FirstOrDefault().Value.ToString().ToInt();
            var topics = _topicService.GetAllTopics(model.SearchSiteId);

            return(DataTablesResult.Create(topics.Select(x => x.ToModel()).AsQueryable(), dataTableParam));
        }
コード例 #9
0
        public async Task <DataTablesResult <T> > SearchAsync(SearchRequest searchRequest, System.Linq.Expressions.Expression <Func <T, bool> > predicate, Func <IQueryable <T>, IOrderedQueryable <T> > orderBy = null)
        {
            var totalRecords = await this.CountAsync();

            var totalFilteredRecords = await this.CountAsync(predicate);

            var pageData = await this.GetPageAsync(searchRequest.PageNumber *(searchRequest.PageSize.HasValue ? (int)searchRequest.PageSize : PAGE_SIZE), searchRequest.PageSize.HasValue?(int)searchRequest.PageSize : PAGE_SIZE, null, predicate, null);

            var response = new DataTablesResult <T> (searchRequest.PageNumber, totalRecords, totalFilteredRecords, pageData);

            return(response);
        }
コード例 #10
0
        public DataTablesResult <JabatanOrmawaRow> DataTables(DataTablesParam param)
        {
            var query = _repo.GetJenisJabatanList();

            var no = param.iDisplayStart + 1;

            return(DataTablesResult.Create(query, param, row => new
            {
                // custom formatting
                Aksi = Buttonstring(row.Id)
            }));
        }
コード例 #11
0
        public DataTablesResult <RequestPersonDataTableView> AttachedPersonsDataTables(int id, DataTablesParam p)
        {
            Request request = this.requestTasks.Get(id);

            if (request != null)
            {
                IEnumerable <RequestPersonDataTableView> persons = request.Persons.Where(x => !x.Archive).Select(x => new RequestPersonDataTableView(x));
                persons = persons.Concat(request.ProposedPersons.Where(x => !x.Archive).Select(x => new RequestPersonDataTableView(x)));
                return(DataTablesResult.Create(persons.AsQueryable(), p));
            }
            return(null);
        }
コード例 #12
0
        /// <summary>
        /// Get page for DataTables
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <DataTablesResult <T> > GetPageAsync(IDataTablesRequest request, Expression <Func <T, bool> > predicate = null, Func <IQueryable <T>, IOrderedQueryable <T> > orderBy = null)
        {
            var sortableColumns = request.Columns.Where(c => c.Sort != null);

            var totalRecords = await _repository.CountAsync(predicate);

            var pageData = await this.GetPageAsync(request.Start, request.Length, sortableColumns, predicate, orderBy);

            var response = new DataTablesResult <T> (request.Draw, totalRecords, totalRecords, pageData);

            return(response);
        }
コード例 #13
0
        public DataTablesResult <DaftarAnggotaOrmawaRow> DataTables(DataTablesParam param)
        {
            var query = _repo.GetDaftarAnggotaList();

            var no = param.iDisplayStart + 1;

            return(DataTablesResult.Create(query, param, row => new
            {
                // custom formatting
                Aksi = Buttonstring(row.Id, row.IdStruktural)
            }));
        }
コード例 #14
0
ファイル: ReportService.cs プロジェクト: khoppenworth/pdx-be
        public async Task <DataTablesResult <dynamic> > GetTabularReportData(int reportID, IDataTablesRequest request, IList <Filter> filters = null)
        {
            var report = await base.GetAsync(reportID);

            var reportData   = _dataProvider.GetData(report.Query, filters, request?.Columns?.Where(c => c.Sort != null).ToList());
            var totalRecords = reportData.Count();

            var pageData = reportData.Skip(request.Start).Take(request.Length);
            var response = new DataTablesResult <dynamic> (request.Draw, totalRecords, totalRecords, pageData);

            return(response);
        }
コード例 #15
0
        public ActionResult GetAll(DataTablesParam dataTablesParam)
        {
            var model = _categoryService.GetAll().Select(a => new CategoryViewModel()
            {
                CategoryName   = a.Name,
                Ancestor       = a.Ancestor,
                Id             = a.Id,
                ParentCategory = a.Category2 == null ? "" : a.Category2.Name
            });

            return(DataTablesResult.Create(model, dataTablesParam, null, a => a.Ancestor));
        }
コード例 #16
0
        public DataTablesResult <OrganisasiOrmawaRow> DataTablesExampleDataProvider(DataTablesParam param)
        {
            var query = _repo.GetOrganisasiList();

            var no = param.iDisplayStart + 1;

            return(DataTablesResult.Create(query, param, row => new
            {
                // custom formatting
                Aksi = $"<input type=\"button\" class=\"btn btn-default\" value=\"Aksi\" onclick=\"alert('Orang ID: {row.Id}')\">"
            }));
        }
コード例 #17
0
        public DataTablesResult <FeedingSourceDTO> DataTables(DataTablesParam p)
        {
            IQueryable <FeedingSourceDTO> q = this.feedingSourceTasks.GetFeedingSourceDTOs(
                ((PrfPrincipal)User).HasPermission(AdminPermission.CanViewAndSearchAllSources),
                ((PrfPrincipal)User).HasPermission(AdminPermission.CanViewAndSearchRestrictedSources),
                User.Identity.Name
                )
                                              .AsQueryable()
                                              .InterceptWith(new SetComparerExpressionVisitor(StringComparison.CurrentCultureIgnoreCase));

            return(DataTablesResult.Create(q, p, x => x.ToJSON()));
        }
コード例 #18
0
        public DataTablesResult <UploadRow> DataTables(DataTablesParam param)
        {
            var query = _repo.GetUploadList();

            var no = param.iDisplayStart + 1;

            return(DataTablesResult.Create(query, param, row => new
            {
                // custom formatting
                no = no++,
                Aksi = Buttonstring(row.Id)
            }));
        }
コード例 #19
0
        public ActionResult GetAll(DataTablesParam request)
        {
            var model = _couponService.GetAll().Select(a => new CouponViewModel()
            {
                Id        = a.Id,
                StrStatus = a.Status ? "Active" : "Inactive",
                Discount  = a.Discount,
                EndDate   = a.End_Date,
                StartDate = a.Start_Date
            });

            return(DataTablesResult.Create(model, request));
        }
コード例 #20
0
        public ActionResult GetAll(DataTablesParam request)
        {
            var orders = _ordersService.GetAll().Select(a => new OrdersViewModel
            {
                Id          = a.Id,
                Status      = a.Status,
                CreatedDate = a.CreatedDate,
                User        = a.Account.Username,
                Total       = a.OrderDetails.Sum(x => x.Price * x.Quantity)
            });

            return(DataTablesResult.Create(orders, request));
        }
コード例 #21
0
ファイル: MenuController.cs プロジェクト: taccisum/tac
        public JsonResult GetMenusList(MenuQuery query)
        {
            var list = MenuService.Query().OrderByDescending(m => m.CreatedOn);

            var tableData = new DataTablesResult
            {
                draw            = query.draw,
                recordsTotal    = list.Count(),
                recordsFiltered = list.Count(),
                data            = list.QueryForStart(query.start, query.length)
            };

            return(Json(tableData, JsonRequestBehavior.AllowGet));
        }
コード例 #22
0
        public DataTablesResult <UserView> GetUsers(DataTablesParam dataTableParam)
        {
            var users = Users().AsQueryable();

            return(DataTablesResult.Create(users, dataTableParam, user => new UserView()
            {
                Id = user.Id,
                Name = new MvcHtmlString("<b>" + user.Name + "</b>"),
                Email = user.Email,
                Position = user.Position == null ? "" : user.Position.ToString(),
                Number = user.Number,
                Hired = user.Hired
            }));
        }
コード例 #23
0
        public DataTablesResult <StandupMessage> GetAll(DataTablesParam dataTableParam)
        {
            var service = new StandupService("rWhFopVMgXRBxHUQIzqvDlMHOLuYA5obelp3SOVx");
            //IStandupService service = new FakeStandupService();
            var history = service.GetAllStandupHistory("Rave Scrum and Announcements", "Standup");
            var result  =
                DataTablesResult.Create(
                    history.Select(o => new StandupMessage(o))
                    .AsQueryable()
                    .InterceptWith(new SetComparerExpressionVisitor(StringComparison.CurrentCultureIgnoreCase))
                    , dataTableParam, (ArrayOutputType?)null);

            return(result);
        }
コード例 #24
0
ファイル: Linq.cs プロジェクト: krzykor/mvc.jquery.datatables
        public virtual int[] ExecuteParamsAndTransform(DataTablesParam dataTablesParam)
        {
            var result = DataTablesResult.Create(SomeModelQueryable,
                                                 dataTablesParam,
                                                 model => new SomeView
            {
                Name      = model.DisplayName,
                Cat       = model.Category,
                ViewScale = model.Scale,
                Id        = model.Id
            });
            var data = (DataTablesData)result.Data;

            return(data.RecordIds());
        }
コード例 #25
0
        public async Task <DataTablesResult <ArticleViewModel> > GetArticleTableData(DataTablesParam dataTableParam)
        {
            var articles = await _mediator.Send(new GetAriclesQuery());

            var articleViewModels = articles.Select(a => new ArticleViewModel
            {
                ArticleId           = a.ArticleId,
                ArticleDateModified = a.ArticleDateModified,
                ArticleDateCreated  = a.ArticleDateCreated,
                ArticleStatus       = a.ArticleStatus,
                ArticleTitle        = a.ArticleTitle
            });

            return(DataTablesResult.Create(articleViewModels, dataTableParam));
        }
コード例 #26
0
        public async Task <DataTablesResult <MedicalDeviceMigration> > GetPageAsync(IDataTablesRequest request)
        {
            Expression <Func <MedicalDeviceHeader, bool> > predicate = DataTableHelper.ConstructFilter <MedicalDeviceHeader> (request.Search.Value, columns);
            OrderBy <MedicalDeviceHeader> orderBy = new OrderBy <MedicalDeviceHeader> (qry => qry.OrderBy(e => e.RegistrationDate));

            var sortableColumns = request.Columns.Where(c => c.Sort != null);
            var result          = await base.GetPageAsync(request.Start, request.Length, sortableColumns, predicate, orderBy.Expression);

            var pageData = MapMedicalDeviceMigration(result);

            var totalRecords = await base.CountAsync(predicate);

            var response = new DataTablesResult <MedicalDeviceMigration> (request.Draw, totalRecords, totalRecords, pageData);

            return(response);
        }
コード例 #27
0
        /// <summary>
        /// 查询分页数据集
        /// </summary>
        /// <param name="param">DataTables 页面参数</param>
        /// <returns>返回Json数据集</returns>
        public JsonResult GetList(DataTableParam param, string gpsuserid)
        {
            try
            {
                Expression <Func <UserAccount, bool> > where = w => w.GpsUserId == gpsuserid;

                int _total = 0;
                var _data  = RepUserAccount.ListOffSet(param.Start, param.Length, out _total, where, false, o => o.AddTime).ToList();
                DataTablesResult <UserAccount> dtr = new DataTablesResult <UserAccount>(param.Draw, _total, _total, _data);
                return(Json(dtr));
            }
            catch
            {
                return(Json(new DataTablesResult <UserAccount>(0, 0, 0, new List <UserAccount>())));
            }
        }
コード例 #28
0
        public ActionResult GetAll(DataTablesParam request)
        {
            var user = _userService.GetAll().Select(a => new UserViewModel()
            {
                Id       = a.Id,
                UserName = a.Username,
                Status   = a.Status,
                Address  = a.Address,
                Email    = a.Email,
                FullName = a.FullName,
                Phone    = a.Phone,
                Role     = a.Role.Name
            });

            return(DataTablesResult.Create(user, request));
        }
コード例 #29
0
        /// <summary>
        /// 查询分页数据集
        /// </summary>
        /// <param name="param">DataTables 页面参数</param>
        /// <returns>返回Json数据集</returns>
        public JsonResult GetList(DataTableParam param, string keyword)
        {
            try
            {
                Expression <Func <GpsEdi, bool> > where = w => w.UserId != "";

                int _total = 0;
                var _data  = RepGpsedi.ListOffSet(param.Start, param.Length, out _total, where, false, o => o.GpsEdiTime).ToList();
                DataTablesResult <GpsEdi> dtr = new DataTablesResult <GpsEdi>(param.Draw, _total, _total, _data);
                return(Json(dtr));
            }
            catch
            {
                return(Json(new DataTablesResult <GpsEdi>(0, 0, 0, new List <GpsEdi>())));
            }
        }
コード例 #30
0
        public ActionResult GetAll(DataTablesParam request)
        {
            var now     = DateTime.Now;
            var weekAgo = now.AddDays(-7);
            var orders  = _ordersService.GetAll().Where(a => DbFunctions.TruncateTime(a.CreatedDate) >= DbFunctions.TruncateTime(weekAgo)).Select(a => new OrdersViewModel
            {
                Id        = a.Id,
                StrStatus = a.Status == 1 ? "Active" : "Inactive",

                CreatedDate = a.CreatedDate,
                User        = a.Account.Username,
                Total       = a.OrderDetails.Sum(x => x.Price * x.Quantity)
            });

            return(DataTablesResult.Create(orders, request));
        }
コード例 #31
0
        public DataTablesResult <PartnerGridModel> GetPartnersGridModel(DataTablesParam dataTableParam)
        {
            Contract.Assert(dataTableParam != null);
            Contract.Assert(dataTableParam.iDisplayLength != 0);

            var list = this.Manager.FindAll(new PartnerAll(true));

            var query = (from entity in list
                         select new PartnerGridModel
            {
                Id = entity.Id,
                Name = entity.Name,
                Disabled = entity.Disabled
            }).AsQueryable();

            return(DataTablesResult.Create(query, dataTableParam));
        }
コード例 #32
0
        public void ItMakesAppropriateQueries()
        {
            //arrange
            var source = DataContext.Models;
            var dataTablesParam = new DataTablesParam();
            dataTablesParam.iColumns = 2;
            dataTablesParam.bSearchable.Add(false);
            dataTablesParam.bSearchable.Add(true);

            dataTablesParam.sSearch = "Name 10";

            //act
            var result = new DataTablesResult<SomeModel, SomeModel>(source, dataTablesParam, model => model);
            var data = (DataTablesData) result.Data;
        
            //assert
            //TODO: need to check that appropriate SQL queries are made somehow.

        }
コード例 #33
0
 public virtual int[] ExecuteParams(DataTablesParam dataTablesParam)
 {
     var result = new DataTablesResult<SomeModel>(SomeModelQueryable, dataTablesParam);
     var data = result.Data;
     return data.aaData.Select(row => ((SomeModel)row).Id).ToArray();
 }
コード例 #34
0
        public DataTablesResult GetUsersGridModel(DataTablesParam dataTableParam)
        {
            Contract.Assert(dataTableParam != null);
            Contract.Assert(dataTableParam.iDisplayLength != 0);

            var pageIndex = dataTableParam.iDisplayStart / dataTableParam.iDisplayLength;
            var queryData = new UserAll { PageIndex = pageIndex, PageSize = dataTableParam.iDisplayLength };

            var query = this.Manager.FindAll(queryData);
            var count = this.Manager.Count(queryData);

            var list = (from u in query
                        select new[] 
                                { 
                                    u.Id.ToString(CultureInfo.InvariantCulture),
                                    u.Name,
                                    u.Email,
                                    u.UserPasswordCredential != null ? u.UserPasswordCredential.Login : string.Empty
                                }).OfType<object>().ToArray();

            var result = new DataTablesResult
                {
                    JsonRequestBehavior = JsonRequestBehavior.DenyGet,
                    Data = new DataTablesData
                        {
                            iTotalRecords = dataTableParam.iDisplayLength,
                            iTotalDisplayRecords = count,
                            sEcho = dataTableParam.sEcho, 
                            aaData = list
                        }
                };

            return result;
        }