public Task InvokeAsync(HttpContext context, CodeEventsDbContext dbContext) { var authedUser = context.User; if (!authedUser.Identity.IsAuthenticated) { return(_next(context)); } if (authedUser.FindFirstValue("newUser") != "true") { return(_next(context)); } var user = new User(authedUser); var userExists = dbContext.Users.Count(u => u.AzureOId == user.AzureOId) == 1; if (userExists) { return(_next(context)); } dbContext.Users.Add(user); dbContext.SaveChanges(); return(_next(context)); }
public CodeEvent RegisterCodeEvent( NewCodeEventDto newCodeEvent, ClaimsPrincipal authedUser ) { var user = ConvertAuthedUserToUser(authedUser); var codeEventEntry = _dbContext.CodeEvents.Add(new CodeEvent()); codeEventEntry.CurrentValues.SetValues(newCodeEvent); var codeEvent = codeEventEntry.Entity; _dbContext.Members.Add(Member.CreateEventOwner(codeEvent, user)); _dbContext.SaveChanges(); return(codeEvent); }