Ejemplo n.º 1
0
        public static List <Tuple <USUARIO, decimal> > ObtenerMiemrosHabilitadosParaAsignar(Actividad_proyecto actividad)
        {
            List <USUARIO> miembros = ObtenerMiembrosIndirectos(BuscarPorId(actividad.id_subproyecto.Value));
            List <Tuple <USUARIO, Tuple <int, decimal> > > listaMiembros = new List <Tuple <USUARIO, Tuple <int, decimal> > >();

            foreach (var item in miembros)
            {
                if (ControladorUsuarios.EstaHabilitadoParaActividad(item, actividad))
                {
                    decimal?calif = ControladorActividades.ObtenerTipoActividadUsuario(ControladorActividades.ObtenerActividad(actividad).id_tipo_actividad, item.id_usuario).calificacion;
                    listaMiembros.Add(new Tuple <USUARIO, Tuple <int, decimal> >(item, new Tuple <int, decimal>(ControladorUsuarios.ObtenerCantidadCalificaciones(item), calif.HasValue ? calif.Value : 1)));
                }
            }

            return(listaMiembros.OrderByDescending(x => x.Item2.Item2).ThenBy(x => x.Item2.Item1).AsEnumerable().Select(x => new Tuple <USUARIO, decimal>(x.Item1, x.Item2.Item2)).ToList());
        }