public IQueryable <dynamic> GetCityNames(CityLookupRequestMaster cityLookupRequest) { var resort = from c in _MongoContext.mResort.AsQueryable() select c; if (!string.IsNullOrEmpty(cityLookupRequest.VoyagerCountry_Id)) { resort = resort .Where(c => c.Voyager_Parent_Resort_Id.ToLower() == cityLookupRequest.VoyagerCountry_Id.ToLower()) .Select(c => c).AsQueryable(); } if (!string.IsNullOrEmpty(cityLookupRequest.CountryName)) { resort = resort .Where(c => c.ParentResortName.ToLower().Contains(cityLookupRequest.CountryName.ToLower())) .Select(c => c).AsQueryable(); } if (!string.IsNullOrEmpty(cityLookupRequest.CityName)) { resort = resort .Where(c => c.Lookup.ToLower().Contains(cityLookupRequest.CityName.ToLower())) .Select(c => c).AsQueryable(); } return(resort .Where(c => c.ResortType == "City") .Select(c => new CityLookupProperties { Lookup = c.Lookup, CityName = c.ResortName, CountryName = c.ParentResortName, Voyager_Resort_Id = c.Voyager_Resort_Id, Latitude = c.Lat, Longitude = c.Lon }).Distinct()); }
//public CityLookupResponse GetCityNames([FromBody] CityLookupRequest cityLookupRequest) public IActionResult GetCityNames([FromBody] CityLookupRequestMaster cityLookupRequest) { var response = new CityLookupResponse(); bool CallFunction = false; try { if (!ModelState.IsValid) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Request is not valid"; return(BadRequest(response.ResponseStatus)); } else { if (cityLookupRequest != null) { if (!string.IsNullOrWhiteSpace(cityLookupRequest.VoyagerCountry_Id)) { Guid Resort_Id = Guid.Empty; if (!Guid.TryParse(cityLookupRequest.VoyagerCountry_Id, out Resort_Id)) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Voyager Country_Id is not valid"; return(BadRequest(response.ResponseStatus)); } else { if (Resort_Id == Guid.Empty) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Voyager Country_Id is not valid"; return(BadRequest(response.ResponseStatus)); } } CallFunction = true; } if (!string.IsNullOrWhiteSpace(cityLookupRequest.CountryName)) { CallFunction = true; } if (!CallFunction) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Atleast one parameter of Country Id or Name is mandatory."; return(BadRequest(response.ResponseStatus)); } else { IQueryable <CityLookupProperties> result = (IQueryable <CityLookupProperties>)_MasterRepository.GetCityNames(cityLookupRequest); response.ResponseStatus.Status = "Success"; if (result != null && result.Count() > 0) { response.CityLookupProperties = result.OrderBy(a => a.Lookup).ToList(); } else { response.ResponseStatus.ErrorMessage = "No Records Found."; return(NotFound(response.ResponseStatus)); } } } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "City Name can not be blank."; return(BadRequest(response.ResponseStatus)); } } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An error occurs " + ex.ToString(); return(StatusCode(400)); } return(Ok(response)); }