Exemplo n.º 1
0
        public IActionResult UserListAjax(IDataTablesRequest request)
        {
            var users = userService.GetAllWithCompanies();

            var res = request.ApplyToQuery(users, opt => opt
                .ForColumn("Email")
                    .EnableGlobalSearch()
                .ForColumn("FirstName")
                    .EnableGlobalSearch()
                .ForColumn("LastName")
                    .EnableGlobalSearch()
                .ForColumn("CompanyName")
                    .MapToProperty(u => u.Company.Name)
                    .EnableGlobalSearch()
                    .IgnoreWhenSorting()
                .ForColumn("Role")
                    .SearchUsing((u, val) => u.Roles.Any(r => r.RoleId == int.Parse(val)))
                    .IgnoreWhenSorting()
            );

            var model = Mapper.Map<IEnumerable<User>, IEnumerable<UserListDatatableViewModel>>(res.QueryFiltered);

            var response = DataTablesResponse.Create(request, res.TotalRecords, res.TotalRecordsFiltered, model);

            return new DataTablesJsonResult(response, true);
        }
Exemplo n.º 2
0
        public DataTablesResponse GetListAuthor(IDataTablesRequest dataTableParam, ResourceAuthorSearchViewModel searchViewModel)
        {
            try
            {
                var query = ResourceRepository.GetAll(x => x.IsDeleted == false && x.Type == (int)ResourceType.Author, null, x => x.Authors);
                if (searchViewModel.AuthorId > 0)
                {
                    query = query.Where(x => x.Authors.Any(g => g.IsDeleted == false && g.Id == searchViewModel.AuthorId));
                }

                var dataTableHelper = new DataTableHelper<ResourceAuthorViewModel, Resource>(query, x => new ResourceAuthorViewModel
                {
                    Id = x.Id,
                    Url = x.Url,
                    Tag = x.Tag,
                    Author = x.Authors.AsQueryable().Any(y => y.IsDeleted == false) ? x.Authors.AsQueryable().FirstOrDefault().Name : ""
                });

                var entities = dataTableHelper.GetDataVMForResponse(dataTableParam);
                var result = dataTableHelper.GetDataToList(dataTableParam, entities);

                return new DataTablesResponse(dataTableParam.Draw, result, entities.Count(), entities.Count());
            }
            catch (Exception ex)
            {
                Provider.Instance.LogError(ex);
                return new DataTablesResponse(dataTableParam.Draw, new List<ResourceAuthorViewModel>(), 0, 0);
            }
        }
Exemplo n.º 3
0
        public IActionResult CompanyListAjax(IDataTablesRequest request)
        {
            var companies = companyService.GetAll();

            var res = request.ApplyToQuery(companies);

            var model = Mapper.Map<IEnumerable<Company>, IEnumerable<CompanyListDatatableViewModel>>(res.QueryFiltered);

            var response = DataTablesResponse.Create(request, res.TotalRecords, res.TotalRecordsFiltered, model);

            return new DataTablesJsonResult(response, true);
        }
        protected override void MapAditionalProperties(
            IDataTablesRequest requestModel,
            NameValueCollection requestParameters)
        {
            var request = (GetCampaignsDataTablesRequest) requestModel;
            var filterCurrencyIdString = Get<string>(requestParameters, "FilterCurrencyId");

            int filterCurrencyId;
            var parseResult = int.TryParse(filterCurrencyIdString, out filterCurrencyId);

            if (parseResult)
            {
                request.FilterCurrencyId = filterCurrencyId;
            }
        }
Exemplo n.º 5
0
        public IActionResult GetData(IDataTablesRequest request, string month = null, string year = null)
        {
            Expression <Func <TacticalResource, Object> >[] includes = { (x => x.Departement), (x => x.DepartementSub) };

            var FilterDate = "";

            if (!string.IsNullOrWhiteSpace(month) && !string.IsNullOrWhiteSpace(year))
            {
                int Month          = int.Parse(month);
                int Year           = int.Parse(year);
                var lastDayOfMonth = DateTime.DaysInMonth(Year, Month);
                var First          = Year + "-" + Month + "-01";
                var Last           = Year + "-" + Month + "-" + lastDayOfMonth;
                FilterDate = string.Format(@" DateSrf >= Convert.ToDateTime(""{0}"") &&  DateSrf <= Convert.ToDateTime(""{1}"")   ", DateTime.Parse(First), DateTime.Parse(Last));
            }

            var response = Service.GetDataTablesResponse <TacticalResourceDto>(request,
                                                                               Mapper, FilterDate, includes);

            return(new DataTablesJsonResult(response, true));
        }
Exemplo n.º 6
0
        public ActionResult IndexTable([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            IQueryable <StudentIndexModel> data =
                _dbContext.Users
                .Include(i => i.StudentExpressions)
                .Include(i => i.StudentPictures)
                .Where(x => x.IsStudent)
                .Project()
                .To <StudentIndexModel>().OrderBy(requestModel.Sort());

            if (requestModel.HasSearchValues())
            {
                data = data.Where(requestModel.SearchValues(), requestModel.Search.Value);
            }

            int totalRecords = data.Count();

            var response = new DataTablesResponse(requestModel.Draw, data, totalRecords, totalRecords);

            return(JsonSuccess(response, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public JsonResult GetGata([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            ScanTimeFilter SearchKey = SearchData(1, requestModel, "EmployeeNo", "EmployeeNo");

            //SearchKey.FromDate = SystemConfig.CurrentDate.AddDays(-30);
            //SearchKey.ToDate = SystemConfig.CurrentDate;
            SearchKey.FromDate     = SearchKey.FromDate;
            SearchKey.FromDate     = SearchKey.ToDate;
            SearchKey.EmployeeCode = CurrentUser.EmployeeCode;
            // SearchKey.Condition = " tbl.employeeID = " + CurrentUser.EmployeeCode + " ";
            // SearchKey.OrderBy = "Scan_Time";
            // SearchKey.OrderDirection = "Desc";
            hrm_atd_ScanTimeCollection collection = hrm_atd_ScanTimeManager.Search(SearchKey);
            int TotalRecord = 0;

            if (collection.Count > 0)
            {
                TotalRecord = collection[0].TotalRecord;
            }
            return(Json(new DataTablesResponse(requestModel.Draw, collection, TotalRecord, TotalRecord), JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 8
0
        public DataTablesJsonResult GetListGrades(IDataTablesRequest request, string name)
        {
            var dataPage = new List <Grades>();
            var total    = _context.Grades.Count();
            var filter   = 0;

            if (!string.IsNullOrWhiteSpace(name))
            {
                //phan trang tai dong request.Start va lay so luong tai request.Length
                filter   = _context.Grades.Where(x => x.Name.Contains(name)).Count();
                dataPage = _context.Grades.Where(x => x.Name.Contains(name)).Skip(request.Start).Take(request.Length).ToList();
            }
            else
            {
                filter   = total;
                dataPage = _context.Grades.Skip(request.Start).Take(request.Length).ToList();
            }
            var response = DataTablesResponse.Create(request, total, filter, dataPage);

            return(new DataTablesJsonResult(response, true));
        }
        public dynamic Search([FromQuery] OperatorCriteriaModel criteria, [FromQuery] IDataTablesRequest request)
        {
            try
            {
                var query     = _accountService.GetAll();
                var operators =
                    query
                    .Select(x => _mapper.Map <OperatorItemModel>(x))
                    .ToList()
                    .AsQueryable();

                var filteredData = operators;

                return(ToDataTableResponse <OperatorItemModel>(filteredData, request));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, this.GetType().Name);
                return(ToDataTableResponse <OperatorItemModel>());
            }
        }
Exemplo n.º 10
0
        public DataTablesResponse GetPaginated(IDataTablesRequest request)
        {
            var query      = GetQuery().Where(n => n.UserId == CurrentUserId && !n.Seen);
            var totalCount = query.Count();

            if (!string.IsNullOrEmpty(request.Search.Value))
            {
                var value = request.Search.Value.Trim();
                //query = query.Where(o => o.Description.Contains(value));
            }

            var filteredCount = query.Count();

            var vmList = Builder.BuildNotificationList(query.ToList());

            //vmList.FormatDates(pastTime: false);
            //vmList.FormatTitle();
            //vmList.FormatUrls();

            return(DataTablesResponse.Create(request, totalCount, filteredCount, vmList.List));
        }
        /// <summary>
        /// Creates a new response instance.
        /// </summary>
        /// <param name="request">The request object.</param>
        /// <param name="errorMessage">Error message.</param>
        /// <returns>The response object.</returns>
        public static DataTablesResponse Create(IDataTablesRequest request, string errorMessage, IDictionary <string, object> additionalParameters)
        {
            // When request is null, there should be no response (null response).
            if (request == null)
            {
                return(null);
            }

            if (Configuration.Options.IsDrawValidationEnabled)
            {
                // When draw validation is in place, response must have a draw value equals to or greater than 1.
                // Any other value besides that represents an invalid draw request and response should be null.

                if (request.Draw < 1)
                {
                    return(null);
                }
            }

            return(new DataTablesResponse(request.Draw, errorMessage, additionalParameters));
        }
Exemplo n.º 12
0
        //public ContentResult Get(string EmployeeNo, string WD)
        //{



        //    return Content(JsonConvert.SerializeObject(collection), "application/json");
        //    //return View(ViewFolder + "EmpTms.cshtml");
        //}
        public JsonResult GetGata([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            MissCanTimePara b = new MissCanTimePara()
            {
                StartDate = DateTime.Now.AddDays(-31),

                EndDate      = DateTime.Now,
                EmployeeCode = 0,
                EntityID     = 10001
            };
            MissingScanTimeCollection collection = ReportManager.GetExMonthlyReport(b);

            //    SearchFilter SearchKey = SearchFilter.SearchData(1, requestModel, "Id", "Id");
            //    T_LMS_Trans_LeaveStoryCollection collection = T_LMS_Trans_LeaveStoryManager.Search(SearchKey);
            //    int TotalRecord = 0;
            //    if (collection.Count > 0)
            //    {
            //        TotalRecord = collection[0].TotalRecord;
            //    }
            return(Json(new DataTablesResponse(requestModel.Draw, collection, collection.Count, collection.Count), JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 13
0
        /// <summary>
        /// Get single PIP page
        /// </summary>
        /// <param name="request"></param>
        /// <param name="userID"></param>
        /// <returns></returns>
        public async Task <DataTablesResult <vwPIP> > GetPIPPage(IDataTablesRequest request, int?userID = default(int?))
        {
            var user = await _userService.GetAsync(us => us.ID == userID);

            var fRole     = user.Roles.FirstOrDefault();
            var userAgent = (await _userAgentService.FindByAsync(ua => ua.UserID == userID)).FirstOrDefault();

            Expression <Func <vwPIP, bool> > predicate = ConstructFilter <vwPIP> (userID, fRole.RoleCode, userAgent?.AgentID, request.Search.Value);

            //order by expression
            OrderBy <vwPIP> orderBy = new OrderBy <vwPIP> (qry => qry.OrderBy(e => e.ImportPermitStatusPriority).ThenBy(x => x.SubmissionDate));

            if (!string.IsNullOrEmpty(fRole.RoleCode) && fRole.RoleCode == "PIPA")
            {
                orderBy = new OrderBy <vwPIP> (qry => qry.OrderByDescending(e => e.SubmissionDate));
            }

            DataTablesResult <vwPIP> response = await _vwPIPService.GetPageAsync(request, predicate, orderBy.Expression);

            return(response);
        }
Exemplo n.º 14
0
        public DataTablesResponse SearchApi(IDataTablesRequest requestModel)
        {
            IQueryable <CinemaScreen> query = uow.CinemaScreens.GetAll().AsQueryable();

            var totalCount = query.Count();

            // Apply filters
            if (requestModel.Search.Value != string.Empty)
            {
                var value = string.IsNullOrEmpty(requestModel.Search.Value) ? "" : requestModel.Search.Value.Trim();
                query = query.Where(p => p.Cinema.Name.Contains(value) ||
                                    p.CinemaOwner.Name.Contains(value) ||
                                    p.Name.Contains(value) ||
                                    p.Cinema.Location.Contains(value)
                                    );
            }

            var filteredCount = query.Count();

            // Sorting
            var orderColums = requestModel.Columns.Where(x => x.Sort != null);

            //paging
            var data = query.OrderBy(orderColums).Skip(requestModel.Start).Take(requestModel.Length);

            var transformedData = from tr in data
                                  select new
            {
                Id          = tr.Id,
                Name        = tr.Name,
                CinemaOwner = tr.CinemaOwner.Name,
                Cinema      = tr.Cinema.Name,
                Location    = tr.Cinema.Location,
                Capacity    = tr.NoOfSeats
            };

            DataTablesResponse response = DataTablesResponse.Create(requestModel, totalCount, filteredCount, transformedData);

            return(response);
        }
Exemplo n.º 15
0
        public DataTablesResponse SearchApi(IDataTablesRequest requestModel)
        {
            IQueryable <AppUser> query = _userManager.Users;

            var totalCount = query.Count();

            // Apply filters
            if (requestModel.Search.Value != string.Empty)
            {
                var value = string.IsNullOrEmpty(requestModel.Search.Value) ? "" : requestModel.Search.Value.Trim();
                query = query.Where(p => p.Email.Contains(value) ||
                                    p.UserName.Contains(value) ||
                                    p.FirstName.Contains(value) ||
                                    p.LastName.Contains(value)
                                    );
            }

            var filteredCount = query.Count();

            // Sorting
            var orderColums = requestModel.Columns.Where(x => x.Sort != null);

            //paging
            var data = query.OrderBy(orderColums).Skip(requestModel.Start).Take(requestModel.Length);

            var transformedData = from tr in data
                                  select new
            {
                Id        = tr.Id,
                UserName  = tr.UserName,
                FirstName = tr.FirstName,
                LastName  = tr.LastName,
                Email     = tr.Email,
                Status    = true
            };

            DataTablesResponse response = DataTablesResponse.Create(requestModel, totalCount, filteredCount, transformedData);

            return(response);
        }
        public JsonResult BindOpportunities_Tasks([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel, int OpportunityId = 0, int AssignedUserId = 0, int StatusId = 0, string StartDate = "", string EndDate = "")
        {
            try
            {
                int totalRecord    = 0;
                int filteredRecord = 0;
                ProjectSession.OpportunitiesTaskOppotunitiesID = OpportunityId;
                ProjectSession.OpportunitiesTaskUserID         = AssignedUserId;
                ProjectSession.OpportunitiesTaskStatusID       = StatusId;
                ProjectSession.OpportunitiesTaskStartDate      = StartDate;
                ProjectSession.OpportunitiesTaskEndDate        = EndDate;

                PageParam pageParam = new PageParam();
                pageParam.Offset = requestModel.Start;
                pageParam.Limit  = requestModel.Length;
                string Search = requestModel.Search.Value;

                if (requestModel.Draw == 1)
                {
                    pageParam.SortBy        = requestModel.Columns.ElementAt(5).Data;
                    pageParam.SortDirection = "Descending";
                }
                else
                {
                    pageParam.SortBy        = requestModel.Columns.ElementAt(requestModel.OrderColumn).Data;
                    pageParam.SortDirection = requestModel.OrderDir.ToUpper() == "DESC" ? "Descending" : "Ascending";
                }

                var model = abstractOpportunities_TasksServices.Opportunities_TasksSelectAll(pageParam, Search, OpportunityId, AssignedUserId, StatusId, StartDate, EndDate);

                totalRecord    = (int)model.TotalRecords;
                filteredRecord = (int)model.TotalRecords;

                return(Json(new DataTablesResponse(requestModel.Draw, model.Values, filteredRecord, totalRecord), JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new object[] { Enums.MessageType.danger.GetHashCode(), Enums.MessageType.danger.ToString(), "Something Went Wrong" }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 17
0
        public JsonResult LiquorApplication([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel, string LiquorApplicationID, string IndividualMkNo)
        {
            List <TradingLicense.Model.LiquorApplicationModel> LiquorApplication = new List <Model.LiquorApplicationModel>();
            int totalRecord = 0;

            using (var ctx = new LicenseApplicationContext())
            {
                IQueryable <LiquorApplication> query = (ProjectSession.User != null && ProjectSession.User.RoleTemplateID == (int)RollTemplate.Public) ? ctx.LiquorApplications.Where(p => p.UsersID == ProjectSession.User.UsersID) : ctx.LiquorApplications;

                if (!string.IsNullOrWhiteSpace(LiquorApplicationID))
                {
                    query = query.Where(q => q.LiquorApplicationID.ToString().Contains(LiquorApplicationID));
                }

                #region Sorting
                // Sorting
                var sortedColumns = requestModel.Columns.GetSortedColumns();
                var orderByString = String.Empty;

                foreach (var column in sortedColumns)
                {
                    orderByString += orderByString != String.Empty ? "," : "";
                    orderByString += (column.Data) +
                                     (column.SortDirection ==
                                      Column.OrderDirection.Ascendant ? " asc" : " desc");
                }

                var result = Mapper.Map <List <LiquorApplicationModel> >(query.ToList());
                result = result.OrderBy(orderByString == string.Empty ? "LiquorApplicationID asc" : orderByString).ToList();

                totalRecord = result.Count();

                #endregion Sorting

                // Paging
                result            = result.Skip(requestModel.Start).Take(requestModel.Length).ToList();
                LiquorApplication = result;
            }
            return(Json(new DataTablesResponse(requestModel.Draw, LiquorApplication, totalRecord, totalRecord), JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 18
0
        public JsonResult GetResolvedChecks([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            IQueryable <CheckViewModel> query = DataManager.GetResolvedChecksAsQueryable();
            var totalCount = query.Count();

            // Apply filters for searching
            if (requestModel.Search.Value != string.Empty)
            {
                var value = requestModel.Search.Value.Trim();
                query = query.Where(p => p.Name.Contains(value) ||
                                    p.sRecordID.Contains(value) ||
                                    p.sInterviewRecordID.Contains(value) ||
                                    p.sNum.Contains(value) ||
                                    p.sDate.Contains(value) ||
                                    p.Service.Contains(value) ||
                                    p.Disposition.Contains(value)
                                    );
            }

            var filteredCount = query.Count();

            query = query.OrderBy("Name asc");

            // Paging
            query = query.Skip(requestModel.Start).Take(requestModel.Length);

            var data = query.Select(rcheck => new
            {
                sRecordID          = rcheck.sRecordID,
                sInterviewRecordID = rcheck.sInterviewRecordID,
                Name = rcheck.Name,
                sNum = rcheck.sNum,
                //  Date = rcheck.Date,
                sDate       = rcheck.sDate,
                Service     = rcheck.Service,
                Disposition = rcheck.Disposition
            }).ToList();

            return(Json(new DataTablesResponse(requestModel.Draw, data, filteredCount, totalCount), JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 19
0
        public DataTablesResponse SearchApi(IDataTablesRequest requestModel)
        {
            IQueryable <Movie> query = uow.Movies.GetAll().AsQueryable();

            var totalCount = query.Count();

            // Apply filters
            if (requestModel.Search.Value != string.Empty)
            {
                var value = string.IsNullOrEmpty(requestModel.Search.Value) ? "" : requestModel.Search.Value.Trim();
                query = query.Where(p => p.Name.Contains(value) ||
                                    p.MovieCategory.Name.Contains(value) ||
                                    (p.Producer.FirstName + p.Producer.LastName).Contains(value)
                                    );
            }

            var filteredCount = query.Count();

            // Sorting
            var orderColums = requestModel.Columns.Where(x => x.Sort != null);

            //paging
            var data = query.OrderBy(orderColums).Skip(requestModel.Start).Take(requestModel.Length);

            var transformedData = from tr in data
                                  select new
            {
                Id              = tr.Id,
                Name            = tr.Name,
                MovieCategory   = tr.MovieCategory.Name,
                MovieCategoryId = tr.MovieCategoryId,
                //Producer = tr.Producer.FirstName + " " + tr.Producer.LastName,
                Duration    = tr.Duration,
                ReleaseDate = tr.ReleaseDate.ToShortDateString()
            };

            DataTablesResponse response = DataTablesResponse.Create(requestModel, totalCount, filteredCount, transformedData);

            return(response);
        }
        public ActionResult OverviewAjax(IDataTablesRequest request, int companyID, int?currencyID)
        {
            var data = companyFinanceSummaryRepository.Where(s => s.CompanyID == companyID);

            if (currencyID.HasValue)
            {
                data = data.Where(s => s.CurrencyID == currencyID);
            }
            var dataCount = data.Count();

            var dataFilteredCount = data.Count();

            if (request.Columns.First()?.Sort?.Direction == SortDirection.Ascending)
            {
                data = data.OrderBy(o => o.Day);
            }
            else
            {
                data = data.OrderByDescending(o => o.Day);
            }


            data = data.Skip(request.Start).Take(request.Length);

            var dataPage = data.ToList().Select(s => new
            {
                day            = s.Day,
                currencySymbol = s.Currency.Symbol,
                total          = new CompanyFinance(s).Total
            });

            // Response creation. To create your response you need to reference your request, to avoid
            // request/response tampering and to ensure response will be correctly created.
            var response = DataTablesResponse.Create(request, dataCount, dataFilteredCount, dataPage);

            // Easier way is to return a new 'DataTablesJsonResult', which will automatically convert your
            // response to a json-compatible content, so DataTables can read it when received.
            return(new DataTablesJsonResult(response, JsonRequestBehavior.DenyGet));
        }
Exemplo n.º 21
0
        public ActionResult Get([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            var userRequestModel = new UserRequestModel(requestModel.Start,
                                                        requestModel.Length,
                                                        requestModel.Search.Value,
                                                        requestModel.Columns.GetSortedColumns().First().Data,
                                                        requestModel.Columns.GetSortedColumns().First().SortDirection);
            var datatablesResponse = _cache.Get(userRequestModel);

            if (datatablesResponse == null)
            {
                datatablesResponse = GetDataFromDatabase(requestModel);
                _cache.Add(userRequestModel, datatablesResponse);
            }
            else
            {
                //Draw property has to be renewed each Get
                datatablesResponse = new DataTablesResponse(requestModel.Draw, datatablesResponse.data, datatablesResponse.recordsFiltered, datatablesResponse.recordsTotal);
            }

            return(Json(datatablesResponse, JsonRequestBehavior.AllowGet));
        }
        public JsonResult BindCallLog([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel, string TaskId = "MA==", string StartDate = "", string EndDate = "", int DateType = 0)
        {
            try
            {
                int totalRecord    = 0;
                int filteredRecord = 0;

                ProjectSession.CallLogDateType  = DateType;
                ProjectSession.CallLogStartDate = StartDate;
                ProjectSession.CallLogEndDate   = EndDate;

                PageParam pageParam = new PageParam();
                pageParam.Offset = requestModel.Start;
                pageParam.Limit  = requestModel.Length;
                string Search = requestModel.Search.Value;

                if (requestModel.Draw == 1)
                {
                    pageParam.SortBy        = requestModel.Columns.ElementAt(5).Data;
                    pageParam.SortDirection = "Descending";
                }
                else
                {
                    pageParam.SortBy        = requestModel.Columns.ElementAt(requestModel.OrderColumn).Data;
                    pageParam.SortDirection = requestModel.OrderDir.ToUpper() == "DESC" ? "Descending" : "Ascending";
                }

                var model = abstractCallLogServices.CallLogSelectAll(pageParam, Search, Convert.ToInt32(ConvertTo.Base64Decode(TaskId)), StartDate, EndDate, DateType);

                totalRecord    = (int)model.TotalRecords;
                filteredRecord = (int)model.TotalRecords;

                return(Json(new DataTablesResponse(requestModel.Draw, model.Values, filteredRecord, totalRecord), JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new object[] { Enums.MessageType.danger.GetHashCode(), Enums.MessageType.danger.ToString(), "Something Went Wrong" }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 23
0
        public JsonResult GetSitemapNodeID([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel, Guid?NodeID)
        {
            SearchFilter SearchKey = SearchFilter.SearchData(CurrentUser.CompanyID, requestModel, "NodeID", "NodeID");

            if (NodeID.HasValue && NodeID != Guid.Empty)
            {
                SearchKey.Condition = " (ParentID='" + NodeID + "')  ";
            }
            else
            {
                SearchKey.Condition = " (ParentID is null)  ";
            }

            DNHSiteMapCollection collection = DNHSiteMapManager.Search(SearchKey);
            int TotalRecord = 0;

            if (collection.Count > 0)
            {
                TotalRecord = collection[0].TotalRecord;
            }
            return(Json(new DataTablesResponse(requestModel.Draw, collection, TotalRecord, TotalRecord), JsonRequestBehavior.AllowGet));
        }
        public async Task <IActionResult> ListAssignments(IDataTablesRequest request)
        {
            var model = new AssignmentFilterModel();

            await TryUpdateModelAsync(model);

            var requests = _dbContext.Requests.GetRequestsForInterpreter(User.GetInterpreterId());

            return(AjaxDataTableHelper.GetData(request, requests.Count(), model.Apply(requests, _clock), x => x.Select(r =>
                                                                                                                       new RequestListItemModel
            {
                RequestId = r.RequestId,
                LanguageName = r.Order.OtherLanguage ?? r.Order.Language.Name,
                OrderNumber = r.Order.OrderNumber,
                CustomerName = r.Order.CustomerOrganisation.Name,
                RegionName = r.Order.Region.Name,
                ExpiresAt = r.ExpiresAt,
                StartAt = r.Order.StartAt,
                EndAt = r.Order.EndAt,
                Status = r.Status
            })));
        }
Exemplo n.º 25
0
        /// <summary>
        /// This is your data method.
        /// DataTables will query this (HTTP GET) to fetch data to display.
        /// </summary>
        /// <param name="request">
        /// This represents your DataTables request.
        /// It's automatically binded using the default binder and settings.
        ///
        /// You should use IDataTablesRequest as your model, to avoid unexpected behavior and allow
        /// custom binders to be attached whenever necessary.
        /// </param>
        /// <returns>
        /// Return data here, with a json-compatible result.
        /// </returns>
        public ActionResult PageData(IDataTablesRequest request)
        {
            // Nothing important here. Just creates some mock data.
            var data = Models.SampleEntity.GetSampleData();

            // Global filtering.
            // Filter is being manually applied due to in-memmory (IEnumerable) data.
            // If you want something rather easier, check IEnumerableExtensions Sample.
            var filteredData = data.Where(_item => _item.Name.Contains(request.Search.Value));

            // Paging filtered data.
            // Paging is rather manual due to in-memmory (IEnumerable) data.
            var dataPage = filteredData.Skip(request.Start).Take(request.Length);

            // Response creation. To create your response you need to reference your request, to avoid
            // request/response tampering and to ensure response will be correctly created.
            var response = DataTablesResponse.Create(request, data.Count(), filteredData.Count(), dataPage);

            // Easier way is to return a new 'DataTablesJsonResult', which will automatically convert your
            // response to a json-compatible content, so DataTables can read it when received.
            return(new DataTablesJsonResult(response, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 26
0
        public virtual JsonResult LoadClientes([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            var request = requestModel.ConvertToDataTableRequestViewModel();

            var response = _clienteService.GetClientes(request);

            if (!response.IsValid)
            {
                return(null);
            }

            var result = from c in response.ClienteViewModel
                         select new object[]
            {
                c.Nombre,
                this.RenderRazorViewToString("actionColumnClientes", c)
            };

            var jsonResponse = new DataTablesResponse(requestModel.Draw, result, response.TotalElementos, response.TotalElementos);

            return(Json(jsonResponse, JsonRequestBehavior.AllowGet));
        }
        private static IQueryable <TItem> ApplySearch <TItem>(IDataTablesRequest request, IQueryable <TItem> query)
        {
            var search    = request.Search;
            var parameter = Expression.Parameter(typeof(TItem));

            if (search != null && !string.IsNullOrEmpty(search.Value) && !search.IsRegex)
            {
                var searchableColumns = request.Columns.Where(c => c.IsSearchable)
                                        .Select(c => CreateSearchFilter <TItem>(parameter, c, search.Value))
                                        .Where(e => e != null)
                                        .ToList();
                if (searchableColumns.Any())
                {
                    var searchExpression = searchableColumns.Aggregate(Expression.OrElse);

                    var searched = query.Where(Expression.Lambda <Func <TItem, bool> >(searchExpression, parameter));
                    return(searched);
                }
            }

            return(query);
        }
Exemplo n.º 28
0
        public virtual DataTablesResponse GetDataTablesResponseByQuery <TDto>(
            IDataTablesRequest request,
            IMapper mapper,
            IQueryable data)
        {
            var searchQuery = request.Search.Value;

            var filteredData = data.AsQueryable();

            var globalFilter = request.Columns.GetFilter(searchQuery, "OR");

            if (!string.IsNullOrEmpty(globalFilter))
            {
                filteredData = filteredData.Where(globalFilter);
            }

            var filter = request.Columns.GetFilter();

            if (!string.IsNullOrEmpty(filter))
            {
                filteredData = filteredData.Where(filter);
            }

            var sort = request.Columns.GetSort();

            if (!string.IsNullOrEmpty(sort))
            {
                filteredData = filteredData.OrderBy(sort);
            }

            var dataPage = filteredData.Skip(request.Start).Take(request.Length);

            var response = DataTablesResponse.Create(request,
                                                     data.Count(),
                                                     filteredData.Count(),
                                                     mapper.Map <List <TDto> >(dataPage));

            return(response);
        }
Exemplo n.º 29
0
        public DataTablesResponse SearchApi(IDataTablesRequest requestModel)
        {
            IQueryable <NotificationSubscription> query = uow.NotificationSubscriptions.GetAll().AsQueryable();

            var totalCount = query.Count();

            // Apply filters
            if (!string.IsNullOrEmpty(requestModel.Search.Value))
            {
                var value = requestModel.Search.Value.Trim();
                query = query.Where(p => p.FullName.ToLower().Contains(value.ToLower()) ||
                                    p.Mobile.ToLower().Contains(value.ToLower()) ||
                                    p.Pin.ToLower().Contains(value.ToLower())
                                    //p.Email.Contains(value)
                                    );
            }

            var filteredCount = query.Count();

            // Sorting
            var orderColums = requestModel.Columns.Where(x => x.Sort != null);

            //paging
            var data = query.OrderBy(orderColums).Skip(requestModel.Start).Take(requestModel.Length);

            var transformedData = from tr in data
                                  select new
            {
                Id       = tr.Id,
                FullName = tr.FullName,
                Pin      = tr.Pin,
                Mobile   = tr.Mobile,
                Email    = tr.Email
            };

            DataTablesResponse response = DataTablesResponse.Create(requestModel, totalCount, filteredCount, transformedData);

            return(response);
        }
Exemplo n.º 30
0
        public async Task <DataTablesResponse> MasterItemDataTable([ModelBinder(BinderType = typeof(ModelBinder))] IDataTablesRequest requestModel)
        {
            var query = _dbContext.MasterItems.Select(x => new
            {
                x.Id,
                x.Name,
                x.Rate,
                x.Stock
            });

            int totalCount = await query.CountAsync();

            if (!string.IsNullOrEmpty(requestModel.Search.Value))
            {
                var value = requestModel.Search.Value.Trim();
                value = (string.IsNullOrEmpty(value)) ? value : value.ToLower();

                query = query.Where(x => x.Name.Contains(value));
            }

            int filterCount = await query.CountAsync();

            var    sortedColumns = requestModel.Columns.Where(x => x.Sort != null);
            string orderByString = string.Empty;

            foreach (var column in sortedColumns)
            {
                orderByString = orderByString != string.Empty ? "," : "";
                orderByString = (column.Field) + (column.Sort.Direction == SortDirection.Ascending ? "asc" : "desc");
            }

            query = query.OrderBy(orderByString == string.Empty ? "id asc" : orderByString);

            query = query.Skip(requestModel.Start).Take(requestModel.Length);

            var data = await query.ToListAsync();

            return(DataTablesResponse.Create(requestModel, totalCount, filterCount, data));
        }
Exemplo n.º 31
0
        public ActionResult GetAvailableUsers(IDataTablesRequest request)
        {
            IDataTablesResponse response = null;

            try
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                var data = userRepository.GetAll().Where(usr => usr.IsVisible && usr.Id != User.Identity.GetUserId());

                if (!string.IsNullOrEmpty(request.Search.Value))
                {
                    data = data.Where(item => item.FullName.Contains(request.Search.Value) || item.UserName.Contains(request.Search.Value) || item.Email.Contains(request.Search.Value));
                }

                var orderings = request.Columns
                                .Where(c => c.Sort != null)
                                .OrderBy(c => c.Sort.Order)
                                .Select(c => $"{c.Name} {c.Sort.Direction}")
                                .DefaultIfEmpty($"{nameof(ApplicationUser.FullName)} asc")
                                .Aggregate((current, next) => current + ", " + next);

                var orderedData = data.OrderBy(orderings);

                var dataPage = orderedData.Skip(request.Start).Take(request.Length).Select(usr => new { username = usr.UserName, fullname = usr.FullName, email = usr.Email });

                response = DataTablesResponse.Create(request, data.Count(), orderedData.Count(), dataPage);
            }
            catch (Exception ex)
            {
                logger.Error(ex, "GetAvailableUsers");
            }

            return(new DataTablesJsonResult(response ?? DataTablesResponse.Create(request, "No data available."), JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 32
0
        public ActionResult GetMyMessages(IDataTablesRequest request)
        {
            IDataTablesResponse response = null;

            try
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }
                var d    = messageRepository.GetMessagesByUserId(User.Identity.GetUserId());
                var data = Mapper.Map <IEnumerable <MessageViewModel> >(d);

                if (!string.IsNullOrEmpty(request.Search.Value))
                {
                    data = data.Where(itm => itm.Sender.Contains(request.Search.Value) || itm.Sent.ToString().Contains(request.Search.Value));
                }

                var orderings = request.Columns
                                .Where(c => c.Sort != null)
                                .OrderBy(c => c.Sort.Order)
                                .Select(c => $"{c.Name} {c.Sort.Direction}")
                                .DefaultIfEmpty($"{nameof(BaseMessage.Sent)} asc")
                                .Aggregate((current, next) => current + ", " + next);

                var orderedData = data.OrderBy(orderings);

                var dataPage = orderedData.Skip(request.Start).Take(request.Length);

                response = DataTablesResponse.Create(request, data.Count(), orderedData.Count(), dataPage);
            }
            catch (Exception ex)
            {
                logger.Error(ex, "GetMyMessages");
            }

            return(new DataTablesJsonResult(response ?? DataTablesResponse.Create(request, "No data available."), JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 33
0
        public ActionResult PageData(IDataTablesRequest request)
        {
            // Nothing important here. Just creates some mock data.
            var db   = new CodeFirst.CodeFirst();
            var data = db.Donation_Line.Where(d => d.ProjectID == null).ToList();

            var newData = (from d in data
                           join i in db.Donation_Item.ToList() on d.DonationItemID equals i.DonationItemID
                           select new
            {
                DonationID = d.DonationID,
                LineID = d.LineID,
                Description = d.Description,
                ItemName = i.Description,
                DonationAmount = d.DonationAmount
            }).ToList();

            // Global filtering.
            // Filter is being manually applied due to in-memmory (IEnumerable) data.
            // If you want something rather easier, check IEnumerableExtensions Sample.
            var filteredData = newData.Where(_item =>
                                             _item.Description.ToUpper().Contains(request.Search.Value.ToUpper()) ||
                                             _item.ItemName.ToUpper().Contains(request.Search.Value.ToUpper()) ||
                                             _item.DonationAmount.ToString().ToUpper().Contains(request.Search.Value.ToUpper())
                                             );

            // Paging filtered data.
            // Paging is rather manual due to in-memmory (IEnumerable) data.
            var dataPage = filteredData.Skip(request.Start).Take(request.Length);

            // Response creation. To create your response you need to reference your request, to avoid
            // request/response tampering and to ensure response will be correctly created.
            var response = DataTablesResponse.Create(request, data.Count(), filteredData.Count(), dataPage);

            // Easier way is to return a new 'DataTablesJsonResult', which will automatically convert your
            // response to a json-compatible content, so DataTables can read it when received.
            return(new DataTablesJsonResult(response, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 34
0
        public ActionResult GetCustomers(IDataTablesRequest request)
        {
            string search = request.Search.Value;

            int searchInt = 0;

            try
            {
                searchInt = Int32.Parse(search);
            }
            catch (Exception)
            {
                searchInt = 0;
            }

            _dbContext.Configuration.LazyLoadingEnabled   = false;
            _dbContext.Configuration.ProxyCreationEnabled = false;
            var data         = _dbContext.Customers;
            var filteredData = data.Where(
                _item =>
                _item.CustomerID == searchInt ||
                _item.Address1.Contains(request.Search.Value) ||
                _item.Address2.Contains(request.Search.Value) ||
                _item.City.Contains(request.Search.Value) ||
                //_item.Comments.Contains(request.Search.Value)   ||  // Some items are excluded because they aren't in the grid and so the match can be confusing.
                _item.Company.Contains(request.Search.Value) ||
                _item.Country.Contains(request.Search.Value) ||
                //_item.Fax.Contains(request.Search.Value)        ||
                //_item.PhoneNo.Contains(request.Search.Value)    ||
                //_item.PostalCode.Contains(request.Search.Value) ||
                _item.Province.Contains(request.Search.Value)
                );
            var orderColums = request.Columns.Where(x => x.Sort != null);
            var dataPage    = filteredData.OrderBy(orderColums).Skip(request.Start).Take(request.Length);
            var response    = DataTablesResponse.Create(request, data.Count(), filteredData.Count(), dataPage);

            return(new DataTablesJsonResult(response, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 35
0
 public ActionResult GetListUser(IDataTablesRequest dataTableParam, UserSearchViewModel searchViewModel)
 {
     return Json(UserBusiness.GetList(dataTableParam, searchViewModel));
 }
Exemplo n.º 36
0
 public ActionResult GetListGenre(IDataTablesRequest dataTableParam, ResourceGenreSearchViewModel searchViewModel)
 {
     return Json(ResourceBusiness.GetListGenre(dataTableParam, searchViewModel));
 }
        private PagedData<Task> GetTasks(IDataTablesRequest request, TaskFilter taskFilter)
        {
            var filter = (taskFilter ?? new TaskFilter()).ByString(request.Search.Value);
            //.WithPaging(request.Length, request.Start / request.Length);
            var query = Query.ForTask(filter).Include(x => x.Project().TaskSteps().SpentTimes());

            var pageSize = request.Length;
            var pageNumber = request.Start / request.Length;

            PagedData<Task> tasks = null;
            var sorting = request.Sortings<TaskListColumns>().FirstOrDefault();
            if (sorting != null)
            {
                var column = sorting.Item1;
                var direction = sorting.Item2;

                if (columnsWithClientSorting.Contains(column))
                {
                    tasks = this.GetSortedOnClientTasks(query, pageSize, pageNumber, column, direction);
                }
                else
                {
                    tasks = this.GetSortedOnServerTasks(query, pageSize, pageNumber, column, direction);
                }
            }
            else
            {
                tasks = this.GetTasksWithoutSorting(query, pageSize, pageNumber);
            }
            return tasks;
        }
Exemplo n.º 38
0
        public DataTablesResponse GetList(IDataTablesRequest dataTableParam, UserSearchViewModel searchViewModel)
        {
            try
            {
                var query = UserRepository.GetAll(x => x.IsDeleted == false, null, x => x.Role);

                if (searchViewModel.ActiveType != (int)ActiveType.All)
                {
                    switch (searchViewModel.ActiveType)
                    {
                        case (int)ActiveType.Active:
                            {
                                query = query.Where(x => x.IsActive);
                                break;
                            }

                        case (int)ActiveType.InActive:
                            {
                                query = query.Where(x => !x.IsActive);
                                break;
                            }
                    }
                }

                if (searchViewModel.RoleName != Constants.AllValue.ToString())
                {
                    query = query.Where(x => x.Role.Name == searchViewModel.RoleName);
                }

                var dataTableHelper = new DataTableHelper<UserViewModel, User>(query, x => new UserViewModel
                {
                    Id = x.Id,
                    Email = x.Email,
                    FullName = x.FirstName + " " + x.LastName,
                    Role = x.Role.Name,
                    IsActive = x.IsActive
                });

                var entities = dataTableHelper.GetDataVMForResponse(dataTableParam);
                var result = dataTableHelper.GetDataToList(dataTableParam, entities);

                return new DataTablesResponse(dataTableParam.Draw, result, entities.Count(), entities.Count());
            }
            catch (Exception ex)
            {
                Provider.Instance.LogError(ex);
                return new DataTablesResponse(dataTableParam.Draw, new List<UserViewModel>(), 0, 0);
            }
        }