public UserService(ClaimsIdentity claimsIdentity, ReplayFXDbContext context)
        {
            db = context;

            var email = claimsIdentity.Claims.Where(c => c.Type.Contains("email")).FirstOrDefault().Value;
            var auth0 = claimsIdentity.Claims.Where(c => c.Type.Contains("nameidentifier")).FirstOrDefault().Value;
            var name  = claimsIdentity.Claims.Where(c => c.Type.Contains("nickname")).FirstOrDefault().Value;

            user = db.AppUsers.Where(u => u.Email == email).FirstOrDefault();
            if (user == null)
            {
                user             = new AppUser();
                user.Email       = email;
                user.Auth0       = auth0;
                user.DisplayName = name;

                db.AppUsers.Add(user);
                db.SaveChanges();
            }
            if (!db.AppUsers.Any(u => u.isSuperAdmin == true))
            {
                user.isSuperAdmin = true;
                db.SaveChanges();
            }
        }
        public Event EventFactory(string[] values, ReplayFXDbContext context)
        {
            Values = values;
            Event currentEvent = new Event();

            currentEvent.Date                = DateTime.Parse(GetStringValue("Date"));
            currentEvent.Description         = GetStringValue("Description");
            currentEvent.EndTime             = GetStringValue("EndTime");
            currentEvent.Title               = GetStringValue("Title");
            currentEvent.StartTime           = GetStringValue("StartTime");
            currentEvent.ExtendedDescription = GetStringValue("ExtendedDescription");



            currentEvent.URL = GetUrls();

            List <int> eventTypeIds = GetStringValue("EventTypes").Split(',').Where(s => int.TryParse(s, out int i)).Select(s => Convert.ToInt32(s)).ToList();

            currentEvent.EventTypes = context.EventTypes.Where(et => eventTypeIds.Contains(et.Id)).ToList();

            if (int.TryParse(GetStringValue("EventLocation"), out int locationId))
            {
                currentEvent.EventLocation = context.GameLocations.Where(l => l.Id == locationId).FirstOrDefault();
            }

            // currentEvent.EventLocation = values[FieldOrder["EventLocation"]];
            // currentEvent.EventTypes = values[FieldOrder["EventTypes"]];
            // Title
            // StartTime
            // EndTime
            // ExtendedDescription
            // EventLocation
            // URL
            // EventTypes


            return(currentEvent);
        }