private PhaseBase getPhase(int phaseId) { SqlConnection dbConnection = DbConnection.GetConnection(); int id = 0; string description = ""; string name = ""; string phaseType = ""; string valenceArousalQuadrant = ""; List <float> stimulusIds; try { dbConnection.Open(); SqlCommand cmd = new SqlCommand($"SELECT [ID], [DESCRIPTION], [NAME], [PHASE_TYPE], [VALENCE_AROUSAL_QUARDRANT], [STIMULI_ID] FROM PHASE WHERE ID = {phaseId}", dbConnection); SqlDataReader dr = cmd.ExecuteReader(); stimulusIds = new List <float>(); while (dr.Read()) { id = int.Parse(Convert.ToString(dr["ID"])); description = Convert.ToString(dr["DESCRIPTION"]); name = Convert.ToString(dr["NAME"]); phaseType = Convert.ToString(dr["PHASE_TYPE"]); valenceArousalQuadrant = Convert.ToString(dr["VALENCE_AROUSAL_QUARDRANT"]); stimulusIds.Add(float.Parse(Convert.ToString(dr["STIMULI_ID"]))); } } catch (Exception e) { string message = "Error recuperando phase de la base de datos"; Console.WriteLine(message + e.Message); throw e; } finally { dbConnection.Close(); } PhaseBase phaseBase; switch (phaseType) { case ImagePhase.IAP_TYPE: List <IAP> iapsList = IAPSDao.GetIAPS(stimulusIds, IAP.ALL_SUBJECTS); phaseBase = new ImagePhase(id, name, description, valenceArousalQuadrant, iapsList); break; case VideoPhase.DEVO_TYPE: List <DEVO> videos = DEVODao.GetVideos(stimulusIds, DEVO.ALL_SUBJECTS); phaseBase = new VideoPhase(id, name, description, valenceArousalQuadrant, videos); break; default: throw new TypeUnloadedException("Tipo de fase no definido"); } return(phaseBase); }
private List <DEVO> getVideos(List <float> videosIds, string gender) { SqlConnection dbConnection = DbConnection.GetConnection(); List <DEVO> videos; try { dbConnection.Open(); SqlCommand cmd = DEVODao.getCommand(gender, videosIds, dbConnection); SqlDataReader dr = cmd.ExecuteReader(); videos = new List <DEVO>(); while (dr.Read()) { float id = float.Parse(Convert.ToString(dr["id"])); int lengthInMs = int.Parse(Convert.ToString(dr["length_in_ms"])); string title = Convert.ToString(dr["title"]); string description = Convert.ToString(dr["description"]); float valenceMean = float.Parse(Convert.ToString(dr["valence_mean"])); float valenceStandardDeviation = float.Parse(Convert.ToString(dr["valence_sd"])); float arousalMean = float.Parse(Convert.ToString(dr["arousal_mean"])); float arousalStandardDeviation = float.Parse(Convert.ToString(dr["valence_sd"])); float impactMean = float.Parse(Convert.ToString(dr["impact_mean"])); float impactStandardDeviation = float.Parse(Convert.ToString(dr["impact_sd"])); videos.Add(new DEVO(id, lengthInMs, title, description, valenceMean, valenceStandardDeviation, arousalMean, arousalStandardDeviation, impactMean, impactStandardDeviation)); } } catch (Exception e) { string message = "Error recuperando las imagenes iaps de la base de datos"; Console.WriteLine(message + e.Message); throw e; } finally { dbConnection.Close(); } return(videos); }