public JsonResult GetAutoCompleteData()
        {
            ToiletMapExport tmExport = CachingManager.CachedToiletMapExport;

            var list = (from m in tmExport.Items
                        where !string.IsNullOrEmpty(m.Town)
                        select m.Town).Distinct();

            return(Json(list.ToArray(), JsonRequestBehavior.AllowGet));
        }
        public JsonResult Details(string name)
        {
            ToiletMapExport tmExport = CachingManager.CachedToiletMapExport;

            MyViewModel model = new MyViewModel();

            model.toiletDetail = tmExport.Items.FirstOrDefault(x => x.Name.ToUpper() == name.ToUpper());

            return(Json(new { latitude = model.toiletDetail.Latitude, longitude = model.toiletDetail.Longitude, text = model.toiletDetail.Name }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Search(FormCollection form, MyViewModel model, int?page = 1)
        {
            var             searchString = (string)Session["searchString"];
            const int       pageSize     = 5;
            int             totalRecords = 0;
            ToiletMapExport tmExport     = CachingManager.CachedToiletMapExport;
            int             skip         = page.HasValue ? page.Value - 1 : 1;

            model.toiletMap      = tmExport.Items.Where(x => x.Town.ToUpper() == searchString.ToUpper()).OrderBy(o => o.Town).Skip(skip * pageSize).Take(pageSize);
            totalRecords         = tmExport.Items.Where(x => x.Town.ToUpper() == searchString.ToUpper()).Count();
            model.pageSize       = pageSize;
            model.pageNumber     = Convert.ToInt16(page);
            model.totalRecords   = totalRecords;
            model.jsonFlag       = "Y";
            Session["toiletMap"] = model.toiletMap;
            return(View("Index", model));
        }