Exemplo n.º 1
0
    //新增履歷(Confirm確認後的處理)
    //strExtend 0:新增履歷 1:延長結束日履歷
    private void AddResume(string strExtend)
    {
        DataSet ds = new DataSet();
        string SessionIDName = "VDM022_" + PageTimeStamp.Value;
        ds = (DataSet)Session[SessionIDName];
        try
        {
            #region 異動合約主檔履歷結束日
            ParameterList.Clear();
            ParameterList.Add(txtVENDOR_CODE.Text);
            ParameterList.Add(ds.Tables["Table_0"].Rows[0]["CNT_NO"].ToString());//V_OLD_CNT_NO
            ParameterList.Add(ds.Tables["Table_0"].Rows[0]["EDIT_NO"].ToString());//N_EDIT_NO
            ParameterList.Add(GetValueSetParameter(ds.Tables["Table_0"].Rows[0]["CREATEDATE"].ToString(), "datetime", false));//D_OLD_CREATEDATE
            ParameterList.Add(ds.Tables["Table_0"].Rows[0]["CREATEUID"].ToString());//V_OLD_CREATEUID
            ParameterList.Add(GetValueSetParameter(ds.Tables["Table_0"].Rows[0]["UPDATEDATE"].ToString(), "datetime", false));//D_OLD_UPDATEDATE
            ParameterList.Add(ds.Tables["Table_0"].Rows[0]["UPDATEUID"].ToString());//V_OLD_UPDATEUID

            ParameterList.Add(slpRESUME_DATE_E.Text);//N_RESUME_DATE_E 履歷迄日
            ParameterList.Add(System.DateTime.Now);//D_NEW_UPDATEDATE
            ParameterList.Add(Session["UID"].ToString());//V_NEW_UPDATEUID

            BCO.MaintainVendorAgm bco = new BCO.MaintainVendorAgm(ConntionDB);
            bco.UpdateResumeEDate(ParameterList, null);
            #endregion

            //把所有資料存到DataSet後傳給VDM101
            DataTable dt = ds.Tables["Table_0"];

            dt.Rows[0]["EDIT_NO"] = Int16.Parse(dt.Rows[0]["EDIT_NO"].ToString()) + 1;
            dt.Rows[0]["VENDOR_CODE"] = txtVENDOR_CODE.Text;
            dt.Rows[0]["PAY_TYPE"] = ddlPAY_TYPE.Text;
            dt.Rows[0]["COL_DAYS"] = txtCOL_DAYS.Text;
            dt.Rows[0]["CNT_VALID_DATE"] = slpCNT_VALID_DATE.Text;
            dt.Rows[0]["CNT_END_DATE"] = slpCNT_END_DATE.Text;
            dt.Rows[0]["CNT_CONFIRM_CODE"] = slpCNT_CONFIRM_CODE.Text;
            dt.Rows[0]["CNT_CONFIRM_DATE"] = System.DBNull.Value;
            dt.Rows[0]["CNT_NO"] = txtCNT_NO.Text;
            dt.Rows[0]["TRACE_DATE_B"] = System.DBNull.Value;//VARCHAR2(6)型態
            dt.Rows[0]["TRACE_DATE_E"] = System.DBNull.Value;//VARCHAR2(6)型態
            dt.Rows[0]["STOP_DATE"] = System.DBNull.Value;
            dt.Rows[0]["RESUME_DATE_B"] = DateTime.Parse(slpRESUME_DATE_E.Text).AddDays(1).ToShortDateString();//履歷迄日+1
            dt.Rows[0]["RESUME_DATE_E"] = slpCNT_END_DATE.Text;//合約迄日
            if (slpBELOW_SUBVEN.Text.Trim().Length == 0) dt.Rows[0]["BELOW_SUBVEN"] = System.DBNull.Value;
            else dt.Rows[0]["BELOW_SUBVEN"] = slpBELOW_SUBVEN.Text;
            if (slpBELOW_SUBVEN_PAY_TYPE.Text.Trim().Length == 0) dt.Rows[0]["BELOW_SUBVEN_PAY_TYPE"] = System.DBNull.Value;
            else dt.Rows[0]["BELOW_SUBVEN_PAY_TYPE"] = slpBELOW_SUBVEN_PAY_TYPE.Text;
            if (slpBELOW_SUBVEN_TYPE.Text.Trim().Length == 0) dt.Rows[0]["BELOW_SUBVEN_TYPE"] = System.DBNull.Value;
            else dt.Rows[0]["BELOW_SUBVEN_TYPE"] = slpBELOW_SUBVEN_TYPE.Text;
            if (slpBELOW_SUBVEN_RATE.Text.Trim().Length == 0) dt.Rows[0]["BELOW_SUBVEN_RATE"] = System.DBNull.Value;
            else dt.Rows[0]["BELOW_SUBVEN_RATE"] = slpBELOW_SUBVEN_RATE.Text;

            ds.Tables["Table_7"].Rows[0]["COUNT_TYPE"] = rdoCOUNT_TYPE1.Checked == true ? "1" : "2";
            ds.Tables["Table_7"].Rows[0]["PAY_TYPE"] = SLP_CodeFile4.Text;
            ds.Tables["Table_7"].Rows[0]["ANNUAL_RULE"] = SLP_CodeFile3.SelectedValue;

            foreach (DataRow dr in ds.Tables["Table_1"].Rows) //店群門市
                dr["EDIT_NO"] = dt.Rows[0]["EDIT_NO"];

            foreach (DataRow dr in ds.Tables["Table_2"].Rows) //單品
                dr["EDIT_NO"] = dt.Rows[0]["EDIT_NO"];

            foreach (DataRow dr in ds.Tables["Table_3"].Rows) //獎勵金
                dr["EDIT_NO"] = dt.Rows[0]["EDIT_NO"];

            ds.AcceptChanges();
            Session[SessionIDName] = ds;
            string strUrl = string.Format("location.replace('VDM101.aspx?Code=VDM10&arl_Key=" + Request.QueryString["arl_Key"] + "&SessionIDName=" + SessionIDName + "&ROWNUM=" + ViewState["ROWNUM"].ToString() + "&EXTEND=" + strExtend + "');", Session["UID"].ToString().Trim());
            ScriptManager.RegisterStartupScript(Page, GetType(), "AddResume", strUrl, true);
        }
        catch (Exception ex)
        {
            if (ex.Message.IndexOf("資料已被他人異動") >= 0)
                ScriptManager.RegisterStartupScript(this, this.GetType(), "DelComplete", "alert('履歷異動失敗,此資料已被其他使用者異動,請重新查詢!');", true);
            else
            {
                lblErrMsg1.Text = ex.Message;
                UpdatePanel2.Update();
            }
        }
    }