public Task StoreSubscriptionAsync(SubscriptionPayLoad payload) { // var list = _context.Subscriptions.ToListAsync(); var list = _dbcontext.SWSubscriptions.Where(x => x.MemberID == payload.memberId); var found = list.Where(x => x.Endpoint.ToString().ToLower() == payload.subscription.Endpoint.ToString().ToLower()).FirstOrDefault(); var found2 = _context.Subscriptions.Where(x => x.Endpoint.ToString().ToLower() == payload.subscription.Endpoint.ToString().ToLower()).FirstOrDefault(); ; if (found == null && found2 == null) { Console.WriteLine("found =null && found2=null"); _context.Subscriptions.Add(new PushSubscriptionContext.PushSubscription(payload.subscription, payload.memberId, payload.cleintIP)); string brwtype = getBrowserType(payload.subscription.Endpoint); foreach (var item in list) { if (getBrowserType(item.Endpoint) == brwtype) { _dbcontext.Remove(item); } } _dbcontext.SaveChangesAsync(); } else if (found2 != null) { found2.clientIP = payload.cleintIP; found2.MemberID = payload.memberId; } return(_context.SaveChangesAsync()); }