示例#1
0
        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);
        }
示例#2
0
        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
            }));
        }
示例#3
0
        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
            }));
        }
示例#4
0
        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);
        }