private double CalculateDistance(SQLLibrary.CurrentLocation location, string address)
        {
            Location locA = new Location("Current");

            locA.Latitude  = location.Latitude;
            locA.Longitude = location.Longitude;

            Location locB = GetLocationFromAddress(address);

            if (locB == null)
            {
                return(0);
            }
            double distance = locA.DistanceTo(locB);

            return(distance * TO_MILES);
        }
        private string CalculateDistance(SQLLibrary.CurrentLocation location, string address)
        {
            Location locA = new Location("Current");

            locA.Latitude  = location.Latitude;
            locA.Longitude = location.Longitude;

            Location locB = GetLocationFromAddress(address);

            if (locB == null)
            {
                return("");
            }
            double distance = locA.DistanceTo(locB);
            string city     = ReverseGeocodeCurrentLocation(locB).Locality;

            return(city + ", " + (distance * TO_MILES).ToString("0.##") + " mi");
        }
Exemple #3
0
            public override void Run()
            {
                // Call sql
                List <Restaurant> list = library.GetRestaurants();

                SQLLibrary.CurrentLocation currentLocation = library.GetCurrentLocation();
                if (list == null)
                {
                    return;
                }
                bool mFlag = false;

                foreach (Restaurant r in list)
                {
                    int id = r.RestaurantId;  //rest. id
                    if (!mService.doesExist(id))
                    {
                        string   location = r.Name;
                        int      time     = r.CurrentWait;
                        ListItem item     = new ListItem(mService.ApplicationContext, null);
                        item.Name     = r.Name;
                        item.Index    = id;
                        item.WaitTime = r.CurrentWait;
                        item.Address  = r.Address;
                        string distance = CalculateDistance(currentLocation, r.Address);
                        item.Distance = distance;
                        item.setLables(r.Name, "Average Wait Time: " + r.CurrentWait + " mins", distance);
                        mService.addListItem(item);
                        mFlag = true;
                    }
                }

                if (mFlag)
                {
                    Intent intent = new Intent("com.csi4999.project16.ACTION_UPDATE");
                    mService.SendBroadcast(intent);
                }
            }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.Deals);

            SQLLibrary     dLibrary = SQLLibrary.getInstance();
            var            dealList = new List <Deal>(dLibrary.GetDeals());
            var            restList = new List <Restaurant>(dLibrary.GetRestaurants());
            TextView       dRestName = null, dDealText = null;
            LinearLayout   dDealLayout     = null;
            RelativeLayout dRelativeLayout = null;

            SetContentView(Resource.Layout.Deals);
            // dRelativeLayout = (RelativeLayout)FindViewById(Resource.Id.selectedDeal);
            dDealLayout = (LinearLayout)FindViewById(Resource.Id.dealListLayout);
            dRestName   = (TextView)FindViewById(Resource.Id.restName);
            dDealText   = (TextView)FindViewById(Resource.Id.dealText);
            //mDealDescript = (TextView)FindViewById(Resource.Id.dealDescript);
            bool x = false;
            int  y = 0;

            ResetImageCounters();
            SQLLibrary.CurrentLocation currentLocation = dLibrary.GetCurrentLocation();
            foreach (Deal d in dealList)
            {
                if (x == false)
                {
                    DealItem item = new DealItem(ApplicationContext, null);

                    int sizeOfRestList = restList.Count();
                    int id             = d.RestaurantId;
                    foreach (Restaurant r in restList)
                    {
                        if (id == r.RestaurantId)
                        {
                            item.restId       = id;
                            item.restName     = r.Name;
                            item.restWaitTime = r.CurrentWait;
                            item.Address      = r.Address;
                            string distance = CalculateDistance(currentLocation, r.Address);
                            item.Distance = distance;
                            item.SetName(r.Name);
                            break;
                        }
                    }

                    y = d.category;
                    item.SetText(d.Title);
                    item.SetDescript(d.Descript);
                    item.SetImage(GetImageResource(y, d.Title));

                    dDealLayout.AddView(item);
                    x = true;
                }
                else
                {
                    DealItemRight item = new DealItemRight(ApplicationContext, null);

                    int sizeOfRestList = restList.Count();
                    int id             = d.RestaurantId;
                    foreach (Restaurant r in restList)
                    {
                        if (id == r.RestaurantId)
                        {
                            item.restId       = id;
                            item.restName     = r.Name;
                            item.restWaitTime = r.CurrentWait;
                            item.Address      = r.Address;
                            string distance = CalculateDistance(currentLocation, r.Address);
                            item.Distance = distance;
                            item.SetNameR(r.Name);
                            break;
                        }
                    }

                    y = d.category;
                    item.SetTextR(d.Title);
                    item.SetDescriptR(d.Descript);
                    item.SetImageR(GetImageResource(y, d.Title));
                    dDealLayout.AddView(item);
                    x = false;
                }
            }


            // Create your application here
        }