private async Task getAllTiets()
        {
            lops = await apis.GetLops(main.HocKy);

            string lopFilter = "&lop=null";

            lops.ForEach(lop =>
            {
                lopFilter += $"&lop={lop.id}";
            });
            DateTime t2 = date;
            DateTime t7 = t2.AddDays(5);

            lopFilter += $"&ngay_gte={t2.ToString("yyyy-MM-dd")}&ngay_lte={t7.ToString("yyyy-MM-dd")}";
            tiets      = await apis.GetTietHocs(main.HocKy, null, lopFilter);

            List <TietHoc> list = new List <TietHoc>();

            tiets.ForEach(t =>
            {
                TietHoc tiet = t;
                if (tiet.lop == null)
                {
                    tiet.lop    = new Lop();
                    tiet.lop.id = 0;
                }
                list.Add(tiet);
            });
            tiets = list;
        }
Example #2
0
        private async void btnThem_Click(object sender, EventArgs e)
        {
            NgayNghi ngayNghi = new NgayNghi();

            ngayNghi.ten         = cbxTenNgayNghi.Text;
            ngayNghi.ngayBatDau  = dateNgayBatDau.Value;
            ngayNghi.ngayKetThuc = dateNgayKetThuc.Value;
            ngayNghi.hocKy       = main.HocKy;
            ngayNghi.lop         = lop;

            string         filter = $"&ngay_gte={ngayNghi.ngayBatDau.ToString("yyyy-MM-dd")}&ngay_lte={ngayNghi.ngayKetThuc.ToString("yyyy-MM-dd")}";
            List <TietHoc> list   = await apis.GetTietHocs(main.HocKy, lop, filter);

            if (list.Count == 0)
            {
                List <NgayNghi> chk = await apis.GetNgayNghis(main.HocKy, lop, ngayNghi.ngayBatDau, ngayNghi.ngayKetThuc);

                if (chk.Count == 0)
                {
                    JObject nn = await apis.PostNgayNghis(ngayNghi);
                    await LoadData();
                }
                else
                {
                    DialogResult dal = MessageBox.Show("Trùng với ngày nghỉ đã có trong hệ thống", "Trùng ngày nghỉ!", MessageBoxButtons.OK);
                }
            }
            else
            {
                string lops = "";
                list.ForEach(tiet =>
                {
                    lops += "- ";
                    if (tiet.lop != null)
                    {
                        lops += $"Lớp {tiet.lop.ten}:";
                    }
                    lops += $" tiết {tiet.tiet}, ngày {tiet.ngay.ToString("dd-MM-yyyy")}, {tiet.mon.ten}";
                    lops += ".\n";
                });
                DialogResult dal = MessageBox.Show("Kiểm tra lại các tiết đã xếp trong khoảng ngày bạn nhập:\n" + lops, "Trùng ngày với tiết học đã nhập!", MessageBoxButtons.OK);
            }
        }
        private async Task LoadData()
        {
            string ft = "";

            switch (filter)
            {
            case "Ngày":
                ft = "&ngay=" + Ngay.ToString("yyyy-MM-dd");
                break;

            case "Tuần":
                DateTime thu7 = main.getMonday(Ngay).AddDays(5);
                ft = $"&ngay_gte={main.getMonday(Ngay).ToString("yyyy-MM-dd")}&ngay_lte={thu7.ToString("yyyy-MM-dd")}";
                break;

            case "Tháng":
                string month1 = Ngay.Month < 10 ? $"0{Ngay.Month}" : $"{Ngay.Month}";
                int    m2     = Ngay.Month + 1;
                string month2 = Ngay.Month + 1 < 10 ? $"0{m2}" : $"{m2}";
                ft = $"&ngay_gte={Ngay.Year}-{month1}-01&ngay_lt={Ngay.Year}-{month2}-01";
                break;

            default:
                ft = "";
                break;
            }

            if (Lop == null)
            {
                return;
            }
            tietHocs = await apis.GetTietHocs(HocKy, Lop, ft);

            tietHocs.ForEach(tiet =>
            {
                tiet.vi_date = tiet.ngay.ToString("dd-MM-yyyy");
            });
            for (int i = 0; i < tietHocs.Count; i++)
            {
                tietHocs[i].vi_date = tietHocs[i].ngay.ToString("dd-MM-yyyy");
                if (i > 0)
                {
                    if (tietHocs[i].ngay == tietHocs[i - 1].ngay)
                    {
                        tietHocs[i].vi_date = "";
                    }
                }
            }

            gridTietHoc.DataSource = tietHocs;
        }
Example #4
0
        private async void btnXemTkbLop_ItemClick(object sender, ItemClickEventArgs e)
        {
            string choosed = cbxXemTheo.EditValue.ToString();
            string str     = txtTkbHocKy.EditValue == null ? "" : txtTkbHocKy.EditValue.ToString();

            if (choosed == "Lớp")
            {
                Lop lop = await apis.GetLop(HocKy, str);

                if (lop != null)
                {
                    TkbHocKyLopForm tKB_HK = new TkbHocKyLopForm(this, lop);
                    tKB_HK.tietHocs = await apis.GetTietHocs(HocKy, lop, "");

                    tKB_HK.MdiParent = this;
                    tKB_HK.Show();
                }
                else
                {
                    DialogResult dal = MessageBox.Show("Lớp không tồn tại", "Lỗi", MessageBoxButtons.OK);
                }
            }
            else
            {
                TieuDoan td = await apis.GetTieuDoan(str);

                if (td != null)
                {
                    TkbHocKyTieuDoanForm frm = new TkbHocKyTieuDoanForm(this, str);
                    frm.lops = await apis.GetLopsByTieuDoan(HocKy, str);

                    frm.MdiParent = this;
                    frm.Show();
                }
                else
                {
                    DialogResult dal = MessageBox.Show("Tiểu đoàn không tồn tại", "Lỗi", MessageBoxButtons.OK);
                }
            }
        }
Example #5
0
        private void TkbHocKyTieuDoanForm_Load(object sender, EventArgs e)
        {
            if (lops == null)
            {
                return;
            }
            if (lops.Count == 0)
            {
                return;
            }

            this.Text = $"Thời khoá biểu tiểu đoàn {tieuDoan}";
            //Mở file
            using (FileStream stream = new FileStream("TKBHK_Lop_template.xlsx", FileMode.Open))
            {
                xlsxViewer.LoadDocument(stream, DocumentFormat.Xlsx);
                wb = xlsxViewer.Document;
            }
            //Copy đủ sheet lớp
            int i = 1;

            lops.ForEach(async(lop) =>
            {
                TkbHocKyLopForm frm = new TkbHocKyLopForm(main, lop);
                frm.tietHocs        = await apis.GetTietHocs(main.HocKy, lop, "");
                frm.loadData();
                IWorkbook wb_temp = frm.wb;

                wb.Worksheets.Add();
                wb.Worksheets[i].CopyFrom(wb_temp.Worksheets[0]);
                wb.Worksheets[i].Name = lop.ten;

                wb.Worksheets["TKB_HK"].Visible = false;
                frm.Close();
                frm = null;
                i++;
            });
        }