void FillWorksheetNumber() { if (bsWorksheetPart.DataSource != null) { DatabaseSet.工作單品號DataTable table = bsWorksheetPart.DataSource as DatabaseSet.工作單品號DataTable; foreach (DatabaseSet.工作單品號Row row in table) { row.單號 = tbxWorksheetNumber.Text; } } }
void CheckField() { DatabaseSet.工作單品號DataTable table = bsWorksheetPart.DataSource as DatabaseSet.工作單品號DataTable; foreach (DataRow row in table.Rows) { if (row.RowState == DataRowState.Deleted) { continue; } if (string.IsNullOrEmpty(row["客戶"] as string)) { throw new SWLHMSException("品號 " + row["品號"] + " 客戶欄不得為空"); } } }
public void EditWorksheet(string WorksheetNumber) { if ((_worksheetTable = 工作單TableAdapter.Instance.GetBy單號(WorksheetNumber)).Count > 0) { bsWorksheet.DataSource = _worksheetTable[0]; tbxWorksheetNumber.ReadOnly = true; tbxWorksheetNumber.DataBindings.Add("Text", bsWorksheet, "單號", true, DataSourceUpdateMode.Never); //tbxCustomerName.DataBindings.Add("Text", bsWorksheet, "客戶名稱", true, DataSourceUpdateMode.OnPropertyChanged); dtpBegin.DataBindings.Add("Value", bsWorksheet, "單據日期", true, DataSourceUpdateMode.OnPropertyChanged); dtpEnd.DataBindings.Add("Value", bsWorksheet, "實際完成日", true, DataSourceUpdateMode.Never, DateTime.Today); //dtpCustomerNeed.DataBindings.Add("Value", bsWorksheet, "客戶需貨日", true, DataSourceUpdateMode.OnPropertyChanged); //dtpEstimate.DataBindings.Add("Value", bsWorksheet, "預計完成日", true, DataSourceUpdateMode.OnPropertyChanged); if (_worksheetTable[0]["實際完成日"] != DBNull.Value) { ckbEnd.Checked = true; } _worksheetPartTable = 工作單品號TableAdapter.Instance.GetBy單號(_worksheetTable[0].單號); bsWorksheetPart.DataSource = _worksheetPartTable; //判斷目前工作單所屬產線 if (_worksheetPartTable.Count > 0) { DatabaseSet.產品品號DataTable tmpTable = 產品品號TableAdapter.Instance.GetBy品號(_worksheetPartTable[0].品號); if (tmpTable.Count > 0) { _curWorkshhetLine = tmpTable[0].產線; } else { throw new SWLHMSException("找不到品號 " + _worksheetPartTable[0].品號 + " 的資料"); } } btnAddWorksheet.Visible = false; } else { throw new SWLHMSException("找不到單號 " + WorksheetNumber + " 的資料"); } }
// Not used void SetFinishDate() { foreach (KeyValuePair <DataRow, DateTime> kv in _finishDateList) { string worksheetNumber = kv.Key["工作單號"].ToString(); string partNumber = kv.Key["品號"].ToString(); int wpid = (int)kv.Key["工品編號"]; if (工作單品號TableAdapter.Instance.SetFinishDate(kv.Value, worksheetNumber, wpid) == 0) { throw new SWLHMSException("品號 '" + partNumber + "' 設定完成日期時發生錯誤"); } // Check the finish date DatabaseSet.工作單品號DataTable table = 工作單品號TableAdapter.Instance.GetBy單號(worksheetNumber); bool allFinished = true; DateTime maxDate = DateTime.MinValue; foreach (DatabaseSet.工作單品號Row row in table) { if (row["實際完成日"] == DBNull.Value) { allFinished = false; break; } DateTime date = row.實際完成日; if (date > maxDate) { maxDate = date; } } if (allFinished) { 工作單TableAdapter.Instance.SetFinishDate(maxDate, worksheetNumber); } } }
public virtual DatabaseSet.工作單品號DataTable GetBy單號(string 單號) { this.Adapter.SelectCommand = this.CommandCollection[1]; if ((單號 == null)) { throw new global::System.ArgumentNullException("單號"); } else { this.Adapter.SelectCommand.Parameters[0].Value = ((string)(單號)); } DatabaseSet.工作單品號DataTable dataTable = new DatabaseSet.工作單品號DataTable(); this.Adapter.Fill(dataTable); return dataTable; }
public virtual DatabaseSet.工作單品號DataTable GetData() { this.Adapter.SelectCommand = this.CommandCollection[0]; DatabaseSet.工作單品號DataTable dataTable = new DatabaseSet.工作單品號DataTable(); this.Adapter.Fill(dataTable); return dataTable; }
private void btnAddPart_Click(object sender, EventArgs e) { try { if (tbxWorksheetNumber.Text == string.Empty) { throw new SWLHMSException("請先填寫工作單號"); } if (dgvPart.CurrentRow != null && bsWorksheetPart.DataSource != null) { string partNumber = tbxPartNumber.Text; string line; if (partNumber != dgvPart.CurrentRow.Cells["col品號2"].Value.ToString()) { DatabaseSet.產品品號DataTable tmpTable = 產品品號TableAdapter.Instance.GetBy品號(partNumber); if (tmpTable.Rows.Count == 0) { throw new SWLHMSException("品號 " + partNumber + " 不存在"); } line = tmpTable[0].產線; } else { line = dgvPart.CurrentRow.Cells["col產線"].Value.ToString(); } DatabaseSet.工作單品號DataTable table = bsWorksheetPart.DataSource as DatabaseSet.工作單品號DataTable; //檢查產線一致性 if (table.Count > 0) { if (line != _curWorkshhetLine) { throw new SWLHMSException("目前工作單產線為 " + _curWorkshhetLine + ",品號 " + partNumber + " 產線為 " + line + ",請選擇同一產線品號"); } } else { _curWorkshhetLine = line; } DatabaseSet.工作單品號Row row = table.New工作單品號Row(); row.FillRow(tbxWorksheetNumber.Text, partNumber, 0); // For tmp value int id = 0; object tmp = table.Compute("MAX(編號)", null); if (tmp != DBNull.Value) { id = Convert.ToInt32(tmp); } row.編號 = id + 1; table.Rows.Add(row); } } catch (ConstraintException) { MessageBox.Show("品號 " + dgvPart.CurrentRow.Cells["col品號2"].Value.ToString() + " 已經存在"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }