Example #1
0
        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));
            }
        }