public async Task Update(JobExperienceMultiUpdateMessage message) { // Ugly fix while (!_jobsInitialized) { await Task.Delay(50); } for (int i = 0; i < message.ExperiencesUpdate.Count; i++) { Jobs.FirstOrDefault(j => j.Id == message.ExperiencesUpdate[i].JobId)?.Update(message.ExperiencesUpdate[i]); } JobsUpdated?.Invoke(); }
public void Update(JobDescriptionMessage message) { Application.Current.Dispatcher.Invoke(() => { _jobsInitialized = false; Jobs.Clear(); var jobsData = DataManager.GetEnumerable <Protocol.Data.Jobs>(message.JobsDescription.Select(f => (int)f.JobId)); for (int i = 0; i < message.JobsDescription.Count; i++) { Jobs.Add(new JobEntry(message.JobsDescription[i], jobsData.FirstOrDefault(f => f.Id == message.JobsDescription[i].JobId))); } _jobsInitialized = true; }); JobsUpdated?.Invoke(); }
public void Update(JobExperienceUpdateMessage message) { Jobs.FirstOrDefault(j => j.Id == message.ExperiencesUpdate.JobId)?.Update(message.ExperiencesUpdate); JobsUpdated?.Invoke(); }