public void RecoveryDataByAction(CallBackAction cAction)
        {
            if (cAction.BackAction == Share.Action.RecoveryAdd)
            {
                DataRow dr    = cAction.Table.Rows[0];
                int     index = bs_Khoa.Find("MAKH", dr.ItemArray[0]);

                if (bs_GiaoVien.Count != 0)
                {
                    MessageBox.Show("Không thể phục hồi khoa. Vì khoa này đã có giáo viên.",
                                    "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return;
                }
                bs_Khoa.RemoveAt(index);
                WriteToDB();
            }
            else if (cAction.BackAction == Share.Action.RecoveryDelete)
            {
                DataView dt = (DataView)bs_Khoa.List;
                dt.Sort = "MAKH";
                if (dt.FindRows(cAction.Table.Rows[0]).Length != 0)
                {
                    MessageBox.Show("Mã môn học đã tồn tại.Vui lòng nhập lại!");
                }
                else
                {
                    DataRow     dr  = cAction.Table.Rows[0];
                    DataRowView drv = (DataRowView)bs_Khoa.AddNew();
                    drv.Row.ItemArray = dr.ItemArray;
                    WriteToDB();
                }
            }
            else if (cAction.BackAction == Share.Action.RecoveryEdit)
            {
                DataRow dr = cAction.Table.Rows[0];
                bs_Khoa.Position = bs_Khoa.Find("MAKH", dr.ItemArray[0]);

                DataRowView currentRow = (DataRowView)bs_Khoa.Current;

                currentRow.Row.ItemArray = dr.ItemArray;
                WriteToDB();
            }

            this._callAction.Reset();
            this.Refresh();
        }
コード例 #2
0
        public Frm_DangKyThi()
        {
            InitializeComponent();
            _callAction = new CallBackAction();
            dc          = new DataColumn("Mã giáo viên");
            dc1         = new DataColumn("Mã môn học");
            dc2         = new DataColumn("Mã lớp");
            dc3         = new DataColumn("Trình độ");
            dc4         = new DataColumn("Ngày thi");
            dc5         = new DataColumn("Lần");
            dc6         = new DataColumn("Số câu thi");
            dc7         = new DataColumn("Thời gian");
            table1.Columns.Add(dc);
            table1.Columns.Add(dc1);
            table1.Columns.Add(dc2);
            table1.Columns.Add(dc3);
            table1.Columns.Add(dc4);
            table1.Columns.Add(dc5);
            table1.Columns.Add(dc6);
            table1.Columns.Add(dc7);

            DeniceFeatureByRole();
            SetUp();
            JustNumber(txtThoiGian);
            JustNumber(txtSoCauThi);
        }
コード例 #3
0
        public frm_NhapMH()
        {
            InitializeComponent();

            _callAction = new CallBackAction();

            bs_MonHoc.CurrentChanged += Bs_MonHoc_CurrentChanged;
        }
        public Frm_DangKyThi()
        {
            InitializeComponent();

            _backAction = new CallBackAction();

            JustNumber(txt_Minute);
            JustNumber(txt_Quantity);
        }
コード例 #5
0
        public Frm_NhapDe()
        {
            InitializeComponent();

            _callAction = new CallBackAction();

            SetUp();

            bs_BoDe.CurrentChanged += Bs_BoDe_CurrentChanged;
        }
コード例 #6
0
        public void SetupForm(CallBackAction cb)
        {
            this.TopLevel = false;
            this.BringToFront();

            switch (cb.BackAction)
            {
            case Share.Action.RecoveryDelete:
                this.lbl_Caption.Text = StringLibrary.R_Delete;
                this.btn_Ok.Visible   = false;
                break;

            case Share.Action.RecoveryEdit:
                this.lbl_Caption.Text = StringLibrary.R_Edit;
                this.btn_Ok.Visible   = false;
                break;

            case Share.Action.RecoveryAdd:
                this.lbl_Caption.Text = StringLibrary.R_Add;
                this.btn_Ok.Visible   = false;
                break;

            case Share.Action.AddSuccess:
                this.lbl_Caption.Text = StringLibrary.A_Success;
                this.btn_No.Visible   = this.btn_Yes.Visible = false;
                break;

            case Share.Action.Delete:
                this.lbl_Caption.Text = StringLibrary.D_Delete;
                this.btn_Ok.Visible   = false;
                break;

            case Share.Action.DeleteSuccess:
                this.lbl_Caption.Text = StringLibrary.D_Success;
                this.btn_No.Visible   = this.btn_Yes.Visible = false;
                break;

            case Share.Action.EditSuccess:
                this.lbl_Caption.Text = StringLibrary.E_EditSuccess;
                this.btn_No.Visible   = this.btn_Yes.Visible = false;
                break;

            case Share.Action.Edit:
                this.lbl_Caption.Text = StringLibrary.EDIT;
                this.btn_Ok.Visible   = false;
                break;

            default:
                return;
            }

            this.dgv_Data.DataSource = cb.Table;

            this.dgv_Data.ColumnAdded += Dgv_Data_ColumnAdded;
        }
        public Frm_NhapKhoa()
        {
            InitializeComponent();

            DeniceFeatureByRole();

            this._callAction      = new CallBackAction();
            this._callBackSubform = new CallBackAction();

            bs_Khoa.CurrentChanged += Bs_Khoa_CurrentChanged;
        }
コード例 #8
0
        public Frm_ActionInfo(Object[] lControl, CallBackAction cb)
        {
            InitializeComponent();

            this.lControl = lControl;

            SetupForBgUnderForm(false);

            SetupForm(cb);

            this.FormClosing += Frm_ActionInfo_FormClosing;
        }
コード例 #9
0
        public void RecoveryDataByActionSub(CallBackAction cAction)
        {
            if (cAction.BackAction == Share.Action.RecoveryAdd)
            {
                DataView dt = (DataView)bs_SinhVien.List;

                DataRow dr    = cAction.Table.Rows[0];
                String  key   = dr.ItemArray[0].ToString();
                int     index = dt.Find(key);

                bs_SinhVien.RemoveAt(index);

                SaveStudentToDb();
            }
            else if (cAction.BackAction == Share.Action.RecoveryDelete)
            {
                DataView dt = (DataView)bs_SinhVien.List;
                dt.Sort = "MASV";
                if (dt.FindRows(cAction.Table.Rows[0]).Length != 0)
                {
                    MessageBox.Show("Mã sinh viên đã tồn tại.Vui lòng nhập lại!");
                }
                else
                {
                    DataRow     dr  = cAction.Table.Rows[0];
                    DataRowView drv = (DataRowView)bs_SinhVien.AddNew();
                    drv.Row.ItemArray = dr.ItemArray;

                    SaveStudentToDb();
                }
            }
            else if (cAction.BackAction == Share.Action.RecoveryEdit)
            {
                DataView dt = (DataView)bs_SinhVien.List;

                DataRow dr    = cAction.Table.Rows[0];
                String  key   = dr.ItemArray[0].ToString();
                int     index = dt.Find(key);

                bs_SinhVien.Position = index;

                DataRowView currentRow = (DataRowView)bs_SinhVien.Current;

                currentRow.Row.ItemArray = dr.ItemArray;
                SaveStudentToDb();
            }

            this._callBackSubform.Reset();
            this.Refresh();
        }
コード例 #10
0
ファイル: CallBack.cs プロジェクト: TailsTek/DeriverFramework
        /// <summary>
        /// Subscribe new subscription.
        /// </summary>
        /// <param name="func">Function.</param>
        /// <returns></returns>
        internal ICallBackSub Subscribe(CallBackAction <TCallBack> func)
        {
            CallBackSub <TCallBack> cbs = new CallBackSub <TCallBack>(this, func);

            foreach (var item in Subscriptions.Array.Span)
            {
                if (item == cbs)
                {
                    throw new Exception("Now subscribed.");
                }
            }
            Subscriptions.Add(cbs);
            return(cbs);
        }
コード例 #11
0
        public void RecoveryDataByAction(CallBackAction cAction)
        {
            if (cAction.BackAction == Share.Action.RecoveryAdd)
            {
                DataRow dr    = cAction.Table.Rows[index1];
                int     index = bs_BoDe.Find("CAUHOI", dr.ItemArray[0]);
                bs_BoDe.RemoveAt(index);
                WriteToDBEdit();
                table1.Rows[index1].Delete();
                this._callAction.FillData(Share.Action.RecoveryAdd, table1);
                act_index--;
                index1--;
                set();
            }
            else if (cAction.BackAction == Share.Action.RecoveryDelete)
            {
                DataRow     dr  = cAction.Table.Rows[index1];
                DataRowView drv = (DataRowView)bs_BoDe.AddNew();
                drv.Row.ItemArray = dr.ItemArray;
                WriteToDBEdit();
                table1.Rows[index1].Delete();
                this._callAction.FillData(Share.Action.RecoveryDelete, table1);
                act_index--;
                index1--;
                set();
            }
            else if (cAction.BackAction == Share.Action.RecoveryEdit)
            {
                DataRow dr = cAction.Table.Rows[index1];
                bs_BoDe.Position = bs_BoDe.Find("CAUHOI", dr.ItemArray[0]);

                DataRowView currentRow = (DataRowView)bs_BoDe.Current;
                currentRow.Row.ItemArray = dr.ItemArray;
                WriteToDBEdit();
                table1.Rows[index1].Delete();
                this._callAction.FillData(Share.Action.RecoveryEdit, table1);
                act_index--;
                index1--;
                set();
            }

            if (index1 == -1)
            {
                this._callAction.Reset();
                this.Refresh();
            }
        }
コード例 #12
0
        /// <summary>
        /// Subscribe new subscription.
        /// </summary>
        /// <typeparam name="TCallBack"></typeparam>
        /// <param name="callbackname"></param>
        /// <param name="action"></param>
        /// <returns></returns>
        internal ICallBackSub Subscribe <TCallBack>(string callbackname, CallBackAction <TCallBack> action)
        {
            CallBack <TCallBack> callback = default;

            foreach (var cb in CallBacks)
            {
                if (cb.Name() == callbackname)
                {
                    callback = (CallBack <TCallBack>)cb;
                    break;
                }
            }
            if (callback is null)
            {
                throw new Exception($"Unknown callback: {callbackname}");
            }
            return(callback.Subscribe(action));
        }
コード例 #13
0
        public Frm_NhapLop()
        {
            InitializeComponent();

            DeniceFeatureByRole();

            this.dgv_Students.Controls.Add(datePicker);
            datePicker.Visible = false;
            datePicker.Format  = DateTimePickerFormat.Custom;

            datePicker.TextChanged += DatePicker_TextChanged;

            this._callAction      = new CallBackAction();
            this._callBackSubform = new CallBackAction();

            bs_Lop.CurrentChanged += Bs_Lop_CurrentChanged;

            dgv_Students.CellClick += Dgv_Students_CellClick;
        }
コード例 #14
0
        public void RecoveryDataByAction(CallBackAction cAction)
        {
            if (cAction.BackAction == Share.Action.RecoveryAdd)
            {
                DataRow dr    = cAction.Table.Rows[0];
                int     index = bs_Lop.Find("MALOP", dr.ItemArray[0]);
                bs_Lop.RemoveAt(index);
                SaveClassToDb();
            }
            else if (cAction.BackAction == Share.Action.RecoveryDelete)
            {
                DataView dt = (DataView)bs_Lop.List;
                dt.Sort = "MALOP";
                if (dt.FindRows(cAction.Table.Rows[0]).Length != 0)
                {
                    MessageBox.Show("Mã lớp đã tồn tại.Vui lòng nhập lại!");
                }
                else
                {
                    DataRow     dr  = cAction.Table.Rows[0];
                    DataRowView drv = (DataRowView)bs_Lop.AddNew();
                    drv.Row.ItemArray = dr.ItemArray;
                    SaveClassToDb();
                }
            }
            else if (cAction.BackAction == Share.Action.RecoveryEdit)
            {
                DataRow dr = cAction.Table.Rows[0];
                bs_Lop.Position = bs_Lop.Find("MALOP", dr.ItemArray[0]);

                DataRowView currentRow = (DataRowView)bs_Lop.Current;

                currentRow.Row.ItemArray = dr.ItemArray;
                SaveClassToDb();
            }

            this._callAction.Reset();
            this.Refresh();
        }
コード例 #15
0
        public Frm_BoDe()
        {
            InitializeComponent();
            _callAction = new CallBackAction();

            DataColumn[] dc = new DataColumn[]
            {
                new DataColumn("Câu hỏi"), new DataColumn("Mã môn học")
                , new DataColumn("Trình độ"), new DataColumn("Nội dung")
                , new DataColumn("A"), new DataColumn("B")
                , new DataColumn("C"), new DataColumn("D")
                , new DataColumn("Đáp Án"), new DataColumn("Mã giáo viên")
            };


            table1.Columns.AddRange(dc);
            table1.Columns[0].DataType = typeof(Int32);

            DeniceFeatureByRole();
            SetUpTrinhDo();
            JustNumber(txtCH);
        }
        public void RecoveryDataByAction(CallBackAction cAction)
        {
            if (cAction.BackAction == Share.Action.RecoveryAdd)
            {
                DataView dt = (DataView)bs_GVDK.List;

                DataRow dr = cAction.Table.Rows[0];

                String key1 = dr.ItemArray[1].ToString();
                String key2 = dr.ItemArray[2].ToString();
                String key3 = dr.ItemArray[5].ToString();

                int index = dt.Find(new object[] { key1, key2, key3 });

                bs_GVDK.RemoveAt(index);
                SaveRegisterToDb();

                this.bs_GiaoVien.Position = FindPointionCurrentTeacher(Program.username);
            }

            this._backAction.Reset();
            this.Refresh();
        }
コード例 #17
0
        public void RecoveryDataByAction(CallBackAction cAction)
        {
            if (cAction.BackAction == Share.Action.RecoveryAdd)
            {
                DataRow dr = cAction.Table.Rows[index1];

                DataView dt = (DataView)bs_GVDK.List;

                String key1 = dr.ItemArray[1].ToString();
                String key2 = dr.ItemArray[2].ToString();
                String key3 = dr.ItemArray[5].ToString();
                dt.Sort = "MAMH, MALOP ,LAN";
                int index = dt.Find(new object[] { key1, key2, key3 });
                bs_GVDK.RemoveAt(index);
                WriteToDBEdit();
                table1.Rows[index1].Delete();
                this._callAction.FillData(Share.Action.RecoveryAdd, table1);
                act_index--;
                index1--;

                /*String key1 = (((DataRowView)bs_Lop[bs_Lop.Position])["MAKH"].ToString());
                 * String name = SqlRequestFunction.GetTenKhoa(key1);
                 * cmbMAKHOA1.Text = name;*/
            }
            else if (cAction.BackAction == Share.Action.RecoveryDelete)
            {
                DataRow     dr  = cAction.Table.Rows[index1];
                DataRowView drv = (DataRowView)bs_GVDK.AddNew();
                drv.Row.ItemArray = dr.ItemArray;
                WriteToDBEdit();
                table1.Rows[index1].Delete();
                this._callAction.FillData(Share.Action.RecoveryDelete, table1);
                act_index--;
                index1--;
            }
            else if (cAction.BackAction == Share.Action.RecoveryEdit)
            {
                DataRow dr = cAction.Table.Rows[index1];

                DataView dt = (DataView)bs_GVDK.List;

                String key1 = dr.ItemArray[1].ToString();
                String key2 = dr.ItemArray[2].ToString();
                String key3 = dr.ItemArray[5].ToString();

                dt.Sort          = "MAMH, MALOP ,LAN";
                bs_GVDK.Position = dt.Find(new object[] { key1, key2, key3 });

                DataRowView currentRow = (DataRowView)bs_GVDK.Current;

                currentRow.Row.ItemArray = dr.ItemArray;
                WriteToDBEdit();
                table1.Rows[index1].Delete();
                this._callAction.FillData(Share.Action.RecoveryEdit, table1);
                act_index--;
                index1--;
            }

            if (index1 == -1)
            {
                this._callAction.Reset();
                this.Refresh();
            }
        }
コード例 #18
0
 public ICallBackSub Subscribe <T>(string callbackname, CallBackAction <T> action)
 {
     return(Host.Subscribe <T>(callbackname, action));
 }
コード例 #19
0
 public CallBackSub(CallBack <TCallBack> callBack, CallBackAction <TCallBack> action)
 {
     Action   = action;
     CallBack = callBack;
 }