Esempio n. 1
0
        /// <summary>
        /// Lấy bảng điểm tổng kết học kỳ theo lớp
        /// </summary>
        /// <param name="maLop">String: mã lớp</param>
        /// <param name="maHocKy">String: Mã học kỳ</param>
        /// <returns>List BangDiemHocKyDTO</returns>
        public List <BangDiemHocKyDTO> LayList_BangDiem_Lop_HocKy(string maLop, string maHocKy)
        {
            var bangDiemHocKy = new List <BangDiemHocKyDTO>();
            // Lấy ds học sinh của lớp
            List <HocSinhDTO> dsHocsinh    = _hocSinhDAL.LayList_HocSinh_LopHoc(maLop);
            MonHoc_HeSoDTO    dsHeSoMonHoc = _monHocDAL.LayDTO_HeSoMonHoc();

            foreach (HocSinhDTO hocsinh in dsHocsinh)
            {
                var bangDiemCaNhan = new BangDiemHocKyDTO
                {
                    STT        = hocsinh.STT,
                    MaHocSinh  = hocsinh.MaHocSinh,
                    TenHocSinh = hocsinh.TenHocSinh
                };
                // Tinh điểm tb
                DataTable tbBangDiem  = _bangDiemDAL.LayBangDiem_HocKy_HocSinh(maLop, hocsinh.MaHocSinh, maHocKy);
                int       soMonHoc    = tbBangDiem.Rows.Count;
                int       soMonDuDiem = 0;
                double    tongDiem    = 0;
                double    tongHeSo    = 0;
                double    heso        = 0;
                foreach (DataRow dr in tbBangDiem.Rows)
                {
                    object dtb;
                    if (dr["DTB"] is DBNull)
                    {
                        dtb = "_";
                    }
                    else
                    {
                        dtb = dr["DTB"];
                    }

                    switch (Convert.ToString(dr["MaMonHoc"]))
                    {
                    case "toan":
                        bangDiemCaNhan.Dtoan = dtb;
                        heso = dsHeSoMonHoc.toan;
                        break;

                    case "ly":
                        bangDiemCaNhan.Dly = dtb;
                        heso = dsHeSoMonHoc.ly;
                        break;

                    case "hoa":
                        bangDiemCaNhan.Dhoa = dtb;
                        heso = dsHeSoMonHoc.hoa;
                        break;

                    case "sinh":
                        bangDiemCaNhan.Dsinh = dtb;
                        heso = dsHeSoMonHoc.sinh;
                        break;

                    case "ngvan":
                        bangDiemCaNhan.Dngvan = dtb;
                        heso = dsHeSoMonHoc.nngu;
                        break;

                    case "su":
                        bangDiemCaNhan.Dsu = dtb;
                        heso = dsHeSoMonHoc.su;
                        break;

                    case "dia":
                        bangDiemCaNhan.Ddia = dtb;
                        heso = dsHeSoMonHoc.dia;
                        break;

                    case "nngu":
                        bangDiemCaNhan.Dnngu = dtb;
                        heso = dsHeSoMonHoc.nngu;
                        break;

                    case "tin":
                        bangDiemCaNhan.Dtin = dtb;
                        heso = dsHeSoMonHoc.tin;
                        break;

                    case "tduc":
                        bangDiemCaNhan.Dtduc = dtb;
                        heso = dsHeSoMonHoc.tduc;
                        break;

                    case "gdcd":
                        bangDiemCaNhan.Dgdcd = dtb;
                        heso = dsHeSoMonHoc.gdcd;
                        break;

                    case "qphong":
                        bangDiemCaNhan.Dqphong = dtb;
                        heso = dsHeSoMonHoc.qphong;
                        break;

                    case "cnghe":
                        bangDiemCaNhan.Dcnghe = dtb;
                        heso = dsHeSoMonHoc.cnghe;
                        break;
                    }
                    if (!Convert.ToString(dtb).Equals("_"))
                    {
                        tongDiem += heso * Convert.ToDouble(dtb);
                        tongHeSo += heso;
                        soMonDuDiem++;
                    }
                }
                if (soMonDuDiem == soMonHoc)
                {
                    bangDiemCaNhan.DTB = ObjectUtil.LamTron(tongDiem / tongHeSo, 2);
                }
                else
                {
                    bangDiemCaNhan.DTB = "_";
                }

                bangDiemHocKy.Add(bangDiemCaNhan);
            }

            return(bangDiemHocKy);
        }
Esempio n. 2
0
        public MonHoc_HeSoDTO LayDTO_HeSoMonHoc()
        {
            string sql = "SELECT MaMonHoc, HeSo FROM MONHOC WHERE TrangThai = 1";

            OpenConnect();
            SqlDataReader dr     = ExecuteReader(sql);
            var           dsHeSo = new MonHoc_HeSoDTO();

            while (dr.Read())
            {
                double heso = Convert.ToDouble(dr["HeSo"]);
                switch (dr["MaMonHoc"].ToString())
                {
                case "toan":
                    dsHeSo.toan = heso;
                    break;

                case "ly":
                    dsHeSo.ly = heso;
                    break;

                case "hoa":
                    dsHeSo.hoa = heso;
                    break;

                case "sinh":
                    dsHeSo.sinh = heso;
                    break;

                case "nvan":
                    dsHeSo.nvan = heso;
                    break;

                case "su":
                    dsHeSo.su = heso;
                    break;

                case "dia":
                    dsHeSo.dia = heso;
                    break;

                case "nngu":
                    dsHeSo.nngu = heso;
                    break;

                case "tin":
                    dsHeSo.tin = heso;
                    break;

                case "tduc":
                    dsHeSo.tduc = heso;
                    break;

                case "gdcd":
                    dsHeSo.gdcd = heso;
                    break;

                case "qphong":
                    dsHeSo.qphong = heso;
                    break;

                case "cnghe":
                    dsHeSo.cnghe = heso;
                    break;
                }
            }
            CloseConnect();
            return(dsHeSo);
        }