public IActionResult Search(string yachtTourIdEncrypted, [FromBody] YachtTourOperationDetailSearchModel searchModel) { var tourId = DecryptValue(yachtTourIdEncrypted); var baseresponse = _yachtTourOperationDetailService.Search(tourId, searchModel); if (baseresponse.IsSuccessStatusCode) { return(Ok(baseresponse)); } return(BadRequest()); }
public BaseResponse <PagedList <YachtTourOperationDetailViewModel> > Search(int tourId, YachtTourOperationDetailSearchModel model) { try { if (model == null) { return(BaseResponse <PagedList <YachtTourOperationDetailViewModel> > .BadRequest()); } var pageSize = model.PageSize > 0 ? model.PageSize : 10; var pageIndex = model.PageIndex > 0 ? model.PageIndex : 1; var sortColumn = !string.IsNullOrEmpty(model.SortColumn) ? model.SortColumn : "EffectiveDate"; var sortType = !string.IsNullOrEmpty(model.SortType) ? model.SortType : "DESC"; var sortString = $"{sortColumn} {sortType}"; var query = _db.YachtTourOperationDetails .AsNoTracking() .Where(k => !k.Deleted && k.TourFid == tourId) .Select(k => _mapper.Map <YachtTourOperationDetails, YachtTourOperationDetailViewModel>(k)); var totalItems = query.Count(); var listOperationDetails = query .Skip(pageSize * (pageIndex - 1)) .Take(pageSize) .OrderBy(sortString) .ToList() .Select(k => LoadYachtName(k)) .ToList(); var pagedList = new PagedList <YachtTourOperationDetailViewModel>(listOperationDetails, totalItems, pageIndex, pageSize); return(BaseResponse <PagedList <YachtTourOperationDetailViewModel> > .Success(pagedList)); } catch (Exception ex) { return(BaseResponse <PagedList <YachtTourOperationDetailViewModel> > .InternalServerError(message : ex.Message, fullMsg : ex.StackTrace)); } }