public static bool EliminarSubproyecto(SUBPROYECTO subproyecto) { var lista = new List <Tuple <SUBPROYECTO, int> >(); var subpHijos = ObtenerEstructuraSubproyectos(lista, subproyecto, 1); foreach (var subp in subpHijos) { List <Actividad_proyecto> actividades = ControladorActividades.ObtenerActividadesProyectoDeSubproyecto(subp.Item1); foreach (var item in actividades) { if (ControladorActividades.TieneHorasLogueadas(item)) { return(false); } } } foreach (var subp in subpHijos) { List <Actividad_proyecto> actividades = ControladorActividades.ObtenerActividadesProyectoDeSubproyecto(subp.Item1); foreach (var item in actividades) { ControladorActividades.EliminarActividad(item); } SubproyectoBD.EliminarSubproyecto(subp.Item1); } return(true); }
/// <summary> /// Asigna una OT al subproyecto. /// </summary> /// <param name="idSubproyecto"></param> /// <returns></returns> public static bool AsignarOT(int idSubproyecto) { if (ControladorSubproyecto.BuscarPorId(idSubproyecto).ot == null || ControladorSubproyecto.BuscarPorId(idSubproyecto).ot == 0) { return(SubproyectoBD.AsignarOt(idSubproyecto)); } return(false); }
/// <summary> /// Obtiene el objeto Hora_Tipo_Subproyecto con el id indicado. /// </summary> /// <param name="id_hora_tipo_subproyecto"></param> /// <returns></returns> internal static HORA_TIPO_SUBPROYECTO ObtenerHoraTipoSubproyecto(int?id_hora_tipo_subproyecto) { if (id_hora_tipo_subproyecto == null || id_hora_tipo_subproyecto <= 0) { return(null); } return(SubproyectoBD.ObtenerHoraTipoSubproyecto(id_hora_tipo_subproyecto)); }
/// <summary> /// Obtiene el objeto Hora_Tipo_Subproyecto con le nombre indicado. /// </summary> /// <param name="hora_tipo_subproyecto"></param> /// <returns></returns> public static HORA_TIPO_SUBPROYECTO ObtenerHoraTipoSubproyecto(string hora_tipo_subproyecto) { if (hora_tipo_subproyecto == null || hora_tipo_subproyecto == "") { return(null); } return(SubproyectoBD.ObtenerHoraTipoSubproyecto(hora_tipo_subproyecto)); }
/// <summary> /// Actualiza el valor de asignacion automatica al subproyecto indicado y sus hijos. /// </summary> /// <param name="subproyecto"></param> /// <param name="nuevoValor"></param> public static void ActualizarAsignacionAutomatica(SUBPROYECTO subproyecto, bool nuevoValor) { SUBPROYECTO sub = subproyecto; List <SUBPROYECTO> subHijos = ObtenerSubproyectosHijos(sub); foreach (var item in subHijos) { SubproyectoBD.ActualizarAsignacionAutomatica(item, nuevoValor); ActualizarAsignacionAutomatica(item, nuevoValor); } }
public static List <Tuple <USUARIO, double> > ObtenerHorasTrabajadasPorUsuario(SUBPROYECTO sUBPROYECTO) { var lista = new List <Tuple <SUBPROYECTO, int> >(); List <Tuple <USUARIO, double> > listaReturn = new List <Tuple <USUARIO, double> >(); List <SUBPROYECTO> subproyectos = ObtenerEstructuraSubproyectos(lista, sUBPROYECTO, 1).Select(x => x.Item1).ToList(); foreach (var item in subproyectos) { listaReturn.AddRange(SubproyectoBD.ObtenerHorasTrabajadasPorUsuario(item)); } return(listaReturn.GroupBy(x => x.Item1.id_usuario).ToList().Select(cl => new Tuple <USUARIO, double>(cl.First().Item1, cl.Sum(x => x.Item2))).ToList()); }
/// <summary> /// Verifica si el subproyecto ya tiene un hijo con ese nombre. /// </summary> /// <param name="nombreHijo">Nombre del hijo</param> /// <param name="idSubproyectoPadre">Subproyecto a buscar</param> /// <returns></returns> public static SUBPROYECTO YaExisteHijo(string nombreHijo, int idSubproyectoPadre) { return(SubproyectoBD.YaExisteHijo(nombreHijo, idSubproyectoPadre)); }
public static Actividad_proyecto ObtenerActividaHijaDeTipo(SUBPROYECTO subproyecto, Tipo_actividad tipo) { return(SubproyectoBD.ObtenerActividaHijaDeTipo(subproyecto, tipo)); }
/// <summary> /// Busca un subproyecto por OT del cliente. /// </summary> /// <param name="ot"></param> /// <param name="idUsuario"></param> /// <param name="validaMiembro"></param> /// <returns></returns> public static SUBPROYECTO BuscarPorOTCliente(string ot, int idUsuario, bool validaMiembro) { return(SubproyectoBD.BuscarPorOTCliente(ot, idUsuario, validaMiembro)); }
/// <summary> /// Obtiene la lista de miembros que fueron explicitamente asignados a ese subproyecto /// </summary> /// <param name="subproyecto">El subproyecto a buscar sus miembros</param> /// <returns>Lista de miembros que explicitamente pueden trabajar en ese subproyecto</returns> public static List <USUARIO> ObtenerMiembrosDirectos(SUBPROYECTO subproyecto) { return(SubproyectoBD.ObtenerMiembrosDirectos(subproyecto)); }
/// <summary> /// Obtiene una lista de todos los Tipos de Subproyecto en la base de datos /// </summary> /// <returns></returns> internal static List <TIPO_SUBPROYECTO> ObtenerTiposSubproyecto() { return(SubproyectoBD.ObtenerTipoSubproyectos()); }
/// <summary> /// Obtiene una lista de las Horas_Tipo_Unidad, que contiene la descripcion y las horas /// de los tipos de subproyecto. /// </summary> /// <returns></returns> internal static List <HORA_TIPO_SUBPROYECTO> ObtenerHorasTipoUnidad() { return(SubproyectoBD.ObtenerHorasTipoUnidad().OrderBy(x => x.nombre).ToList()); }
/// <summary> /// Obtiene el subproyecto padre, null si es proyecto. /// </summary> /// <param name="subpro"></param> /// <returns></returns> public static SUBPROYECTO ObtenerSubproyectoPadre(SUBPROYECTO subpro) { return(SubproyectoBD.ObtenerSubproyectoPadre(subpro)); }
/// <summary> /// Obtiene los subproyectos hijos directos del subproyecto indicado. /// </summary> /// <param name="subpro"></param> /// <returns></returns> public static List <SUBPROYECTO> ObtenerSubproyectosHijos(SUBPROYECTO subpro) { return(SubproyectoBD.ObtenerSubproyectosHijos(subpro)); }
/// <summary> /// Busca un subproyecto por su ID. /// </summary> /// <param name="id_subproyecto"></param> /// <returns></returns> public static SUBPROYECTO BuscarPorId(int id_subproyecto) { return(SubproyectoBD.BuscarPorId(id_subproyecto)); }
/// <summary> /// Inserta un subproyecto en la base de datos. /// </summary> /// <param name="subproyecto"></param> /// <returns></returns> public static SUBPROYECTO InsertarSubproyecto(SUBPROYECTO subproyecto) { return(SubproyectoBD.Insertar(subproyecto)); }
public static List <SUBPROYECTO> ObtenerSubproyectosConActividadesActivos() { return(SubproyectoBD.ObtenerSubproyectosConActividadesActivos()); }
/// <summary> /// Obtiene el TIpo de Subproyecto del Subproyecto indicado. /// </summary> /// <param name="subproyecto"></param> /// <returns></returns> public static TIPO_SUBPROYECTO ObtenerTipoSubproyecto(SUBPROYECTO subproyecto) { return(SubproyectoBD.ObtenerTipoSubproyecto(subproyecto)); }
public static List <AvanceSubproyecto> ObtenerAvanceConcepto(SUBPROYECTO subpr, Tipo_actividad tipo_actividad) { return(SubproyectoBD.ObtenerAvanceConcepto(subpr, tipo_actividad)); }
/// <summary> /// Obtiene Tipo_Subproyecto por nombre /// </summary> /// <param name="subproyecto"></param> /// <returns></returns> public static TIPO_SUBPROYECTO ObtenerTipoSubproyectoPorNombre(string subproyecto) { return(SubproyectoBD.ObtenerTipoSubproyecto(subproyecto)); }
/// <summary> /// Obtiene la lista de miembros que fueron explicitamente asignados a ese subproyecto /// </summary> /// <param name="subproyecto">El subproyecto a buscar sus miembros</param> /// <returns>Lista de miembros que explicitamente pueden trabajar en ese subproyecto</returns> public static List <USUARIO> ObtenerMiembrosDirectosOrdenMenorCalificaciones(SUBPROYECTO subproyecto) { return(SubproyectoBD.ObtenerMiembrosDirectosOrdenMenorCalificaciones(subproyecto)); }
/// <summary> /// Obtiene una lista de los subproyectos de un proyecto o subroyecto. /// </summary> /// <param name="id_proyecto">Id del proyecto</param> /// <param name="id_subproyecto">Id del subproyecto. Si es 1 busca los hijos directos del proyecto</param> /// <returns></returns> public static List <SUBPROYECTO> ObtenerPorProyecto(int id_proyecto, int?id_subproyecto) { return(SubproyectoBD.ObtenerPorProyecto(id_proyecto, id_subproyecto > 1 ? id_subproyecto : 1)); }
/// <summary> /// Busca un subproyecto por su nombre, si validaMiembro es true, valida que el usuario indicado /// sea miembro del mismo, de lo contrario no devuelve. /// </summary> /// <param name="nombre">Nombre a buscar</param> /// <param name="idUsuario">Id del usuario que hace la busqueda</param> /// <param name="validarMiembro">Booleano para indicar si valida el usuario o muestra todos</param> /// <returns></returns> public static SUBPROYECTO BuscarPorNombre(string nombre, int idUsuario, bool validarMiembro) { return(SubproyectoBD.BuscarPorNombre(nombre, idUsuario, validarMiembro)); }
/// <summary> /// Obtiene una lista de Actividades_Proyecto que pertenecen a un subproyecto. /// </summary> /// <param name="subproyecto"></param> /// <returns></returns> public static List <Actividad_proyecto> ObtenerActividades(SUBPROYECTO subproyecto) { return(SubproyectoBD.ObtenerActividades(subproyecto)); }
/// <summary> /// Actualiza los datos del subproyecto. /// </summary> /// <param name="subproyecto"></param> /// <returns></returns> public static SUBPROYECTO ActualizarSubproyecto(SUBPROYECTO subproyecto) { return(SubproyectoBD.UpdateSubproyecto(subproyecto)); }
/// <summary> /// El formato de las hojas de EXcel para la exportacion es: [ot] - Nombre. /// Este método toma ese String y devuelve el Subproyecto que tiene esa OT en ese proyecto. /// </summary> /// <param name="nombre"></param> /// <param name="idProyecto"></param> /// <returns></returns> public static SUBPROYECTO BuscarPorOTDeExportacion(string nombre, int idProyecto) { return(SubproyectoBD.BuscarPorOTDeExportacion(nombre, idProyecto)); }