예제 #1
0
    /// <summary>
    /// 新增配本紀錄
    /// </summary>
    private void AddALODisRecord()
    {
        try
        {
            ArrayList MainTableList = new ArrayList();
            ALOModel.MaintainDisRecord MDR = new ALOModel.MaintainDisRecord(ConnectionDB);
            //配本序號
            string DisNO = "";

            #region 指定變數


            ArrayList ParameterList = new ArrayList(); //20091105 added
            ParameterList.Clear();
            //配本序號
            ParameterList.Add(DISNOTxt.Text);
            //建立配本主檔DataTable    
            if (FormStatusHidden.Value == "Add")
            {
                ParameterList.Add(AddDisMainDt());
            }
            else
            {
                //舊資料
                #region 使用XML轉回DataSet

                DataSet DisMainDs = new DataSet();
                System.IO.StringReader DisMainSr = new System.IO.StringReader(OLD_DisMainXML.InnerHtml);
                DisMainDs.ReadXml(DisMainSr);
                DataTable OLDDisMainDt = null;

                if (DisMainDs.Tables.Count > 0)
                {
                    OLDDisMainDt = DisMainDs.Tables[0];

                    #region 將DateTime 1900/01/01 轉回 null

                    for (int i = 0; i < OLDDisMainDt.Rows.Count; i++)
                    {
                        for (int j = 0; j < OLDDisMainDt.Columns.Count; j++)
                        {
                            if (OLDDisMainDt.Columns[j].DataType == typeof(System.DateTime))
                            {
                                if (DateTime.Parse(OLDDisMainDt.Rows[i][j].ToString()) == DateTime.Parse("1900/01/01"))
                                {
                                    OLDDisMainDt.Rows[i][j] = Convert.DBNull;
                                }
                            }
                        }
                    }

                    #endregion

                }

                #endregion
                MainTableList.Add(OLDDisMainDt);

                //新資料
                #region 新資料

                DataTable NewDisMainDt = OLDDisMainDt.Clone();
                DataRow MainDr = NewDisMainDt.NewRow();

                MainDr["DIS_NO"] = DISNOTxt.Text;
                MainDr["DIS_DATE"] = SLP_DISDate.Text;
                MainDr["ST_ACCEPT_DATE"] = SLP_STAcceptDate.Text;
                MainDr["APPROVE_DATE"] = SLP_ApproveDate.Text;
                MainDr["UPDATEDATE"] = DateTime.Now;
                MainDr["UPDATEUID"] = Session["UID"].ToString();

                NewDisMainDt.Rows.Add(MainDr);

                #endregion
                MainTableList.Add(NewDisMainDt);

                ParameterList.Add(MainTableList);
            }
            //建立配本商品DataTable
            ParameterList.Add(AddDISItemDt());
            //建立配本通路DataTable
            ParameterList.Add(AddDisChanDt());
            //建立配本參照商品DataTable
            ParameterList.Add(AddDisItemReferDt());
            //目前品號
            ParameterList.Add(SLP_SKU1.Text);
            //目前期別
            ParameterList.Add(SLP_ItemPeriod1.Text);
            //若配本方式109 處裡
            ParameterList.Add(GetdtDisTypeTmp109());
            //配本方式 '105','110' 處理
            ParameterList.Add(GetDisTypeTmpDt());
            //使用者
            ParameterList.Add(Session["UID"].ToString());

            #endregion

            //新增配本紀錄
            MDR.CreateDisRecordFor111(ParameterList,
                                      ref DisNO,
                                      null
                                      );

            //配本序號
            DISNOTxt.Text = DisNO;

        }
        catch (Exception ex)
        {
            throw ex;
        }
    }