public static bool TieneLogueoPermitido(Detalle_recurso dr) { Actividad_proyecto ap = ActividadProyectoDB.ObtenerActividadProyecto(dr.id_actividad_proyecto.Value); SUBPROYECTO subproyecto = ControladorSubproyecto.BuscarPorId(ap.id_subproyecto.Value); Proyecto p = ControladorProyecto.ObtenerPorID(ap.id_proyecto.Value); Tipo_actividad ta = ControladorActividades.ObtenerTipoActividad(ap); Movimiento_voz mv = ControladorActividades.ObtenerMovimientoVoz(ap); bool decision = false; int orden = (int)ap.orden; if (dr.realizada.Value) { return(false); } if (dr.forzada && !dr.realizada.Value) { decision = true; } if (ap.no_conformidad) { return(false); } if (p.activo.HasValue && !p.activo.Value) { return(false); } if (orden == 1) { decision = true; } var anterior = ControladorActividades.ObtenerActividadAnterior(ap); if (anterior == null) { return(true); } if (ControladorActividades.TieneControl_prod_1_Completado(anterior)) { decision = true; } else { decision = false; } ///////// TODO - CAMBIAR A POR ORDEN //if (ta.descripcion.ToLower().Contains("conce")) //{ // if(mv == null || !mv.control_prod.Value) // { // decision = true; // } //} //else if (ta.descripcion.ToLower().Contains("prep")) //{ // Tipo_actividad tipo_act_concepto = ControladorActividades.ObtenerTipoActividad("concepto"); // Actividad_proyecto concepto = ControladorSubproyecto.ObtenerActividaHijaDeTipo(subproyecto, tipo_act_concepto); // if (ControladorActividades.TieneControl_prod_1_Completado(concepto) && !ControladorActividades.TieneControl_prod_1_Completado(ap)) // { // decision = true; // } //} //else if (ta.descripcion.ToLower().Contains("deta")) //{ // Tipo_actividad tipo_act_concepto = ControladorActividades.ObtenerTipoActividad("concepto"); // Tipo_actividad tipo_act_preparacion = ControladorActividades.ObtenerTipoActividad("preparac"); // Actividad_proyecto concepto = ControladorSubproyecto.ObtenerActividaHijaDeTipo(subproyecto, tipo_act_concepto); // Actividad_proyecto preparacion = ControladorSubproyecto.ObtenerActividaHijaDeTipo(subproyecto, tipo_act_preparacion); // if (ControladorActividades.TieneControl_prod_1_Completado(concepto) && ControladorActividades.TieneControl_prod_1_Completado(preparacion) && !ControladorActividades.TieneControl_prod_1_Completado(ap)) // { // decision = true; // } //} //else //{ // decision = true; //} ////////////// END TODO if (decision) { if (dr.id_estado.HasValue) { if (dr.id_estado <= 2) { return(true); } return(false); } else { return(decision); } } return(false); }