Пример #1
0
        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);
        }
Пример #2
0
        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);
        }