/// <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 void deleteCostReportData(DataGridView dgv, int slipNo) { CostReportData crp = new CostReportData(); for (int i = 0; i < dgv.RowCount; i++) { if (Convert.ToString(dgv.Rows[i].Cells["CostCode"].Value) == "") { continue; } if (Convert.ToBoolean(dgv.Rows[i].Cells["Check"].Value)) { if (!crp.DeleteCostReport("@crID", Convert.ToInt32(dgv.Rows[i].Cells["CostReportID"].Value))) { deleteErrorMessage("原価実績データ"); return; } if (!involvedDataDelete(dgv.Rows[i], slipNo)) { return; } } } }
private bool storedData() { int lineCount = 0; for (int i = 0; i < wdtl.Length; i++) { if (wdtl[i].ItemCode == "" || wdtl[i].ItemCode == null) { continue; } lineCount++; } OsWkDetailData[] nwdtl = new OsWkDetailData[lineCount]; for (int idx = 0, i = 0; i < wdtl.Length; i++) { if (wdtl[i].ItemCode == "" || wdtl[i].ItemCode == null) { continue; } nwdtl[idx] = ( OsWkDetailData )wdtl[i].Clone(); nwdtl[idx].PartnerCode = wrep.PartnerCode; nwdtl[idx].TaskCode = wrep.TaskCode; nwdtl[idx].ReportDate = wrep.ReportDate; nwdtl[idx].OfficeCode = wrep.OfficeCode; nwdtl[idx].Department = wrep.Department; nwdtl[idx].MmeberCode = wrep.MemberCode; nwdtl[idx].LeaderMCode = wrep.LeaderMCode; nwdtl[idx].SalesMCode = wrep.SalesMCode; nwdtl[idx].CustoCode = wrep.CustoCode; nwdtl[idx].CoTaskCode = wrep.CoTaskCode; idx++; } // 既に、同じReportDate,TaskCode,OfficeCode,Department,SubCoCode(PartnerCode)の // CostReprotがあれば伝票番号を得たのちに削除する // 伝票番号をもとに削除したCostReportに関連する、外注作業明細を削除する int slipNo = crd.SelectCostSlipNo(wrep.ReportDate, wrep.TaskCode, wrep.PartnerCode, wrep.OfficeCode, wrep.Department); if (slipNo > 0) { if (crd.DeleteCostReport("@slip", slipNo)) { OsWkDetailData osd = new OsWkDetailData(); int osWkReportID = osd.SelectOsWkReportID(slipNo); if (osWkReportID > 0) { OsWkReportData osr = new OsWkReportData(); if (!osr.DeleteOsWkReport("OsWkReportID = " + osWkReportID)) { return(false); } } if (!osd.DeleteOsWkDetail("@slip", slipNo)) { return(false); } } } if ((nwdtl = crd.InsertCostReport(nwdtl)) == null) { return(false); } //wrep.TaskCode = (wrep.RTaskCode == "")? wrep.TaskCode : wrep.RTaskCode; if (!wrep.StoreOsWkReportAndDetail(nwdtl)) { return(false); } return(true); }