/// <summary> /// 削除マークがついたもの、一度保存されたものを対象に外注精算データを削除する /// 対応する原画実績データがある場合はそれも削除する。 /// </summary> /// <param name="dgv"></param> /// <returns></returns> private bool deletePaymentData(DataGridView dgv) { opd = new OsPaymentData(); CostReportData crd = new CostReportData(); for (int i = 0; i < dgv.Rows.Count; i++) { if (Convert.ToString(dgv.Rows[i].Cells["PaymentID"].Value) == "") { continue; } if (!Convert.ToBoolean(dgv.Rows[i].Cells["Check"].Value)) { continue; } if (!opd.DeletePayment("@pMID", Convert.ToInt32(dgv.Rows[i].Cells["PaymentID"].Value))) { return(false); // 出来高データの削除 } if (Convert.ToString(dgv.Rows[i].Cells["SlipNo"].Value) != "") // 原価データの削除 { if (!crd.DeleteCostReport("@slip", Convert.ToInt32(dgv.Rows[i].Cells["SlipNo"].Value))) { return(false); } } } return(true); }
private bool involvedDataDelete(DataGridViewRow dgvRow, int slipNo) { WorkReportData wrp; OsWkDetailData owd; OsPayOffData ofd; OsPaymentData omd; switch (Convert.ToString(dgvRow.Cells["Subject"].Value)) { case "A": case "B": case "K": wrp = new WorkReportData(); if (wrp.ExistenceSlipNo(slipNo)) { if (!wrp.ClearPartWorkReport(slipNo, Convert.ToInt32(dgvRow.Cells["CostReportID"].Value))) { deleteErrorMessage("作業内訳データ"); return(false); } } else { owd = new OsWkDetailData(); if (owd.ExistenceSlipNo(slipNo, Convert.ToInt32(dgvRow.Cells["CostReportID"].Value))) { if (!owd.DeleteOsWkDetail("@slip", slipNo)) { deleteErrorMessage("外注作業内訳データ"); return(false); } } } break; case "F": ofd = new OsPayOffData(); if (ofd.ExistenceSlipNo(slipNo)) { if (!ofd.DeletePayOff("@slip", slipNo)) { deleteErrorMessage("外注精算データ"); return(false); } } else { omd = new OsPaymentData(); if (omd.ExistenceSlipNo(slipNo)) { if (!omd.DeletePayment("@slip", slipNo)) { deleteErrorMessage("外注出来高データ"); return(false); } } } break; default: owd = new OsWkDetailData(); if (owd.ExistenceSlipNo(slipNo, Convert.ToInt32(dgvRow.Cells["CostReportID"].Value))) { if (!owd.DeleteOsWkDetail("@slip", slipNo)) { deleteErrorMessage("外注作業内訳データ"); return(false); } } break; } return(true); }