private async Task <string> AddTokens(string userId, TokenResponse tokens, string type) { var storedConfiguration = new StoredConfiguration() { Id = Guid.NewGuid().ToString(), Type = type }; FillTokens(storedConfiguration, tokens); var user = await context.Users.Include(v => v.Configurations).FirstOrDefaultAsync(v => v.Id == userId); if (null == user) { user = new User() { Id = userId, Configurations = new List <StoredConfiguration>() { storedConfiguration } }; await context.Users.AddAsync(user); } else { if (null == user.Configurations) { user.Configurations = new List <StoredConfiguration>(); } user.Configurations.Add(storedConfiguration); } await context.SaveChangesAsync(); return(storedConfiguration.Id); }
public async Task AddAsync(string userId, ReminderRequest request, ReminderRegistration registration) { var user = await context.Users.Where(v => v.Id == userId).SingleOrDefaultAsync(); var storedReminder = new StoredReminder() { ClientState = request.ClientState, Expires = registration.Expires, Id = registration.Id, Minutes = request.Minutes, NotificationUri = request.NotificationUri }; if (null == user) { user = new User() { Id = userId, Reminders = new List <StoredReminder>() { storedReminder } }; await context.Users.AddAsync(user); } else { if (null == user.Reminders) { user.Reminders = new List <StoredReminder>(); } user.Reminders.Add(storedReminder); } await context.SaveChangesAsync(); }