//public List<SeatSection> GetSeatMapForVenue(int venueId)
            //{
            //    return GetSeatMapForVenueInternal(venueId);
            //}
            public VenueModel AddNewVenue(string venueName, int cityId)
            {
                // Add Venue, continue if added
                var venue = new VenueModel();
                var venueScript = string.Format(@"INSERT INTO [Venues] (VenueName, Capacity, CityId, Description) VALUES ('{0}', 1000, {1}, '') Select @@Identity", venueName, cityId);
                var venueId = DataHelper.ExecuteInsert(venueScript);

                if (venueId > 0)
                {
                    venue.VenueId = venueId;
                }
                else
                {
                    return venue;
                }

                // Add Seat Section
                var seatSectionScript = string.Format(@"INSERT INTO [SeatSection] (SeatCount, VenueId, Description) VALUES (100, {0}, '') Select @@Identity", venue.VenueId);
                var seatSectionId = DataHelper.ExecuteInsert(seatSectionScript);

                LogAction("Added new venue - " + venueName);

                return venue;
            }
        private bool UpsertVenue(EventAdministrationViewModel viewModel, CityModel cityModelFromDb, out VenueModel venueModelFromDb)
        {
            // Add venue if it doesn't exist
            if (!string.IsNullOrWhiteSpace(viewModel.NewVenue))
            {
                venueModelFromDb = _venueRepository.GetVenues().FirstOrDefault(ven => String.CompareOrdinal(ven.VenueName, viewModel.NewVenue.Trim()) == 0);

                if (venueModelFromDb == null)
                {
                    venueModelFromDb = _venueRepository.AddNewVenue(viewModel.NewVenue, cityModelFromDb.CityId);

                    if (venueModelFromDb == null)
                    {
                        DisplayMessage(String.Format(" Failed to add new Venue '{0}'. Cannot Continue.", viewModel.NewVenue));
                        return false;
                    }
                }
            }
            else
            {
                venueModelFromDb = _venueRepository.GetVenues().FirstOrDefault(ven => ven.VenueId == viewModel.VenueId);
            }

            return true;
        }
            private static VenueModel MapRowToVenue(SqlDataReader reader)
            {
                // Map data row into the venue
                var venue = new VenueModel
                {
                    VenueName = reader.GetString("venueName"),
                    Capacity = reader.GetInt32(reader.GetOrdinal("venueCapacity")),
                    Description = reader.GetString("venueDescription"),
                    VenueId = reader.GetInt32(reader.GetOrdinal("venueId")),

                    VenueCityModel = new CityModel
                    {
                        CityName = reader.GetString("cityName"),
                        CityId = reader.GetInt32(reader.GetOrdinal("cityId")),
                        Description = reader.GetString("cityDescription"),

                        StateModel = new StateModel
                        {
                            StateName = reader.GetString("stateName"),
                            Description = reader.GetString("stateDescription"),

                            Country = new Country
                            {
                                CountryName = reader.GetString("countryName")
                            }
                        }
                    },
                };

                return venue;
            }
        private bool UpsertEvent(EventAdministrationViewModel viewModel, VenueModel venueModelForConcert, PerformerModel artistFromDb)
        {
            // Add event if it doesn't exist
            const ServerTargetEnum saveToShardDb = ServerTargetEnum.Primary;
            var eventDateTime = new DateTime(viewModel.Year, viewModel.Month, viewModel.Day, 20, 0, 0);

            if (_concertRepository.SaveNewConcert(viewModel.NewEvent, viewModel.Description, eventDateTime, saveToShardDb, venueModelForConcert.VenueId, artistFromDb.PerformerId) == null)
            {
                DisplayMessage(String.Format(" Failed to add new concert event. \'{0}\'", viewModel.NewEvent));
                return false;
            }

            DisplayMessage(string.Format("Successfully added new event {0}.", viewModel.NewEvent));
            return true;
        }