private static void DeleteDeletedPeopleToRemote() { var localPeopleIds = _context.People .Select(s => s.Id); var deletedStatuses = _context.Status .Where(status => !localPeopleIds.Contains(status.Id)); var req = RemotePeopleRepository.Delete(deletedStatuses.Select(s => s.Id).ToList()); if (req.StatusCode != System.Net.HttpStatusCode.OK) { throw new HttpRequestException("No Internet Exception"); } _context.Status.RemoveRange(deletedStatuses); }
private static void CopyNewPeopleToRemote() { var statusIds = _context.Status .Select(s => s.Id); var newPeople = _context.People .Where(localPerson => !statusIds.Contains(localPerson.Id)); var req = RemotePeopleRepository.Add(newPeople.ToList()); if (req.StatusCode != System.Net.HttpStatusCode.Created) { throw new HttpRequestException("No Internet Exception"); } _context.Status.AddRange(newPeople.Select(p => new Status { Id = p.Id })); }
private static void CopyNewPeopleToLocal() { var req = RemotePeopleRepository.Get(); if (req.StatusCode != System.Net.HttpStatusCode.OK) { throw new HttpRequestException("No Internet Exception"); } var source = req.Data; var statusIds = _context.Status .Select(s => s.Id); var newPeople = source .Where(s => !statusIds.Contains(s.Id)); _context.People.AddRange(newPeople); _context.Status.AddRange(newPeople.Select(np => new Status { Id = np.Id })); }
private static void DeleteDeletedPeopleToLocal() { var req = RemotePeopleRepository.Get(); if (req.StatusCode != System.Net.HttpStatusCode.OK) { throw new HttpRequestException("No Internet Exception"); } var source = req.Data; var souceIds = source .Select(s => s.Id); var deletedStatuses = _context.Status .Where(status => !souceIds.Contains(status.Id)); var deletedPeople = _context.People .Where(person => deletedStatuses.Select(s => s.Id).Contains(person.Id)); _context.People .RemoveRange(deletedPeople); _context.Status.RemoveRange(deletedStatuses); }