public List <NgayNghi> NgayNghi()
        {
            List <NgayNghi> _listNgayNghi = new List <NgayNghi>();

            ;
            string _sQuery = "SELECT * FROM NGAYNGHI";

            DataTable _dt = SelectData.Select.ExcuteQuery(_sQuery);

            foreach (DataRow _dr in _dt.Rows)
            {
                NgayNghi _nn = new NgayNghi();

                _nn.Ngay       = _dr["NGAYNGHI"].ToString();
                _nn.IDNhanVien = _dr["IDNHANVIEN"].ToString();

                _listNgayNghi.Add(_nn);

                _nn = null;
            }

            _dt = null;

            return(_listNgayNghi);
        }
        public int RemoveNhanVien(string _sId, NgayNghi _nn, DanhSachCa _dsc, CaNghi _cn, LuongTam _lt)
        {
            int _i = 0;

            string _sQuery = "DELETE NHANVIEN WHERE ID = @ID";

            string _sQuery1 = "DELETE NGAYNGHI WHERE IDNHANVIEN = @IDNHANVIEN";

            string _sQuery2 = "DELETE DANHSACHCA WHERE IDNHANVIEN = @IDNHANVIEN";

            string _sQuery3 = "DELETE CANGHI WHERE IDNHANVIEN = @IDNHANVIEN";

            string _sQuery4 = "DELETE LUONGTAM WHERE IDNHANVIEN = @IDNHANVIEN";

            if (_nn != null)
            {
                _i += SelectData.Select.ExcuteNonQuery(_sQuery1, new object[] { _nn.IDNhanVien });
            }

            if (_dsc != null)
            {
                _i += SelectData.Select.ExcuteNonQuery(_sQuery2, new object[] { _dsc.IDNhanVien });
            }

            if (_cn != null)
            {
                _i += SelectData.Select.ExcuteNonQuery(_sQuery3, new object[] { _cn.IDNhanVien });
            }

            _i += SelectData.Select.ExcuteNonQuery(_sQuery4, new object[] { _lt.IDNhanVien });

            return(SelectData.Select.ExcuteNonQuery(_sQuery, new object[] { _sId }) + _i);
        }
예제 #3
0
        private async void btnXoa_Click(object sender, EventArgs e)
        {
            btnXoa.Enabled = false;
            NgayNghi ngayNghi = SelectingItem();
            JObject  ex       = await apis.DeleteNgayNghi(ngayNghi.id);

            btnHuyBo.Visible = false;
            btnSua.Enabled   = false;
            btnThem.Enabled  = true;
            await LoadData();
        }
예제 #4
0
        private async void btnSua_Click(object sender, EventArgs e)
        {
            NgayNghi ngayNghi = SelectingItem();

            ngayNghi.ten         = cbxTenNgayNghi.Text;
            ngayNghi.ngayBatDau  = dateNgayBatDau.Value;
            ngayNghi.ngayKetThuc = dateNgayKetThuc.Value;

            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 ex = await apis.PutNgayNghis(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 =>
                {
                    if (tiet.ngayNghi != null)
                    {
                        if (tiet.ngayNghi.id != ngayNghi.id)
                        {
                            lops += $"- Tiết {tiet.tiet}, ngày {tiet.ngay.ToString("dd-MM-yyyy")}, lớp {tiet.lop.ten}\n";
                        }
                    }
                });
                if (lops != "")
                {
                    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);
                }
                else
                {
                    JObject ex = await apis.PutNgayNghis(ngayNghi);
                    await LoadData();
                }
            }
            await LoadData();

            btnHuyBo.Visible = false;
            btnSua.Enabled   = false;
        }
예제 #5
0
        public async Task <JObject> PutNgayNghis(NgayNghi ngayNghi)
        {
            var path     = base_url + "/ngay-nghis/" + ngayNghi.id;
            var json     = JsonConvert.SerializeObject(ngayNghi);
            var data     = new StringContent(json, Encoding.UTF8, "application/json");
            var response = await client.PutAsync(path, data);

            string  result  = response.Content.ReadAsStringAsync().Result;
            JObject jObject = JObject.Parse(result);

            return(jObject);
        }
예제 #6
0
        private void gridNgayNghis_DoubleClick(object sender, EventArgs e)
        {
            btnSua.Enabled   = true;
            btnHuyBo.Visible = true;
            btnThem.Enabled  = false;
            btnXoa.Enabled   = true;

            NgayNghi ngayNghi = SelectingItem();

            dateNgayBatDau.Value  = (DateTime)ngayNghi.ngayBatDau;
            dateNgayKetThuc.Value = (DateTime)ngayNghi.ngayKetThuc;
            cbxTenNgayNghi.Text   = ngayNghi.ten;
        }
예제 #7
0
        public async Task <NgayNghi> Insert(NgayNghi ngaynghi)
        {
            return(await WithConnection(async c =>
            {
                await c.InsertAsync(ngaynghi);

                if (ngaynghi.Ngay.ToString().Length == 0)
                {
                    throw new Exception("Insert Fail");
                }

                return ngaynghi;
            }));
        }
        public int ChuyenCaThanhNgay(CaNghi _cn, NgayNghi _nn, DanhSachCa _dsc)
        {
            int _i = 0;

            string _sQuery = "INSERT INTO NGAYNGHI VALUES ( @NGAYNGHI , @IDNHANVIEN )";

            string _sQuery1 = "DELETE CANGHI WHERE IDNHANVIEN = @IDNHANVIEN AND NGAYNGHICA = @NGAYNGHICA";

            string _sQuery2 = "UPDATE DANHSACHCA SET CHECKCA = @CHECKCA WHERE ID = @ID AND IDNHANVIEN = @IDNHANVIEN";

            _i += SelectData.Select.ExcuteNonQuery(_sQuery2, new object[] { _dsc.CheckCa, _dsc.ID, _dsc.IDNhanVien });

            _i += SelectData.Select.ExcuteNonQuery(_sQuery1, new object[] { _cn.IDNhanVien, _cn.NgayNghi });

            _i += SelectData.Select.ExcuteNonQuery(_sQuery, new object[] { _nn.Ngay, _nn.IDNhanVien });

            return(_i);
        }
예제 #9
0
        public async Task <JObject> PostNgayNghis(NgayNghi ngayNghi)
        {
            bool chkConn = await this.checkConn();

            if (!chkConn)
            {
                return(null);
            }
            var path     = base_url + "/ngay-nghis";
            var json     = JsonConvert.SerializeObject(ngayNghi);
            var data     = new StringContent(json, Encoding.UTF8, "application/json");
            var response = await client.PostAsync(path, data);

            string  result  = response.Content.ReadAsStringAsync().Result;
            JObject jObject = JObject.Parse(result);

            return(jObject);
        }
예제 #10
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);
            }
        }
        public int RefeshChuyenNgayThanhCa(DanhSachCa _dsc, NgayNghi _nn, List <CaNghi> _listCaNghi)
        {
            int _i = 0;

            string _sQuery = "UPDATE DANHSACHCA SET CHECKCA = @CHECKCA WHERE ID = @ID AND IDNHANVIEN = @IDNHANVIEN";

            string _sQuery1 = "DELETE NGAYNGHI WHERE NGAYNGHI = @NGAYNGHI AND IDNHANVIEN = @IDNHANVIEN";

            string _sQuery2 = "INSERT INTO CANGHI VALUES ( @NGAYNGHICA , @GIOLAM , @IDNHANVIEN )";

            _i += SelectData.Select.ExcuteNonQuery(_sQuery, new object[] { _dsc.CheckCa, _dsc.ID, _dsc.IDNhanVien });

            _i += SelectData.Select.ExcuteNonQuery(_sQuery1, new object[] { _nn.Ngay, _nn.IDNhanVien });

            foreach (CaNghi _cn in _listCaNghi)
            {
                _i += SelectData.Select.ExcuteNonQuery(_sQuery2, new object[] { _cn.NgayNghi, _cn.GioLam, _cn.IDNhanVien });
            }

            return(_i);
        }
예제 #12
0
        public async Task <NgayNghi> Update(NgayNghi ngaynghi)
        {
            return(await WithConnection(async c =>
            {
                NgayNghi obj = await c.GetAsync(ngaynghi);

                if (obj == null)
                {
                    throw new Exception(string.Format("Update id {0} not exist", ngaynghi.Ngay.ToString()));
                }


                var result = await c.UpdateAsync(ngaynghi);

                if (result != true)
                {
                    throw new Exception("Update Fail");
                }

                return ngaynghi;
            }));
        }
예제 #13
0
        public async Task <NgayNghi> UpdatePartial(NgayNghi ngaynghi, params string[] field)
        {
            var a = await WithConnection(async c =>
            {
                var list = field.ToList();
                var partialUpdateMapping = OrmConfiguration
                                           .GetDefaultEntityMapping <NgayNghi>()
                                           .Clone()
                                           .UpdatePropertiesExcluding(prop => prop.IsExcludedFromUpdates = true,
                                                                      list.ToArray());

                var result = await c.UpdateAsync(ngaynghi, statement => statement.WithEntityMappingOverride(partialUpdateMapping));

                if (result != true)
                {
                    throw new Exception("Update Fail");
                }

                return(ngaynghi);
            });

            return(a);
        }
        public int DiemDanhNgay(DanhSachCa _dsc, NgayNghi _nn, bool _bCheckCa)
        {
            int _i = 0;

            string _sQuery = "UPDATE DANHSACHCA SET CHECKCA = @CHECKCA WHERE ID = @ID AND IDNHANVIEN = @IDNHANVIEN";

            _i += SelectData.Select.ExcuteNonQuery(_sQuery, new object[] { _dsc.CheckCa, _dsc.ID, _dsc.IDNhanVien });

            if (_bCheckCa == false)
            {
                string _sQuery1 = "INSERT INTO NGAYNGHI VALUES ( @NGAYNGHI , @IDNHANVIEN )";

                _i += SelectData.Select.ExcuteNonQuery(_sQuery1, new object[] { _nn.Ngay, _nn.IDNhanVien });
            }

            if (_bCheckCa == true)
            {
                string _sQuery2 = "DELETE NGAYNGHI WHERE IDNHANVIEN = @IDNHANVIEN";

                _i += SelectData.Select.ExcuteNonQuery(_sQuery2, new object[] { _nn.IDNhanVien });
            }

            return(_i);
        }