public bool CreateUser(string firstName, string lastName, string email, string phonenumber, string password)
            {
                var query = String.Format(@"Insert into Customers (FirstName, LastName, Email, ContactNbr, Password)
                                        Values ('{0}', '{1}', '{2}', '{3}', '{4}');
                                        Select @@Identity as 'Identity'", firstName, lastName, email, phonenumber, password);

                using (var cmd = new SqlCommand(query, WingtipTicketApp.CreateTenantSqlConnection()))
                {
                    using (var sdAdapter = new SqlDataAdapter(cmd))
                    {
                        var dsUser = new DataSet();
                        sdAdapter.Fill(dsUser);

                        if (dsUser.Tables.Count > 0 && dsUser.Tables[0].Rows.Count > 0)
                        {
                            var newUser = new CustomerModel
                            {
                                FirstName = firstName,
                                LastName = lastName,
                                Email = email,
                                PhoneNumber = phonenumber,
                                CustomerId = Convert.ToInt32(dsUser.Tables[0].Rows[0]["Identity"])
                            };

                            Startup.SessionUsers.Add(newUser);
                            HttpContext.Current.Session["SessionUser"] = newUser;
                            LogAction("Added new user - " + firstName + " " + lastName);

                            return true;
                        }
                    }
                }

                return false;
            }
            public bool Login(string email, string password)
            {
                var query = String.Format(@"Select FirstName, LastName, CustomerId from Customers Where Email='{0}' and Password='******'", email, password);

                using (var cmd = new SqlCommand(query, WingtipTicketApp.CreateTenantConnectionDatabase1()))
                {
                    using (var sdAdapter = new SqlDataAdapter(cmd))
                    {
                        var dsUser = new DataSet();
                        sdAdapter.Fill(dsUser);

                        if (dsUser.Tables.Count > 0 && dsUser.Tables[0].Rows.Count > 0)
                        {
                            var newUser = new CustomerModel
                            {
                                FirstName = dsUser.Tables[0].Rows[0]["FirstName"].ToString(),
                                LastName = dsUser.Tables[0].Rows[0]["LastName"].ToString(),
                                Email = email,
                                CustomerId = Convert.ToInt32(dsUser.Tables[0].Rows[0]["CustomerId"])
                            };

                            HttpContext.Current.Session["SessionUser"] = newUser;

                            if (Startup.SessionUsers.Any(a => a.Email != null && a.Email.ToUpper() == email.ToUpper()))
                            {
                                Startup.SessionUsers.Remove(Startup.SessionUsers.First(a => a.Email.ToUpper() == email.ToUpper()));
                            }

                            Startup.SessionUsers.Add(newUser);

                            return true;
                        }
                    }
                }

                return false;
            }
        public CustomerEventsModel GetCustomerEvents(CustomerModel customerModel, int? venueId = null)
        {
            var myEventsView = new CustomerEventsModel();

            if (customerModel == null)
            {
                return myEventsView;
            }

            var concertTicketsList = Context.Tickets.ReturnPurchasedTicketsByCustomerId(customerModel.CustomerId);
            var venuesList = Context.Venues.GetVenues();
            var concertsList = new List<ConcertModel>(Context.Concerts.GetConcerts());
            var ticketLevelsList = Context.Tickets.GetTicketLevels();

            foreach (var ticket in concertTicketsList)
            {
                var concert = concertsList.Find(c => c.ConcertId == ticket.ConcertId);
                var ticketLevel = ticketLevelsList.Find(l => l.TicketLevelId == ticket.TicketLevelId);

                var tempTicket = new PurchasedTicketModel(
                    concert.PerformerModel.ShortName,
                    concert.ConcertId,
                    venuesList.Find(v => v.VenueId.Equals(concert.VenueId)).VenueName,
                    1,
                    ticketLevel.Description.Split('-').First().Trim(),
                    ticket.SeatNumber,
                    concert.ConcertDate,
                    ticket.ConcertId,
                    concert.VenueId
                    );

                if (myEventsView.PurchasedTickets.Exists(x => x.ConcertId == ticket.ConcertId && x.SectionName == tempTicket.SectionName))
                {
                    var index = myEventsView.PurchasedTickets.FindIndex(x => x.ConcertId == ticket.ConcertId && x.SectionName == tempTicket.SectionName);
                    myEventsView.PurchasedTickets[index].TicketQuantity++;
                    myEventsView.PurchasedTickets[index].SeatName += ", " + tempTicket.SeatName;
                }
                else if (venueId == null || tempTicket.VenueId == venueId)
                {
                    myEventsView.PurchasedTickets.Add(tempTicket);

                    if (!myEventsView.MyVenues.Exists(v => v.VenueId == tempTicket.VenueId))
                    {
                        var venue = venuesList.Find(v => v.VenueId.Equals(concert.VenueId));
                        myEventsView.MyVenues.Add(new VenueModel()
                        {
                            VenueId = venue.VenueId,
                            VenueName = venue.VenueName,
                            Capacity = venue.Capacity
                        });
                    }
                }
            }

            // Sort all events by date
            if (myEventsView.PurchasedTickets != null && myEventsView.PurchasedTickets.Count > 0)
            {
                myEventsView.PurchasedTickets.Sort((a, b) => a.EventDateTime.CompareTo(b.EventDateTime));
            }

            return myEventsView;
        }