示例#1
0
        public IActionResult Search([FromQuery] YachtTourInformationSearchModel model)
        {
            var result = _yachtTourInformationServices.Search(model);

            if (result.IsSuccessStatusCode)
            {
                return(Ok(result));
            }
            return(BadRequest());
        }
 public BaseResponse <PagedList <YachtTourInformationViewModel> > Search(YachtTourInformationSearchModel model)
 {
     try
     {
         var sortString = !string.IsNullOrEmpty(model.SortString)
        ? model.SortString
        : "ActivatedDate DESC";
         bool?    isactive      = model.IsActivated.ToNullBoolean();
         DateTime?activatedDate = null;
         if (!string.IsNullOrEmpty(model.ActivatedDate))
         {
             activatedDate = model.ActivatedDate.ToNullDateTime();
         }
         var query = (from i in _db.YachtTourInformations
                      .Where(k => !k.Deleted && k.TourFid == model.TourFid &&
                             (string.IsNullOrEmpty(model.Title) || k.DefaultTitle.Contains(model.Title)) &&
                             (model.TourInformationTypeFid == 0 || k.TourInformationTypeFid.Equals(model.TourInformationTypeFid)) &&
                             (model.IsActivated == null || k.IsActivated == isactive) &&
                             (activatedDate == null || k.ActivatedDate.Value.Date == activatedDate.Value.Date))
                      select new YachtTourInformationViewModel()
         {
             Id = i.Id,
             DefaultTitle = i.DefaultTitle,
             TourInformationTypeResKey = i.TourInformationTypeResKey,
             IsActivated = i.IsActivated,
             ActivatedDate = i.ActivatedDate,
             LanguagesSupported = (from d in _db.YachtTourInformationDetails
                                   join l in _languages on d.LanguageFid equals l.Id
                                   where !d.Deleted && d.InformationFid == i.Id
                                   select l.ResourceKey).ToList()
         }).OrderBy(sortString);
         var result = new PagedList <YachtTourInformationViewModel>(query, model.PageIndex, model.PageSize);
         if (result != null)
         {
             return(BaseResponse <PagedList <YachtTourInformationViewModel> > .Success(result));
         }
         return(BaseResponse <PagedList <YachtTourInformationViewModel> > .BadRequest());
     }
     catch (Exception ex)
     {
         return(BaseResponse <PagedList <YachtTourInformationViewModel> > .InternalServerError(message : ex.Message, fullMsg : ex.StackTrace));
     }
 }