Example #1
0
    /// <summary>
    /// 設定ROWID用
    /// </summary>
    private void SetRowIDToDataTable(bool bDefaultSelectAll, EditingGridview gvType)
    {
        #region
        Int32 iRowID = 0;
        string SessionIDName = "";
        System.Web.UI.HtmlControls.HtmlInputHidden hidden_RowID_Selected = null;
        DataTable dtTemp = null;

        if (gvType == EditingGridview.CAR)
        {
            dtTemp = dtCAR;
            hidden_RowID_Selected = hidden_RowID_Selected_CAR;
        }

        if (dtTemp != null && dtTemp.Rows.Count > 0)
        {
            foreach (DataRow dr in dtTemp.Rows)
            {
                dr["ROWID"] = iRowID.ToString();

                if (bDefaultSelectAll)
                {
                    hidden_RowID_Selected.Value += string.Format("[{0}],", iRowID);
                }

                iRowID++;
            }
        }

        //if (hidden_RowID_Selected.Value.Trim() != "" && hidden_RowID_Selected.Value.Substring(0, 1) == ";")
        //{
        //    hidden_RowID_Selected.Value = hidden_RowID_Selected.Value.Substring(1);
        //}

        #endregion
    }
Example #2
0
    /// <summary>
    /// 判斷明細資料檔是否有重複
    /// </summary>
    /// <returns></returns>
    private bool CheckDetailIsDuplicated(EditingGridview editingGV)
    {
        #region
        bool bResult = true;
        Int32 i32Count = 0;
        DataView dv = null;
        string strErrMsg = "";
        string strCurrentPK = "", strLastPK = "";

        if (editingGV == EditingGridview.None || editingGV == EditingGridview.ROUTE)
        {
            #region ROUTE
            if (dtRoute != null && dtRoute.Rows.Count > 0)
            {
                dv = dtRoute.DefaultView;
                dv.Sort = "ROUTE";

                //檢核PK是否重複
                for (Int32 i = 0; i <= dtRoute.Rows.Count - 1; i++)
                {
                    if (dtRoute.Rows[i].RowState != DataRowState.Deleted)
                    {
                        strCurrentPK = dtRoute.Rows[i]["ROUTE"].ToString();

                        if (strCurrentPK == strLastPK)
                        {
                            dtRoute.Rows[i]["CODE"] = "DUPLICATED";
                            bResult = false;
                            break;
                        }

                        strLastPK = dtRoute.Rows[i]["ROUTE"].ToString();
                    }
                }
            }

            if (!bResult)
            {
                strErrMsg += " 路線資料維護有重複資料 ";
            }
            #endregion
        }

        if (editingGV == EditingGridview.None || editingGV == EditingGridview.PAY)
        {
            #region PAY
            if (dtPay != null && dtPay.Rows.Count > 0)
            {
                strCurrentPK = "";
                strLastPK = "";
                dv = dtPay.DefaultView;
                dv.Sort = "PAY_NO";

                //檢核PK是否重複
                for (Int32 i = 0; i <= dtPay.Rows.Count - 1; i++)
                {
                    if (dtPay.Rows[i].RowState != DataRowState.Deleted)
                    {
                        strCurrentPK = dtPay.Rows[i]["PAY_NO"].ToString();

                        if (strCurrentPK == strLastPK)
                        {
                            dtPay.Rows[i]["CODE"] = "DUPLICATED";
                            bResult = false;
                            break;
                        }

                        strLastPK = dtPay.Rows[i]["PAY_NO"].ToString();
                    }
                }

                if (!bResult)
                {
                    strErrMsg += " 給付資料維護有重複資料 ";
                }
                else
                {

                    #region old
                    //strCurrentPK = "";
                    //strLastPK = "";
                    //dv = dtPay.DefaultView;
                    //dv.Sort = "UNIT";
                    //DataTable dtTemp = dv.ToTable();

                    ////檢核是否有同樣單位之設定
                    //for (Int32 i = 0; i <= dtTemp.Rows.Count - 1; i++)
                    //{
                    //    if (dtTemp.Rows[i].RowState != DataRowState.Deleted)
                    //    {
                    //        strCurrentPK = dtTemp.Rows[i]["UNIT"].ToString();

                    //        if (strCurrentPK == strLastPK)
                    //        {
                    //            dtTemp.Rows[i]["CODE"] = "DUPLICATED";
                    //            bResult = false;
                    //            break;
                    //        }

                    //        strLastPK = dtTemp.Rows[i]["UNIT"].ToString();
                    //    }
                    //}

                    //dtPay = dtTemp.Copy();
                    #endregion

                    #region new 2011/04/29 marked 改以 CheckDetailDataIntervalIsValid() 做判斷
                    //DataRow[] drAry = null;
                    //bool bDuplicated = false;
                    ////檢核是否有同樣單位之設定
                    //for (Int32 i = 0; i <= dtPay.Rows.Count - 1; i++)
                    //{
                    //    if (dtPay.Rows[i].RowState != DataRowState.Deleted)
                    //    {
                    //        drAry = dtPay.Select(string.Format("UNIT='{0}'", dtPay.Rows[i]["UNIT"].ToString().Trim()));

                    //        if (drAry != null && drAry.Length > 1)
                    //        {
                    //            for (Int32 k = drAry.GetUpperBound(0); k >= 0; k--)
                    //            {
                    //                if (drAry[k].RowState != DataRowState.Deleted)// && drAry[k]["CODE"].ToString().Trim() != "")
                    //                {
                    //                    drAry[k]["CODE"] = "DUPLICATED";
                    //                    bDuplicated = true;
                    //                    break;
                    //                }
                    //            }

                    //            if (bDuplicated)
                    //            {
                    //                bResult = false;
                    //                break;
                    //            }
                    //        }
                    //    }
                    //}
                    #endregion

                    if (!bResult)
                    {
                        strErrMsg += " 給付資料維護之單位設定有重複資料 ";
                    }

                }

            }

            #endregion
        }

        if (strErrMsg != "")
        {
            throw new Exception(strErrMsg);

            ErrorMsgLabel.Text = strErrMsg;
        }


        return bResult;
        #endregion
    }