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); }