public static List <USUARIO> ObtenerMiemrosHabilitados(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)) { listaMiembros.Add(new Tuple <USUARIO, Tuple <int, decimal> >(item, new Tuple <int, decimal>(ControladorUsuarios.ObtenerCantidadCalificaciones(item), ControladorActividades.ObtenerTipoActividadUsuario(ControladorActividades.ObtenerActividad(actividad).id_tipo_actividad, item.id_usuario).calificacion.Value))); } } return(listaMiembros.OrderByDescending(x => x.Item2.Item2).ThenBy(x => x.Item2.Item1).Select(x => x.Item1).ToList()); }
private void CrearRecursos() { IXLWorksheet _worksheetProyecto = _xlworkbook.Worksheet("Tabla_Recursos"); List <USUARIO> usuarios = ControladorUsuarios.ObtenerTodosUsuarios().Where(x => x.activo == true).ToList(); int fila = 2; foreach (var item in usuarios) { _worksheetProyecto.Cell(fila, 1).Value = fila - 1; _worksheetProyecto.Cell(fila, 2).Value = item.FullName; _worksheetProyecto.Cell(fila, 3).Value = item.nombre.ToCharArray().ElementAt(0).ToString().ToUpper() + item.apellido.ToCharArray().ElementAt(0).ToString().ToUpper(); _worksheetProyecto.Cell(fila, 4).Value = "Trabajo"; _worksheetProyecto.Cell(fila, 5).Value = ""; _worksheetProyecto.Cell(fila, 6).Value = "Descar"; _worksheetProyecto.Cell(fila, 9).Value = "100%"; _worksheetProyecto.Cell(fila, 10).Value = "$ 0.00/h"; _worksheetProyecto.Cell(fila, 10).Value = 0; fila++; } }
private void ActualizarDesdeBaseDatos() { IXLWorksheet _worksheetProyecto = _xlworkbook.Worksheet("SOPORTE"); List <USUARIO> usuarios = ControladorUsuarios.ObtenerTodosUsuarios(); List <TIPO_SUBPROYECTO> tipoSubproyectos = ControladorSubproyecto.ObtenerTiposSubproyecto(); List <HORA_TIPO_SUBPROYECTO> horaTipoSubproyectos = ControladorSubproyecto.ObtenerHorasTipoUnidad(); List <Control> _controles = new ControladorControles().ObtenerTodos(); int fila = 2; foreach (USUARIO usuario in usuarios) { _worksheetProyecto.Cell(fila, 3).Value = usuario.nombre + " " + usuario.apellido; fila++; } fila = 2; foreach (TIPO_SUBPROYECTO tipoSub in tipoSubproyectos) { _worksheetProyecto.Cell(fila, 4).Value = tipoSub.nombre_tipo_subproyecto; fila++; } fila = 2; foreach (HORA_TIPO_SUBPROYECTO horaUnidad in horaTipoSubproyectos) { _worksheetProyecto.Cell(fila, 5).Value = horaUnidad.nombre; _worksheetProyecto.Cell(fila, 6).Value = horaUnidad.horas; fila++; } fila = 2; foreach (Control control in _controles) { _worksheetProyecto.Cell(fila, 7).Value = control.nombre_control; fila++; } //_xlworkbook.Save(); }
/// <summary> /// Obtiene la estructura de todo el proyecto, incluyendo las actividades que la involucran, y las asignaciones. /// </summary> /// <param name="lista"></param> /// <param name="sub"></param> /// <param name="nivel"></param> /// <returns></returns> public static List <ClaseExpGantt> ObtenerEstructuraSubproyectosConActividades(List <ClaseExpGantt> lista, SUBPROYECTO sub, int nivel) { List <SUBPROYECTO> listaSubproyectos = ObtenerSubproyectosHijos(subpro: sub); List <Actividad_proyecto> actividades = ControladorActividades.ObtenerActividadesProyectoDeSubproyecto(sub); ClaseExpGantt estructura = new ClaseExpGantt() { subproyecto = sub, nivel = nivel }; lista.Add(estructura); nivel = nivel + 1; foreach (var actividad in actividades) { Detalle_recurso tarea = ControladorTareas.ObtenerPorActividad(actividad); ClaseExpGantt ExpoActivida = new ClaseExpGantt() { actividadProy = actividad, nivel = nivel, tarea = tarea, subproyecto = null, actividad = ControladorActividades.ObtenerActividad(actividad), usuario = tarea != null?ControladorUsuarios.ObtenerUsuario(tarea.id_usuario.Value) : null }; lista.Add(ExpoActivida); } foreach (SUBPROYECTO subpro in listaSubproyectos) { ObtenerEstructuraSubproyectosConActividades(lista, subpro, nivel); } return(lista); }
/// <summary> /// Agrega una tarea en la base de datos para el usuario seleccionado. /// Se asigna con estado Pendiente. /// Si el usuaro ya tiene ese /// </summary> /// <param name="idActividadProyectoSolicitar"></param> /// <param name="idUsuario"></param> /// <returns></returns> public static Detalle_recurso RequerirTarea(int idActividadProyectoSolicitar, int idUsuario) { Detalle_recurso tarea = new Detalle_recurso(); tarea.id_actividad_proyecto = idActividadProyectoSolicitar; tarea.forzada = false; tarea.id_usuario = idUsuario; tarea.motivo = "solicitud"; tarea.tipo = ""; tarea.porcentaje_avance = 0; tarea.realizada = false; tarea.cantidad_hora = Convert.ToDecimal(ControladorActividades.ObtenerHorasTotalesActividad(ControladorActividades.ObtenerActividadProyecto(idActividadProyectoSolicitar))); tarea.id_estado = ObtenerEstadoPorNombre("Pendiente").IdEstadoTarea; tarea.fecha_inicio = DateTime.Now; tarea.fecha_fin = ControladorCalendario.CalcularFechaFin(ControladorActividades.ObtenerActividadProyecto(idActividadProyectoSolicitar), ControladorUsuarios.ObtenerUsuario(idUsuario), tarea.fecha_inicio.Value, ControladorActividades.ObtenerHorasTotalesActividad(ControladorActividades.ObtenerActividadProyecto(idActividadProyectoSolicitar))); tarea.duracion_cadista = (decimal)ControladorActividades.ObtenerHorasOrdenCompraParaCadista(ControladorActividades.ObtenerActividadProyecto(idActividadProyectoSolicitar)); tarea.fecha_inicio_cadista = tarea.fecha_inicio; tarea.fecha_fin_cadista = tarea.fecha_fin; if (ControladorTareas.EstaAsignadaAUsuario(idActividadProyectoSolicitar, idUsuario) == null) { return(Insertar(tarea)); } return(null); }