コード例 #1
0
        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());
        }
コード例 #2
0
        //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));
        }