public ActionResult List(ListViewModel model) { // filter bilgilerinin default boş değerlerle doldurulması sağlanıyor if (model.Filter == null) { model.Filter = new ListFilterViewModel(); } if (!model.CurrentPage.HasValue) { model.CurrentPage = 1; } if (!model.PageSize.HasValue) { model.PageSize = 10; } RoomSearchFilter searchFilter = new RoomSearchFilter(); searchFilter.CurrentPage = model.CurrentPage.HasValue ? model.CurrentPage.Value : 1; searchFilter.PageSize = model.PageSize.HasValue ? model.PageSize.Value : 10; searchFilter.SortOn = model.SortOn; searchFilter.SortDirection = model.SortDirection; searchFilter.Filter_Name = model.Filter.Filter_Name; model.DataList = _roomService.GetAllPaginatedWithDetailBySearchFilter(searchFilter); return(View(model)); }
public async Task <HttpResponseMessage> Get(RoomSearchFilter filter) { if (filter != null) { var session = (Session)ContextOperator.Get(ContextKeys.SESSION_ID); filter.CompanyId = session.CompanyId; filter.UserId = session.UserId; var collection = await Task.Run(() => { return(this._roomService.Get(filter)); }); return(Request.CreateResponse(HttpStatusCode.OK, new ResponseMessage <object>(true, "Succeeded", collection))); } return(await Task.Run(() => Request.CreateResponse(HttpStatusCode.OK, new ResponseMessage <object>(false, MessageString.INVALID_REQUEST_PARMS, null)))); }
public PaginatedList <Room> GetAllPaginatedWithDetailBySearchFilter(RoomSearchFilter searchFilter) { PaginatedList <Room> resultList = new PaginatedList <Room>(new List <Room>(), 0, searchFilter.CurrentPage, searchFilter.PageSize, searchFilter.SortOn, searchFilter.SortDirection); using (AppDBContext dbContext = new AppDBContext(_config)) { var query = from a in dbContext.Room select a; // filtering if (!string.IsNullOrEmpty(searchFilter.Filter_Name)) { query = query.Where(r => r.Name.Contains(searchFilter.Filter_Name)); } // asnotracking query = query.AsNoTracking(); //total count var totalCount = query.Count(); //sorting if (!string.IsNullOrEmpty(searchFilter.SortOn)) { // using System.Linq.Dynamic.Core; nuget paketi ve namespace eklenmelidir, dynamic order by yapmak icindir query = query.OrderBy(searchFilter.SortOn + " " + searchFilter.SortDirection.ToUpper()); } else { // deefault sıralama vermek gerekiyor yoksa skip metodu hata veriyor ef 6'da -- 28.10.2019 15:40 // https://stackoverflow.com/questions/3437178/the-method-skip-is-only-supported-for-sorted-input-in-linq-to-entities query = query.OrderBy(r => r.Id); } //paging query = query.Skip((searchFilter.CurrentPage - 1) * searchFilter.PageSize).Take(searchFilter.PageSize); resultList = new PaginatedList <Room>( query.ToList(), totalCount, searchFilter.CurrentPage, searchFilter.PageSize, searchFilter.SortOn, searchFilter.SortDirection ); } return(resultList); }
public ActionResult List() { ListViewModel model = new ListViewModel(); model.Filter = new ListFilterViewModel(); model.CurrentPage = 1; model.PageSize = 10; RoomSearchFilter searchFilter = new RoomSearchFilter(); searchFilter.CurrentPage = model.CurrentPage.HasValue ? model.CurrentPage.Value : 1; searchFilter.PageSize = model.PageSize.HasValue ? model.PageSize.Value : 10; searchFilter.SortOn = model.SortOn; searchFilter.SortDirection = model.SortDirection; searchFilter.Filter_Name = model.Filter.Filter_Name; model.DataList = _roomService.GetAllPaginatedWithDetailBySearchFilter(searchFilter); return(View(model)); }
public IEnumerable <Room> Get(RoomSearchFilter filter) { try { if (filter == null) { throw new ArgumentNullException("filter"); } if (string.IsNullOrEmpty(filter.CompanyId)) { throw new ArgumentNullException("CompanyId"); } if (string.IsNullOrEmpty(filter.Keyword)) { filter.Keyword = "*"; } if (filter.Take <= 0) { filter.Take = 100; } Expression <Func <Room, bool> > predicate = x => x.CompanyId == filter.CompanyId && x.Status == (byte)StatusType.Active && (filter.Keyword == "*" || x.Name.StartsWith(filter.Keyword)); if (!string.IsNullOrEmpty(filter.StoreId)) { predicate = predicate.And(x => x.StoreId == filter.StoreId); } return(this._roomRepository.Find(predicate).Skip(filter.Start).Take(filter.Take).ToList()); } catch (Exception ex) { throw; } }