Exemplo n.º 1
0
        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);
            }
        }