public Response UpdateInvoice_37(string strData) { try { DataTable dt = Utility.Utility_Component.JsonToDt(strData); string strError = ""; for (int i = 0; i < dt.Rows.Count; i++) { string STATUS_CASH_FORECAST_MM = (dt.Rows[i]["STATUS_CASH_FORECAST_MM"] == null ? "" : dt.Rows[i]["STATUS_CASH_FORECAST_MM"].ToString()); string STATUS_PLAN_DEPOSIT_YYMM = (dt.Rows[i]["STATUS_PLAN_DEPOSIT_YYMM"] == null ? "" : dt.Rows[i]["STATUS_PLAN_DEPOSIT_YYMM"].ToString()); string STATUS_ACTUAL_MDB_UPDATE = (dt.Rows[i]["STATUS_ACTUAL_MDB_UPDATE"] == null ? "" : dt.Rows[i]["STATUS_ACTUAL_MDB_UPDATE"].ToString()); string STATUS_ACC_RECEIVABLE_DATE = (dt.Rows[i]["STATUS_ACC_RECEIVABLE_DATE"] == null ? "" : dt.Rows[i]["STATUS_ACC_RECEIVABLE_DATE"].ToString()); string DUNNING_DATE = (dt.Rows[i]["DUNNING_DATE"] == null ? null : dt.Rows[i]["DUNNING_DATE"].ToString()); string ANSWER_DATE = (dt.Rows[i]["ANSWER_DATE"] == null ? null : dt.Rows[i]["ANSWER_DATE"].ToString()); string PAYMENT_DUE_DATE = (dt.Rows[i]["PAYMENT_DUE_DATE"] == null ? null : dt.Rows[i]["PAYMENT_DUE_DATE"].ToString()); string ANSWER_MEMO = (dt.Rows[i]["ANSWER_MEMO"] == null ? "" : dt.Rows[i]["ANSWER_MEMO"].ToString()); string COMPANY_NO_BOX = dt.Rows[i]["COMPANY_NO_BOX"].ToString(); string YEAR_MONTH = dt.Rows[i]["YEAR_MONTH"].ToString(); int DUNNING_COUNT = int.Parse(dt.Rows[i]["DUNNING_COUNT"] == null ? "0" : dt.Rows[i]["DUNNING_COUNT"].ToString()); DateTime?dtm_DUNNING_DATE, dtm_ANSWER_DATE, dtm_PAYMENT_DUE_DATE, dtm_STATUS_ACC_RECEIVABLE_DATE, dtm_STATUS_ACTUAL_MDB_UPDATE; try { dtm_DUNNING_DATE = DateTime.ParseExact(DUNNING_DATE, "yyyyMMdd", CultureInfo.InvariantCulture); } catch (Exception) { dtm_DUNNING_DATE = null; } try { dtm_ANSWER_DATE = DateTime.ParseExact(ANSWER_DATE, "yyyyMMdd", CultureInfo.InvariantCulture); } catch (Exception) { dtm_ANSWER_DATE = null; } try { dtm_PAYMENT_DUE_DATE = DateTime.ParseExact(PAYMENT_DUE_DATE, "yyyyMMdd", CultureInfo.InvariantCulture); } catch (Exception) { dtm_PAYMENT_DUE_DATE = null; } try { dtm_STATUS_ACTUAL_MDB_UPDATE = DateTime.ParseExact(STATUS_ACTUAL_MDB_UPDATE, "yyyyMMdd", CultureInfo.InvariantCulture); } catch (Exception) { dtm_STATUS_ACTUAL_MDB_UPDATE = null; } try { dtm_STATUS_ACC_RECEIVABLE_DATE = DateTime.ParseExact(STATUS_ACC_RECEIVABLE_DATE, "yyyyMMdd", CultureInfo.InvariantCulture); } catch (Exception) { dtm_STATUS_ACC_RECEIVABLE_DATE = null; } INVOICE_INFO oINV = new INVOICE_INFO(Properties.Settings.Default.MyConnection); BOL_INVOICE_INFO oINFO = new BOL_INVOICE_INFO(); oINFO.STATUS_CASH_FORECAST_MM = STATUS_CASH_FORECAST_MM; oINFO.STATUS_PLAN_DEPOSIT_YYMM = STATUS_PLAN_DEPOSIT_YYMM; oINFO.STATUS_ACC_RECEIVABLE_DATE = dtm_STATUS_ACC_RECEIVABLE_DATE; oINFO.STATUS_ACTUAL_MDB_UPDATE = dtm_STATUS_ACTUAL_MDB_UPDATE; oINFO.DUNNING_DATE = dtm_DUNNING_DATE; oINFO.ANSWER_DATE = dtm_ANSWER_DATE; oINFO.ANSWER_MEMO = ANSWER_MEMO; oINFO.PAYMENT_DUE_DATE = dtm_PAYMENT_DUE_DATE; oINFO.COMPANY_NO_BOX = COMPANY_NO_BOX; oINFO.YEAR_MONTH = YEAR_MONTH; string strMessage = ""; if (!oINV.CheckIfItIsOrigin(oINFO.COMPANY_NO_BOX, oINFO.YEAR_MONTH, oINFO.DUNNING_DATE, out strMessage)) { oINFO.DUNNING_COUNT = DUNNING_COUNT + 1; } else { oINFO.DUNNING_COUNT = DUNNING_COUNT; } oINV.UpdateInvoiceFor37(oINFO, out strMessage); strError = strError + strMessage; } if (strError == "") { response.Status = 1; response.Message = "Success."; } else { response.Status = 0; response.Message = strError; } return(response); } catch (Exception ex) { response.Status = 0; response.Message = ex.Message + "\n" + ex.StackTrace; return(response); } }