Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        public IActionResult Search([FromBody] HotelInformationSearchModel model)
        {
            var response = _informationService.Search(model);

            return(Ok(response));
        }