public DataTable ReadWithSelectedId(DataTable table,Object.Specialization specialization)
        {
            using (SqlConnection con = new SqlConnection(SharedMethods.getConnectionString()))
            {
                SqlCommand cmd = new SqlCommand("Select Grade,Letter From tblClass Where SpecializationId = @SpecializationId", con);
                cmd.CommandType = CommandType.Text;

                cmd.Parameters.AddWithValue("@SpecializationId", specialization.Id);

                con.Open();
                using (SqlDataReader rdr = cmd.ExecuteReader())
                {

                    while (rdr.Read())
                    {
                        DataRow row = table.NewRow();

                        row["Grade"] = rdr["Grade"];
                        row["Letter"] = rdr["Letter"];

                        table.Rows.Add(row);
                    }

                    return table;
                }
            }
        }
        public void Delete(int Id, out string Message, out System.Drawing.Color Color)
        {
            Object.Specialization specialization = new Object.Specialization();
            specialization.Id = Id;

            int ResultNumber = crud.Delete(specialization);

            message.Delete(ResultNumber, out Message, out Color);
        }
        public void Update(int Id, string specialization, out string Message, out System.Drawing.Color Color)
        {
            Object.Specialization Specialization = new Object.Specialization();
            Specialization.Id   = Id;
            Specialization.Name = specialization;

            int ResultNumber = crud.Update(Specialization);

            message.Update(ResultNumber, out Message, out Color);
        }
        public void Create(string specializationName, out string Message, out System.Drawing.Color Color)
        {
            Object.Specialization specialization = new Object.Specialization();

            specialization.Name = specializationName;

            int ResultNumber = crud.Create(specialization);

            message.Create(ResultNumber, out Message, out Color);
        }
        public DataTable ReadWithSelectedId(int Id)
        {
            DataTable table = new DataTable();
            Object.Specialization specialization = new Object.Specialization();
            specialization.Id = Id;

            table.Columns.Add("Grade");
            table.Columns.Add("Letter");

            return crud.ReadWithSelectedId(table, specialization);
        }
        public int Delete(Object.Specialization specialization)
        {
            using (SqlConnection con = new SqlConnection(SharedMethods.getConnectionString()))
            {
                SqlCommand cmd = new SqlCommand("spDeleteSpecialization_tblSpecialization", con);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@Id", specialization.Id);

                SqlParameter Result = new SqlParameter("@ResultNumber", DbType.Int32);
                Result.Direction = ParameterDirection.Output;

                cmd.Parameters.Add(Result);

                con.Open();
                cmd.ExecuteNonQuery();

                return((int)Result.Value);
            }
        }