示例#1
0
        protected override bool WfAppendUpdate()
        {
            string              updateSql;
            vw_invi102          masterModel;
            List <SqlParameter> sqlParmsList;

            try
            {
                masterModel = DrMaster.ToItem <vw_invi102>();
                if (masterModel.icp06 == "Y")
                {
                    updateSql    = @"
                                UPDATE icp_tb
                                SET icp06='N'                                        
                                WHERE icp01=@icp01
                                      AND icp02<>@icp02
                               ";
                    sqlParmsList = new List <SqlParameter>();
                    sqlParmsList.Add(new SqlParameter("icp01", masterModel.icp01));
                    sqlParmsList.Add(new SqlParameter("icp02", masterModel.icp02));

                    if (BoInv.OfExecuteNonquery(updateSql, sqlParmsList.ToArray()) < 0)
                    {
                        WfShowErrorMsg("WfAppendUpdate 更新 icp_tb 失敗!");
                        return(false);
                    }

                    updateSql    = @"
                                UPDATE icp_tb
                                SET icp05=999                                     
                                WHERE icp01=@icp01
                                      AND icp02<>@icp02
                                      AND icp05=0
                               ";
                    sqlParmsList = new List <SqlParameter>();
                    sqlParmsList.Add(new SqlParameter("icp01", masterModel.icp01));
                    sqlParmsList.Add(new SqlParameter("icp02", masterModel.icp02));

                    if (BoInv.OfExecuteNonquery(updateSql, sqlParmsList.ToArray()) < 0)
                    {
                        WfShowErrorMsg("WfAppendUpdate 更新 icp_tb 失敗!");
                        return(false);
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#2
0
        protected override bool WfAppendUpdate()
        {
            vw_admi611          admi611Model = null;
            int                 chkCnts      = 0;
            StringBuilder       sbSql        = null;
            List <SqlParameter> sqlParmsList;
            CommonBLL           boAppend;
            DataTable           dtady = null;

            try
            {
                boAppend      = new InvBLL(BoMaster.OfGetConntion());
                boAppend.TRAN = BoMaster.TRAN;
                boAppend.OfCreateDao("ady_tb", "*", "");
                admi611Model = DrMaster.ToItem <vw_admi611>();

                //處理明細--均先刪後新增
                if (FormEditMode != YREditType.新增)
                {
                    sbSql        = new StringBuilder();
                    sqlParmsList = new List <SqlParameter>();
                    sbSql.AppendLine("DELETE FROM ady_tb WHERE ady01=@ady01");
                    sqlParmsList.Add(new SqlParameter("@ady01", admi611Model.adx01));
                    chkCnts = boAppend.OfExecuteNonquery(sbSql.ToString(), sqlParmsList.ToArray());


                    sbSql        = new StringBuilder();
                    sqlParmsList = new List <SqlParameter>();
                    sbSql.AppendLine("SELECT * FROM ady_tb");
                    sbSql.AppendLine("WHERE 1<>1");
                    dtady = boAppend.OfGetDataTable(sbSql.ToString());
                    foreach (vw_admi611s detailModel in Admi611sList)
                    {
                        var drady = dtady.NewRow();
                        drady["ady01"]   = detailModel.ady01;
                        drady["ady02"]   = detailModel.ady02;
                        drady["ady03"]   = detailModel.ady03;
                        drady["ady04"]   = detailModel.ady04;
                        drady["ady05"]   = detailModel.ady05;
                        drady["ady06"]   = detailModel.ady06;
                        drady["ady07"]   = detailModel.ady07;
                        drady["adycreu"] = detailModel.adycreu;
                        drady["adycreg"] = detailModel.adycreg;
                        if (detailModel.adycred == null)
                        {
                            drady["adycred"] = DBNull.Value;
                        }
                        else
                        {
                            drady["adycred"] = detailModel.adycred;
                        }

                        drady["adymodu"] = detailModel.adymodu;
                        drady["adymodg"] = detailModel.adymodg;

                        if (detailModel.adymodd == null)
                        {
                            drady["adymodd"] = DBNull.Value;
                        }
                        else
                        {
                            drady["adymodd"] = detailModel.adymodd;
                        }
                        dtady.Rows.Add(drady);
                    }
                    boAppend.OfUpdate(dtady);
                }

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#3
0
        protected override bool WfExecute()
        {
            vw_invb600          invb600Model;
            sga_tb              sgaModel;
            List <QueryInfo>    queryInfoList;
            QueryInfo           queryModel;
            List <SqlParameter> sqlParmList;
            string              strQueryRange, strWhere;
            DataTable           dtMain;
            StringBuilder       sbSql;
            int chkCnts = 0;

            try
            {
                //取得交易物件
                BoMaster.TRAN = BoMaster.OfGetConntion().BeginTransaction();
                BoInv.TRAN    = BoMaster.TRAN;

                invb600Model = DrMaster.ToItem <vw_invb600>();
                #region range 查詢條件
                queryInfoList = new List <QueryInfo>();
                if (!GlobalFn.varIsNull(invb600Model.icc01))
                {
                    queryModel            = new QueryInfo();
                    queryModel.TableName  = "icc_tb";
                    queryModel.ColumnName = "icc01";
                    queryModel.ColumnType = TabMaster.DtSource.Columns["icc01"].DataType.Name;
                    queryModel.Value      = invb600Model.icc01;
                    queryInfoList.Add(queryModel);
                }
                if (!GlobalFn.varIsNull(invb600Model.icc02))
                {
                    queryModel            = new QueryInfo();
                    queryModel.TableName  = "icc_tb";
                    queryModel.ColumnName = "icc02";
                    queryModel.ColumnType = TabMaster.DtSource.Columns["icc02"].DataType.Name;
                    queryModel.Value      = invb600Model.icc02;
                    queryInfoList.Add(queryModel);
                }
                sqlParmList   = new List <SqlParameter>();
                strQueryRange = BoMaster.WfGetQueryString(queryInfoList, out sqlParmList);
                strWhere      = strQueryRange;
                #endregion

                var strSecurity = WfGetSecurityString();    //暫時無權限問題,先保留
                if (!GlobalFn.varIsNull(strSecurity))
                {
                    strWhere += strSecurity;
                }

                //取得單頭
                sbSql = new StringBuilder();
                sbSql.AppendLine("SELECT * FROM sga_tb");
                sbSql.AppendLine("WHERE sgaconf='N' ");
                dtMain           = BoMaster.OfGetDataTable(string.Concat(sbSql.ToString(), strWhere), sqlParmList.ToArray());
                dtMain.TableName = "Master";

                if (dtMain == null || dtMain.Rows.Count == 0)
                {
                    WfShowErrorMsg("查無資料,請重新過濾條件!");
                    BoMaster.TRAN.Rollback();
                    return(false);
                }

                foreach (DataRow drIga in dtMain.Rows)
                {
                    var iccModel = drIga.ToItem <sga_tb>();
                    //取得ina_tb庫存歷史檔資料!
                    sbSql = new StringBuilder();

                    chkCnts = BoInv.OfExecuteNonquery(sbSql.ToString(), sqlParmList.ToArray());
                    //if (chkCnts<=0)
                    //{
                    //    WfShowErrorMsg("查無可異動icc_tb資料表,請檢核!");
                    //    BoMaster.TRAN.Rollback();

                    //    return false;
                    //}
                }
                BoMaster.TRAN.Commit();
                return(true);
            }
            catch (Exception ex)
            {
                BoMaster.TRAN.Rollback();
                throw ex;
            }
        }