public void Read(string x)
        {
            try
            {
                this.SEMESTERS.Clear();

                CONNECT.OpenConnection();
                SqlCommand    command = CONNECT.CreateSQLCmd(@"select distinct SEM_NAME from SEMESTER where ID = '" + x + "'");
                SqlDataReader reader  = command.ExecuteReader();
                while (reader.HasRows)
                {
                    if (reader.Read() == false)
                    {
                        break;
                    }
                    Semester sem = new Semester(reader.GetString(0));
                    listSem.Add(sem);
                }
                CONNECT.CloseConnection();

                CONNECT.OpenConnection();
                command = CONNECT.CreateSQLCmd(@"select * from TABLESCORE where ID_USER = '******'");
                reader  = command.ExecuteReader();

                while (reader.HasRows)
                {
                    if (reader.Read() == false)
                    {
                        break;
                    }

                    string sNameOfSem = reader.GetString(1);
                    string sID        = reader.GetString(2);
                    string sName      = reader.GetString(3);
                    int    iCredit    = reader.GetByte(4);

                    Subject sub = new Subject(sID, sName, iCredit);
                    CScore  s1  = new CScore((float)reader.GetSqlDouble(5), (float)reader.GetSqlDouble(9));
                    CScore  s2  = new CScore((float)reader.GetSqlDouble(6), (float)reader.GetSqlDouble(10));
                    CScore  s3  = new CScore((float)reader.GetSqlDouble(7), (float)reader.GetSqlDouble(11));
                    CScore  s4  = new CScore((float)reader.GetSqlDouble(8), (float)reader.GetSqlDouble(12));

                    ScoreOfSub score = new ScoreOfSub(sub, s1, s2, s3, s4);

                    foreach (var sem in listSem)
                    {
                        if (sem.Name == sNameOfSem)
                        {
                            sem.SCORETABLE.Add(score);
                        }
                    }
                }

                CONNECT.CloseConnection();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
 public ScoreOfSub()
 {
     sSubject = new Subject();
     fAverage = 0;
     for (int i = 0; i < 4; i++)
     {
         lScore[i] = new CScore();
     }
     CONNECT = new Connect();
 }
        public ScoreOfSub(Subject subject, CScore s1, CScore s2, CScore s3, CScore s4)
        {
            CONNECT       = new Connect();
            this.sSubject = subject;
            lScore[0]     = s1;
            lScore[1]     = s2;
            lScore[2]     = s3;
            lScore[3]     = s4;

            fAverage = ((s1.Value * s1.Weight + s2.Value * s2.Weight + s3.Value * s3.Weight + s4.Value * s4.Weight)
                        / (s1.Weight + s2.Weight + s3.Weight + s4.Weight));
            fAverage = Math.Round(fAverage, 1);

            CONNECT.OpenConnection();
            CONNECT.CloseConnection();
        }