Exemple #1
0
        public IActionResult GetCountryNames([FromBody] CountryLookupRequest countryLookupRequest)
        // public HttpResponseMessage GetCountryNames([FromBody] CountryLookupRequest countryLookupRequest)
        {
            var response             = new CountryLookupResponse();
            var resstatus            = new ResponseStatus();
            HttpResponseMessage resp = new HttpResponseMessage();
            var res = new HttpResponseMessage();

            try
            {
                if (!ModelState.IsValid)
                {
                    response.ResponseStatus.Status       = "Failure";
                    response.ResponseStatus.ErrorMessage = "Request is not valid";
                    return(BadRequest(response.ResponseStatus));
                }
                else
                {
                    if (countryLookupRequest != null)
                    {
                        if (countryLookupRequest.IncludeCities == null || countryLookupRequest.IncludeCities == "Y" || countryLookupRequest.IncludeCities == "N")
                        {
                            List <CountryLookupProperties> result = (List <CountryLookupProperties>)_MasterRepository.GetCountryNames(countryLookupRequest);
                            response.ResponseStatus.Status = "Success";
                            if (result != null && result.Count() > 0)
                            {
                                response.CountryLookupProperties = result.OrderBy(a => a.CountryName).ToList();
                            }
                            else
                            {
                                response.ResponseStatus.ErrorMessage = "No Records Found.";
                                return(NotFound(response.ResponseStatus));
                            }
                        }
                        else
                        {
                            response.ResponseStatus.Status       = "Failure";
                            response.ResponseStatus.ErrorMessage = "Include Cities parameter only accepts Y / N";
                            return(BadRequest(response.ResponseStatus));
                        }
                    }
                    else
                    {
                        response.ResponseStatus.Status       = "Failure";
                        response.ResponseStatus.ErrorMessage = "Country 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));
            //return Request. (HttpStatusCode.OK, response);
        }
Exemple #2
0
        public List <CountryLookupProperties> GetCountryNames(CountryLookupRequest countryLookupRequest)
        {
            //var country = from c in _MongoContext.mResort.AsQueryable()
            //             where c.ResortType == "Country"
            //             select c;
            //var cities = from c in _MongoContext.mResort.AsQueryable()
            //             where c.ResortType == "City"
            //             select c;

            var country = _MongoContext.mResort.AsQueryable().Where(a => a.ResortType == "Country");
            var city    = _MongoContext.mResort.AsQueryable().Where(a => a.ResortType == "City");

            if (!string.IsNullOrEmpty(countryLookupRequest.CountryName))
            {
                country = country
                          .Where(c => c.ResortName.ToLower().Contains(countryLookupRequest.CountryName.ToLower()))
                          .Select(c => c).AsQueryable();
            }

            var  lstCountry    = country.ToList();
            bool includeCities = false;

            //if (!string.IsNullOrEmpty(countryLookupRequest.CountryName))
            // {
            if (countryLookupRequest.IncludeCities == "Y")
            {
                includeCities = true;
            }
            //}
            List <CountryLookupProperties> result = new List <CountryLookupProperties>();

            if (includeCities)
            {
                var lstCity = city.ToList();

                foreach (var con in lstCountry)
                {
                    var data = new CountryLookupProperties();
                    data.Lookup            = con.Lookup;
                    data.CountryName       = con.ResortName;
                    data.ContinentName     = con.ParentResortName;
                    data.Voyager_Resort_Id = con.Voyager_Resort_Id;
                    data.Nationality       = con.Nation;
                    data.Language          = con.Language;
                    List <CityLookupProperties> citiyResult = new List <CityLookupProperties>();

                    data.Cities = lstCity.Where(a => a.Voyager_Parent_Resort_Id == con.Voyager_Resort_Id).Select(ct => new CityLookupProperties
                    {
                        CityName = ct.ResortName, Lookup = ct.Lookup, Voyager_Resort_Id = ct.Voyager_Resort_Id
                    }
                                                                                                                 ).Distinct().ToList();

                    result.Add(data);
                }
            }
            else
            {
                result = lstCountry.Select(c => new CountryLookupProperties
                {
                    Lookup            = c.Lookup,
                    CountryName       = c.ResortName,
                    ContinentName     = c.ParentResortName,
                    Voyager_Resort_Id = c.Voyager_Resort_Id,
                    Nationality       = c.Nation,
                    Language          = c.Language
                }).ToList();
            }

            return(result);
        }