public BaseResponse <PagedList <HotelInformationViewModel> > Search(HotelInformationSearchModel model) { try { var hotelFid = Decrypt.DecryptToInt32(model.HotelFid); if (model != null) { var pageIndex = model.PageIndex > 0 ? model.PageIndex : 1; var pageSize = model.PageSize > 0 ? model.PageSize : 10; var sortColumn = !string.IsNullOrEmpty(model.SortColumn) ? model.SortColumn : "Id"; var sortType = !string.IsNullOrEmpty(model.SortType) ? model.SortType : "ASC"; var sortString = $"{sortColumn} {sortType}"; bool? isactive = model.IsActivated.ToNullBoolean(); DateTime?activatedDate = null; if (!string.IsNullOrEmpty(model.ActivatedDate)) { activatedDate = model.ActivatedDate.ToNullDateTime(); } var query = (from i in _db.HotelInformations .Where(k => !k.Deleted && k.HotelFid == hotelFid && (string.IsNullOrEmpty(model.Title) || k.DefaultTitle.Contains(model.Title)) && (model.IsActivated == null || k.IsActivated == isactive) && (activatedDate == null || k.ActivatedDate.Value.Date == activatedDate.Value.Date)) select new HotelInformationViewModel() { Id = i.Id, DefaultTitle = i.DefaultTitle, IsActivated = i.IsActivated, ActivatedDate = i.ActivatedDate, LanguagesSupported = (from d in _db.HotelInformationDetails orderby d.LanguageFid join l in _languages on d.LanguageFid equals l.Id where !d.Deleted && d.InformationFid == i.Id select l.ResourceKey).ToList() }).OrderByDescending(x => x.ActivatedDate); var result = new PagedList <HotelInformationViewModel>(query, pageIndex, pageSize); return(BaseResponse <PagedList <HotelInformationViewModel> > .Success(result)); } return(BaseResponse <PagedList <HotelInformationViewModel> > .BadRequest()); } catch (Exception ex) { return(BaseResponse <PagedList <HotelInformationViewModel> > .InternalServerError(ex)); } }
public IActionResult Search([FromBody] HotelInformationSearchModel model) { var response = _informationService.Search(model); return(Ok(response)); }