Ejemplo n.º 1
0
        public async Task <bool> Refresh(CancellationToken cancellationToken)
        {
            var result    = false;
            var changeSet = await _proxy.GetChangeSet(_lastChangeSet, cancellationToken);

            // Update customers (if required)
            if (changeSet.ChangedClients > 0)
            {
                result = true;
                var customers = await _proxy.GetCustomers(cancellationToken);

                _customers.Clear();
                _customers.AddRange(customers);
            }

            // Update projects (if required)
            if (changeSet.ChangedProjects > 0)
            {
                result = true;
                var projects = await _proxy.GetProjects(cancellationToken);

                _projects.Clear();
                _projects.AddRange(projects);
            }

            // Update tasks
            if (changeSet.ChangedTasks > 0)
            {
                result = true;
                var activities = await _proxy.GetActivities(cancellationToken);

                _activities.Clear();
                _activities.AddRange(activities);
            }

            _lastChangeSet = changeSet.CurrentServerTime;
            return(result);
        }