Exemplo n.º 1
0
        public JsonResult GetCultureByCountry(int countryId)
        {
            var model = new FaqEntriesIndexViewModel();

            model.Cultures = _countryCulturesProvider.GetCountryCultures(countryId);

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public ActionResult Index(PagerParameters pagerParameters, FaqEntriesIndexViewModel indexModel)
        {
            var cultureData = _countryCulturesProvider.GetData(indexModel.CountryId, indexModel.CultureId);

            FaqEntrySearchViewModel search = indexModel.Search;

            var sections = _faqService.GetFaqSections(cultureData.Culture);

            var faqQuery = _faqService.GetFaqEntries(cultureData.Culture, search.SectionId).Join <BodyPartRecord>().List().Where(fe => fe.Language == cultureData.Culture);

            if (!string.IsNullOrWhiteSpace(search.SearchString))
            {
                var searchString = search.SearchString.Trim();
                faqQuery = faqQuery.Where(f => f.Question.Contains(searchString) || f.Body.Text.Contains(searchString));
            }

            var entriesProjection = faqQuery.Select(e => { return(Shape.FaqEntry(
                                                                      Id: e.Id,
                                                                      Question: e.Question,
                                                                      Text: e.Body.Text
                                                                      )); });

            var pager      = new Pager(_siteService.GetSiteSettings(), pagerParameters.Page, pagerParameters.PageSize);
            var entries    = entriesProjection.Skip(pager.GetStartIndex()).Take(pager.PageSize);
            var pagerShape = Shape.Pager(pager).TotalItemCount(faqQuery.Count());

            var model = new FaqEntriesIndexViewModel(entries, sections, search, pagerShape);


            model.CountryId = cultureData.CountryId;
            model.CultureId = cultureData.CultureId;
            model.Countries = cultureData.Countries;
            model.Cultures  = cultureData.Cultures;
            model.Culture   = cultureData.Culture;

            return(View(model));
        }