//Check on this for Workgroup Dissapearing issue private void Workgroups_ConfigurationObjectsRemoved(object sender, ConfigurationWatchEventArgs <WorkgroupConfiguration> e) { _logging.LogNote("Workgroup Configuration Objects Removed.."); try { var removeWorkgroups = e.ObjectsAffected; using (var repository = Repository) { var workgroups = repository.Workgroups; foreach (var workgroup in removeWorkgroups.Select(workgroupConfiguration => workgroups.FirstOrDefault(w => w.ConfigId == workgroupConfiguration.ConfigurationId.Id)).Where(workgroup => workgroup != null)) { _logging.LogNote("Removing: " + workgroup.DisplayName); RemoveWorkgroup(workgroup, repository); } repository.SaveChanges(); WorkgroupPeople.RefreshWatch = true; WorkgroupInteractions.RefreshWatch = true; } } catch (Exception exception) { _logging.LogException(exception); _logging.TraceException(exception, "WorkgroupConfigurations Error"); } }
private void Schedules_ConfigurationObjectsRemoved(object sender, ConfigurationWatchEventArgs <ScheduleConfiguration> e) { try { var removeSchedules = e.ObjectsAffected; using (var repository = Repository) { foreach (var schedule in removeSchedules.Select(scheduleConfiguration => repository.Schedules.FirstOrDefault(s => s.ConfigId == scheduleConfiguration.ConfigurationId.Id)).Where(schedule => schedule != null)) { _logging.TraceMessage(3, "Removing Schedule: " + schedule.DisplayName); if (schedule.ScheduleRecurrence != null) { repository.ScheduleRecurrences.Remove(schedule.ScheduleRecurrence); } if (schedule.IsUsed) { schedule.MarkedForDeletion = true; } else { repository.Schedules.Remove(schedule); } repository.SaveChanges(); } } } catch (Exception exception) { _logging.TraceException(exception, "ScheduleConfigurations Error"); } }
void configurations_ConfigurationObjectsRemoved(object sender, ConfigurationWatchEventArgs <CampaignConfiguration> args) { try { lock (updating) { CampaignConfigurations = (new ReadOnlyCollectionBuilder <CampaignConfiguration>(CampaignConfigurations.ToList().RemoveAll(item => args.ObjectsAffected.Contains(item)))).ToReadOnlyCollection(); } } catch (Exception e) { HttpContext.Current.Trace.Warn("Dialer", "Unable to retrieve campaigns", e); } }
private void Skills_ConfigurationObjectsRemoved(object sender, ConfigurationWatchEventArgs <SkillConfiguration> e) { try { var removeSkills = e.ObjectsAffected; using (var repository = Repository) { var skills = repository.Skills; foreach (var skill in removeSkills.Select(skillConfiguration => skills.FirstOrDefault(s => s.ConfigId == skillConfiguration.ConfigurationId.Id)).Where(skill => skill != null)) { RemoveSkill(skill, repository); } repository.SaveChanges(); } } catch (Exception exception) { _logging.TraceException(exception, "SkillConfigurations Error"); } }
private void Users_ConfigurationObjectsRemoved(object sender, ConfigurationWatchEventArgs <UserConfiguration> e) { //_logging.LogNote("Users_ConfigurationObjectsRemoved"); try { var removeUsers = e.ObjectsAffected; using (var repository = Repository) { foreach (var user in removeUsers.Select(userConfiguration => repository.Agents.FirstOrDefault(a => a.ConfigId == userConfiguration.ConfigurationId.Id)).Where(user => user != null)) { foreach (var utilization in user.Utilizations.ToList()) { //user.Utilizations.Remove(utilization); repository.Utilizations.Remove(utilization); } if (user.ActiveInWorkgroups != null) { foreach (var workgroup in user.ActiveInWorkgroups.ToList()) { user.ActiveInWorkgroups.Remove(workgroup); } } user.Skills.Clear(); user.Utilizations.Clear(); //foreach (var skill in user.Skills.ToList()) //{ // user.Skills.Remove(skill); //} repository.Agents.Remove(user); repository.SaveChanges(); } } } catch (Exception exception) { _logging.LogException(exception); _logging.TraceException(exception, "AgentConfigurations Error"); } }
void configurations_ConfigurationObjectsRemoved(object sender, ConfigurationWatchEventArgs<CampaignConfiguration> args) { try { lock (updating) { CampaignConfigurations = (new ReadOnlyCollectionBuilder<CampaignConfiguration>(CampaignConfigurations.ToList().RemoveAll(item => args.ObjectsAffected.Contains(item)))).ToReadOnlyCollection(); } } catch(Exception e) { HttpContext.Current.Trace.Warn("Dialer", "Unable to retrieve campaigns", e); } }