public static void EnsureCreated(this User user, PostMortemContext context) { var existingUser = context .Users .SingleOrDefault(x => x.CookieId == user.CookieId); if (existingUser == null) { context.Users.Add(new User() { CookieId = user.CookieId, CreatedDateTime = DateTime.UtcNow, GameMode = user.GameMode }); context.SaveChanges(); } var dbUser = context .Users .Include(u => u.Objectives) .Single(x => x.CookieId == user.CookieId); user = dbUser; }
public static void Save(this User user, PostMortemContext context) { var dbUser = context.Users.Single(x => x.CookieId == user.CookieId); dbUser.GameMode = user.GameMode; dbUser.UsedDevCommand = user.UsedDevCommand; dbUser.Facts = user.Facts; dbUser.Objectives = user.Objectives; // Only save the first win time if (dbUser.WinDateTime == null) { dbUser.WinDateTime = user.WinDateTime; } context.SaveChanges(); }
public PartialViewResult OnPostSurveyModalPartial(Survey survey) { if (ModelState.IsValid) { var user = _context .Users .Include(u => u.Survey) .SingleOrDefault(u => u.CookieId == survey.User.CookieId); if (user != null && user.Survey == null) { user.Survey = survey; _context.SaveChanges(); } } return(new PartialViewResult() { ViewName = "_SurveyModalPartial", ViewData = new ViewDataDictionary <Survey>(ViewData, survey) }); }
private void LogMessage(PostMortemContext context, string botName, string userCookieId, TranscriptMessageDirection direction, string message) { try { var bot = context.Bots.Single(x => x.Name == botName); var user = context.Users.Single(x => x.CookieId == new Guid(userCookieId)); context.Transcripts.Add(new Transcript() { DateTime = DateTime.UtcNow, Bot = bot, User = user, Direction = direction, Message = message }); context.SaveChanges(); } catch { // } }