//Toma la decicion de que acción realizar para el cuestionario validado public ArrayList crearCuestionario(Cuestionario nCuestionario) { ArrayList procesoFinalizado = new ArrayList(); int accesos = nCuestionario.NroAccesos; int maxAccesos = nCuestionario.MaxAccesos; string estadoCuestionario = nCuestionario.obtenerEstado(); switch (accesos < maxAccesos) { case true: PuestoEvaluado puestoEv = nCuestionario.PuestoEvaluado; DateTime fechaComienzoEvaluacion = gestorEvaluacion.obtenerFechaEvaluacion(puestoEv); //tiempo del sistema es el tiempo en dias que se prevee para la evaluación int tiempoSist = admBD.darTiempoEvaluacion(); //tiempo actual es el tiempo transcurrido en dias desde el se inicio de la evaluacion int tiempoActual = this.determinarCantidad_DeDiasPasados(fechaComienzoEvaluacion); switch (tiempoActual <= tiempoSist) { case true: //tiempo maximo es el tiempo maximo para realizar el cuestionario desde que se comienza int tiempoMax = admBD.darTiempoActivo(); DateTime fechaCuestionario = nCuestionario.obtenerFechaEstado(); //tiempo activo es el tiempo que transcurrio desde que se comenzo a realizar el cuestionario int tiempoActivo = this.determinarCantidad_DeDiasPasados(fechaCuestionario); switch (tiempoActivo <= tiempoMax) { case true: { if (Equals(estadoCuestionario, "EN PROCESO") == true) { Bloque bloq_retorno = this.levantarCuestionario(nCuestionario); procesoFinalizado.Add(bloq_retorno); } else if (Equals(estadoCuestionario, "ACTIVO") == true) { procesoFinalizado.Add("instrucciones"); //va al objeto interfaz break; } } break; case false: cerrarCuestionario(nCuestionario, estadoCuestionario); procesoFinalizado.Add("Se supero el tiempo para estar Activo establecido para completar el cuestionario"); break; } break; case false: cerrarCuestionario(nCuestionario, estadoCuestionario); procesoFinalizado.Add("Supero el tiempo maximo permitido para completar el cuestionario"); break; } break; case false: cerrarCuestionario(nCuestionario, estadoCuestionario); procesoFinalizado.Add("Supero la cantidad maxima de accesos permitida para completar el cuestionario"); break; } return(procesoFinalizado); }