Пример #1
0
        private void btnDelNP_Click(object sender, EventArgs e)
        {
            try
            {
                if (bindingSource.Current != null)
                {
                    DatabaseSet.非生產Row row = (bindingSource.Current as DataRowView).Row as DatabaseSet.非生產Row;

                    int    newNumber = row.編號;
                    string newName   = row.稱;

                    if (row.編號 == Global.NonProduct_Other)
                    {
                        throw new SWLHMSException("非生產項目 " + row.稱 + " 不能刪除");
                    }

                    if (MessageBox.Show("確定刪除 " + newNumber + " (" + newName + ") 及其所有相關資料?", "刪除提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
                    {
                        row.Delete();
                        非生產TableAdapter.Instance.Update(row);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #2
0
        private void btnStoreNP_Click(object sender, EventArgs e)
        {
            try
            {
                int    newNumber = int.Parse(tbxNPNumber.Text);
                string newName   = tbxNPName.Text;

                try
                {
                    if (this.EditState == EditStateType.Edit)
                    {
                        if (bindingSource.Current != null)
                        {
                            DatabaseSet.非生產Row row = (bindingSource.Current as DataRowView).Row as DatabaseSet.非生產Row;

                            if ((int)row["編號", DataRowVersion.Original] == Global.NonProduct_Other)
                            {
                                if (!newName.Contains("其他"))
                                {
                                    throw new SWLHMSException("更改 其他 項目請至少包含\"其他\"兩字以進行區別");
                                }
                                row.稱 = newName;

                                if (newNumber != 100)
                                {
                                    throw new SWLHMSException("其他 項目不得更改編號");
                                }
                            }
                            else
                            {
                                row.FillRow(newNumber, newName);
                            }

                            非生產TableAdapter.Instance.Update(row);;
                        }
                    }
                    else if (this.EditState == EditStateType.New)
                    {
                        DatabaseSet.非生產Row newRow = DatabaseSet.非生產Table.New非生產Row();

                        newRow.FillRow(newNumber, newName);
                        DatabaseSet.非生產Table.Rows.Add(newRow);

                        非生產TableAdapter.Instance.Update(newRow);
                    }
                }
                catch (ConstraintException)
                {
                    MessageBox.Show("已存在非生產項目 " + newNumber + " (" + newName + "),請指定其他編號");
                }

                this.EditState = EditStateType.None;
            }
            catch (Exception ex)
            {
                Global.ShowError(ex);
            }
            finally
            {
                if (this.EditState == EditStateType.Edit)
                {
                    tbxNPNumber.DataBindings[0].ReadValue();
                    tbxNPName.DataBindings[0].ReadValue();
                }
            }
        }