// GET: City public ActionResult Index() { var service = CreateCityService(); var State = new CityByState(); State.State = "Search by City or State"; return(View(State)); }
public ActionResult Search(string id, CityByState city) { if (id != null) { var service = CreateCityService(); var model = service.GetCitiesByName(id); ModelState.Clear(); return(View(model)); } //string state = $"{city.State}" else { return(RedirectToAction($"State/{city.State}")); } }
public ActionResult Index(string id, CityByState city) { var businessService = new BusinessService(); var cityService = CreateCityService(); var profileService = CreateProfileService(); //Is input a State Abreviation? bool parseResult = Enum.TryParse($"{id}", out StateName state); //Is input a State at all? if (parseResult == false) { city.StateResult = city.AbreviateState(id); } if (parseResult) { city.StateResult = state; } //Is input a City? var searchByCity = new List <CityListItem>(); if (city.StateResult == null) { searchByCity = cityService.GetCitiesByName(id); if (searchByCity.Count == 1) { return(RedirectToAction($"Details/{searchByCity[0].ID}")); } if (searchByCity.Count != 0) { return(RedirectToAction($"Search/{id}")); } } //Is inpuy a Business var searchByBusiness = new List <BusinessListItem>(); if (searchByCity.Count() == 0) { searchByBusiness = businessService.GetByName(id); if (searchByBusiness.Count == 1) { return(RedirectToAction($"Details/{searchByBusiness[0].ID}", "Business")); } if (searchByBusiness.Count != 0) { return(RedirectToAction($"Search/{id}", "Business")); } } var searchByUsername = new ProfileDetail(); if (searchByBusiness.Count() == 0) { searchByUsername = profileService.GetByUsername(id); if (searchByUsername.Username != null) { return(RedirectToAction($"Index/{searchByUsername.Username}", "Profile")); } } var searchByName = new List <ProfileDetail>(); if (searchByUsername.Username == null) { searchByName = profileService.GetByName(id); if (searchByName.Count != 0) { return(RedirectToAction($"Search/{id}", "Profile")); } } return(RedirectToAction($"State/{city.StateResult}")); }