示例#1
0
        private static Dinner[] GetDinners()
        {
            var dinners = new Dinner[]
                {
                new Dinner { Title = "Test Dinner One", Address = "Seattle, WA", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner One", EventDate = DateTime.Now, UserName = "******", Latitude = 47.671798706054688, Longitude = -122.12323760986328 },
                new Dinner { Title = "Test Dinner Two", Address = "Redmond, WA", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Two", EventDate = DateTime.Now.AddDays(1), UserName = "******", Latitude = 47.671798706054688, Longitude = -122.12323760986328 },
                new Dinner { Title = "Test Dinner Three", Address = "New York", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Three", EventDate = DateTime.Now.AddDays(2), UserName = "******", Latitude = 40.712784, Longitude = 74.005941 },
                new Dinner { Title = "Test Dinner Four", Address = "Chicago", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Four", EventDate = DateTime.Now.AddDays(3), UserName = "******", Latitude = 41.878114, Longitude = -87.629798 },
                new Dinner { Title = "Test Dinner Five", Address = "San Francisco", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Five", EventDate = DateTime.Now.AddDays(4), UserName = "******", Latitude = 33.748995, Longitude = -84.387982 },
                new Dinner { Title = "Test Dinner Six", Address = "Atlanta", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Six", EventDate = DateTime.Now.AddDays(5), UserName = "******", Latitude = 39.739236, Longitude = -104.990251 },
                new Dinner { Title = "Test Dinner Seven", Address = "Denver", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Seven", EventDate = DateTime.Now.AddDays(6), UserName = "******", Latitude = 39.952584, Longitude = -75.165222 },
                new Dinner { Title = "Test Dinner Eight", Address = "Pittsburgh", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Eight", EventDate = DateTime.Now.AddDays(7), UserName = "******", Latitude = 37.774929, Longitude = -122.4194160 },
                new Dinner { Title = "Test Dinner Nine", Address = "Kirkland, WA", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Nine", EventDate = DateTime.Now.AddDays(8), UserName = "******", Latitude = 31.968599, Longitude = -99.901813 },
                new Dinner { Title = "Test Dinner Ten", Address = "Bellevue, WA", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Ten", EventDate = DateTime.Now.AddDays(9), UserName = "******", Latitude = 33.748995, Longitude = 74.005941 },
                };

            return dinners;
        }
示例#2
0
        public static void SearchByPlaceNameOrZip(Dinner dinner)
        {
            string url = "http://ws.geonames.org/postalCodeSearch?{0}={1}&maxRows=1&style=SHORT&username=nerddinner";
            int n;
            bool isNumeric = int.TryParse(dinner.Address, out n);
            url = String.Format(url, isNumeric ? "postalcode" : "placename", dinner.Address);

            var result = XDocument.Load(url);

            if (result.Descendants("code").Any())
            {
                var latLong = (from x in result.Descendants("code")
                               select new LatLong
                               {
                                   Lat = (float)x.Element("lat"),
                                   Long = (float)x.Element("lng")
                               }).First();

                dinner.Latitude = latLong.Lat;
                dinner.Longitude = latLong.Long;
            }
        }
示例#3
0
        private static Dinner[] GetDinners()
        {
            var dinners = new Dinner[]
            {
                new Dinner {
                    Title = "Test Dinner One", Address = "Seattle, WA", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner One", EventDate = DateTime.Now, UserName = "******", Latitude = 47.671798706054688, Longitude = -122.12323760986328
                },
                new Dinner {
                    Title = "Test Dinner Two", Address = "Redmond, WA", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Two", EventDate = DateTime.Now.AddDays(1), UserName = "******", Latitude = 47.671798706054688, Longitude = -122.12323760986328
                },
                new Dinner {
                    Title = "Test Dinner Three", Address = "New York", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Three", EventDate = DateTime.Now.AddDays(2), UserName = "******", Latitude = 40.712784, Longitude = 74.005941
                },
                new Dinner {
                    Title = "Test Dinner Four", Address = "Chicago", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Four", EventDate = DateTime.Now.AddDays(3), UserName = "******", Latitude = 41.878114, Longitude = -87.629798
                },
                new Dinner {
                    Title = "Test Dinner Five", Address = "San Francisco", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Five", EventDate = DateTime.Now.AddDays(4), UserName = "******", Latitude = 33.748995, Longitude = -84.387982
                },
                new Dinner {
                    Title = "Test Dinner Six", Address = "Atlanta", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Six", EventDate = DateTime.Now.AddDays(5), UserName = "******", Latitude = 39.739236, Longitude = -104.990251
                },
                new Dinner {
                    Title = "Test Dinner Seven", Address = "Denver", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Seven", EventDate = DateTime.Now.AddDays(6), UserName = "******", Latitude = 39.952584, Longitude = -75.165222
                },
                new Dinner {
                    Title = "Test Dinner Eight", Address = "Pittsburgh", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Eight", EventDate = DateTime.Now.AddDays(7), UserName = "******", Latitude = 37.774929, Longitude = -122.4194160
                },
                new Dinner {
                    Title = "Test Dinner Nine", Address = "Kirkland, WA", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Nine", EventDate = DateTime.Now.AddDays(8), UserName = "******", Latitude = 31.968599, Longitude = -99.901813
                },
                new Dinner {
                    Title = "Test Dinner Ten", Address = "Bellevue, WA", ContactPhone = "425-XXX-XXXX", Country = "USA", Description = "Test Dinner Ten", EventDate = DateTime.Now.AddDays(9), UserName = "******", Latitude = 33.748995, Longitude = 74.005941
                },
            };

            return(dinners);
        }
        public virtual async Task<Dinner> CreateDinnerAsync(Dinner dinner)
        {
            var rsvp = new Rsvp
            {
                UserName = dinner.UserName
            };

            dinner.Rsvps = new List<Rsvp> { rsvp };

            _database.Add(dinner);
            _database.Add(rsvp);
            await _database.SaveChangesAsync();

            return dinner;
        }
        public virtual async Task DeleteRsvpAsync(Dinner dinner, string userName)
        {
            var rsvp = dinner?.Rsvps.SingleOrDefault(r => string.Equals(r.UserName, userName, StringComparison.OrdinalIgnoreCase));
            if (rsvp != null)
            {
                _database.Rsvp.Remove(rsvp);
                await _database.SaveChangesAsync();
            };

            // Else no errors - this operation is idempotent
        }
        public virtual async Task<Rsvp> CreateRsvpAsync(Dinner dinner, string userName)
        {
            Rsvp rsvp = null;
            if (dinner != null)
            {
                if (dinner.IsUserRegistered(userName))
                {
                    rsvp = dinner.Rsvps.SingleOrDefault(r => string.Equals(r.UserName, userName, StringComparison.OrdinalIgnoreCase));
                }
                else
                {
                    rsvp = new Rsvp
                    {
                        UserName = userName
                    };

                    dinner.Rsvps.Add(rsvp);
                    _database.Add(rsvp);
                    await _database.SaveChangesAsync();
                }
            }

            return rsvp;
        }
 public virtual async Task<Dinner> UpdateDinnerAsync(Dinner dinner)
 {
     _database.Update(dinner);
     await _database.SaveChangesAsync();
     return dinner;
 }