private void PopularListaCoordinadores() { var ListaCoordinadores = new List <cSELECCION_COORDINADORES>(); LstCoordinadores = new ObservableCollection <cSELECCION_COORDINADORES>(); //---------------------------------------------Obtiene lista de Usuarios ACTIVOS y los que pertenecen al centro seleccionado var predicate = PredicateBuilder.True <USUARIO>(); //Si se debe filtrar a los coordinadores //--Obtiene los empleados que estan relacionados a un Usuario donde pertenescan al centro seleccionado predicate = predicate.And(w => w.ESTATUS.Equals("S") && w.EMPLEADO.ID_CENTRO == SelectCentro && w.USUARIO_ROL.Select(s => (short?)s.ID_ROL).Contains(SelectDep.ID_ROL)); if (SelectedCoordinadoresAsignados != null && SelectCentro > 0) { // Filtra a la persona que ya esta registrada como coordinadora para que no aparesca en la lista de coordinadores predicate = predicate.And(w => w.ID_PERSONA != SelectedCoordinadoresAsignados.OBJETO_DEPARTAMENTO_ACCESO.USUARIO.ID_PERSONA); }///Filtra Usuario seleccioando para que no vuelva aparecer en al alista foreach (var PERSONA in UsuarioControlador.GetData(predicate.Expand()).Select(s => s.EMPLEADO.PERSONA).OrderBy(o => o.PATERNO).ThenBy(then => then.MATERNO).ThenBy(then2 => then2.NOMBRE)) { var ObjCoordinador = new cSELECCION_COORDINADORES(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); ObjCoordinador.ID_EMPLEADO = PERSONA.ID_PERSONA; sb.Append(!string.IsNullOrEmpty(PERSONA.PATERNO) ? PERSONA.PATERNO.Trim() : ""); sb.Append(" "); sb.Append(!string.IsNullOrEmpty(PERSONA.MATERNO) ? PERSONA.MATERNO.Trim() : ""); sb.Append(" "); sb.Append(!string.IsNullOrEmpty(PERSONA.NOMBRE) ? PERSONA.NOMBRE.Trim() : ""); ObjCoordinador.COORDINADOR_NOMBRE = sb.ToString(); ListaCoordinadores.Add(ObjCoordinador); } System.Windows.Application.Current.Dispatcher.Invoke((Action)(delegate { LstCoordinadores = new ObservableCollection <cSELECCION_COORDINADORES>(ListaCoordinadores); LstCoordinadores.Insert(0, new cSELECCION_COORDINADORES() { ID_EMPLEADO = -1, COORDINADOR_NOMBRE = "SELECCIONE" }); SelectedCoordinador = LstCoordinadores.FirstOrDefault(w => w.ID_EMPLEADO == -1); })); }