예제 #1
0
        public int setNewVenueAndCheckinList(List <Item2> itemList, DateTime dt)
        {
            int newVenueNumber = 0;

            foreach (Item2 item in itemList)
            {
                if (!Venues.Any(venue => venue.Id == item.venue.id))
                {
                    Venues.Add(new Venue
                    {
                        Id         = item.venue.id,
                        Address    = item.venue.location.address,
                        Lat        = item.venue.location.lat,
                        Lng        = item.venue.location.lng,
                        CategoryId = item.venue.categories.FirstOrDefault().id,
                        Name       = item.venue.name
                    });
                    newVenueNumber++;
                }

                Checkins.Add(new CheckinStatistic
                {
                    Venue_FK      = item.venue.id,
                    DateTime      = dt,
                    CheckinNumber = item.venue.stats.checkinsCount,
                    UserNumber    = item.venue.stats.usersCount
                }
                             );
            }
            return(newVenueNumber);
        }
예제 #2
0
        private void PrepareAllVenues()
        {
            var locationJsObject = new StringBuilder("\n");

            if (!Venues.Any(v => v.Longitude.HasValue && v.Latitude.HasValue))
            {
                return;
            }

            MaxLongitude = Venues.Max(l => l.Longitude)?.ToString("###.########", System.Globalization.CultureInfo.InvariantCulture);
            MinLongitude = Venues.Min(l => l.Longitude)?.ToString("###.########", System.Globalization.CultureInfo.InvariantCulture);
            MaxLatitude  = Venues.Max(l => l.Latitude)?.ToString("###.########", System.Globalization.CultureInfo.InvariantCulture);
            MinLatitude  = Venues.Min(l => l.Latitude)?.ToString("###.########", System.Globalization.CultureInfo.InvariantCulture);

            foreach (var venue in Venues)
            {
                var teamDescription = new StringBuilder();

                var teamsOfVenue = Venues.Where(v => v.VenueId == venue.VenueId).ToList();
                foreach (var tov in teamsOfVenue)
                {
                    teamDescription.AppendFormat("{0} ({1})<br />", tov.TeamName, tov.TeamClubName).Replace("()", string.Empty); // remove () if ClubName is empty
                }
                teamDescription.Remove(teamDescription.Length - 6, 6);                                                           // remove last <br />

                var venueDescription =
                    $"<b>{venue.VenueName}</b><br />{venue.Street}<br />{venue.PostalCode} {venue.City}<br /><br /><b>Team{(teamsOfVenue.Count() > 1 ? "s" : string.Empty)}:</b><br />";

                if (venue.Latitude.HasValue && venue.Longitude.HasValue)
                {
                    var teamsCount = teamsOfVenue.Count;
                    locationJsObject.AppendFormat(_format,
                                                  venue.Latitude.Value.ToString("###.########", System.Globalization.CultureInfo.InvariantCulture),
                                                  venue.Longitude.Value.ToString("###.########", System.Globalization.CultureInfo.InvariantCulture),
                                                  $"{venue.VenueName}, {venue.City} - {teamsCount} Team{(teamsCount > 1 ? "s" : string.Empty)}",
                                                  venueDescription + teamDescription);
                }
            }

            Locations = locationJsObject.ToString().TrimEnd(new[] { ',', '\n' });
        }
예제 #3
0
 public Venue AddVenue(Venue venue)
 {
     venue.VenueId = Venues.Any() ? Venues.Max(v => v.VenueId) + 1 : 1;
     Venues.Add(venue);
     return(venue);
 }