Exemple #1
0
        public List <Parking> GetParkingsByBusiness(string businessId, string businessType)
        {
            long id;

            if (!long.TryParse(businessId, out id))
            {
                WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.BadRequest;
                return(null);
            }
            List <Parking> parkings;

            using (var dataAccess = new ParkingDataAccess())
            {
                parkings = dataAccess.GetParkingByBusiness(id).ToList();
            }
            if (!parkings.Any())
            {
                using (var query = FacebookQueryFactory.CreateQuery())
                {
                    var dictionary =
                        query.Select("latitude", "longitude").From(FacebookTable.Place).WhereId(id).Execute();
                    if (dictionary == null)
                    {
                        WebOperationContext.Current.OutgoingResponse.SetStatusAsNotFound("Business not found");
                        return(null);
                    }
                    var geo = new GeoPoint(double.Parse(dictionary["longitude"]), double.Parse(dictionary["latitude"]));
                    using (var dataAccess = new ParkingDataAccess())
                    {
                        parkings = dataAccess.GetParkingsByGeo(geo, 1000, 10).ToList();
                        var business = new Business()
                        {
                            BusinessType = BusinessType.Facebook,
                            FacebookId   = id,
                        };

                        parkings.ForEach(business.RecommendedParkings.Add);
                        dataAccess.AddBusiness(business);
                    }
                }
            }
            return(parkings);
        }
Exemple #2
0
        public List<Parking> GetParkingsByBusiness(string businessId, string businessType)
        {
            long id;
            if (!long.TryParse(businessId, out id))
            {
                WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.BadRequest;
                return null;
            }
            List<Parking> parkings;
            using (var dataAccess = new ParkingDataAccess())
            {
                parkings = dataAccess.GetParkingByBusiness(id).ToList();
            }
            if (!parkings.Any())
            {
                using (var query = FacebookQueryFactory.CreateQuery())
                {
                    var dictionary =
                        query.Select("latitude", "longitude").From(FacebookTable.Place).WhereId(id).Execute();
                    if (dictionary == null)
                    {
                        WebOperationContext.Current.OutgoingResponse.SetStatusAsNotFound("Business not found");
                        return null;
                    }
                    var geo = new GeoPoint(double.Parse(dictionary["longitude"]), double.Parse(dictionary["latitude"]));
                    using (var dataAccess = new ParkingDataAccess())
                    {
                        parkings = dataAccess.GetParkingsByGeo(geo, 1000, 10).ToList();
                        var business = new Business()
                            {
                                BusinessType = BusinessType.Facebook,
                                FacebookId = id,
                            };

                        parkings.ForEach(business.RecommendedParkings.Add);
                        dataAccess.AddBusiness(business);
                    }
                }

            }
            return parkings;
        }