Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ddSale"></param>
        /// <param name="noBoru"></param>
        public void LoadHoldItems(string ddSale, string noBoru)
        {
            var db = TranDbHelper.InitInstance();

            try
            {
                #region 보류상품항목 가져오기

                string query = "P003HoldSelectTop".POSSLQuerySQL();
                var    ds    = db.ExecuteQuery(query,
                                               new string[] {
                    "@DD_SALE", "@CD_STORE", "@NO_POS", "@NO_BORU"
                },
                                               new object[] {
                    ddSale,
                    ConfigData.Current.AppConfig.PosInfo.StoreNo,
                    ConfigData.Current.AppConfig.PosInfo.PosNo,
                    noBoru
                });

                if (ds.Tables[0].Rows.Count == 0)
                {
                    m_view.ReportError(SLP003HoldErrorState.NoBoruNotExists);
                }
                else
                {
                    List <SAT900TItemData> holdList = new List <SAT900TItemData>();
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        string     vcCont = TypeHelper.ToString(dr["VC_CONT"]);
                        BasketItem bi     = (BasketItem)BasketItem.Parse(typeof(BasketItem), vcCont);
                        holdList.Add(new SAT900TItemData()
                        {
                            NoBoru = TypeHelper.ToString(dr["NO_BORU"]),
                            NmItem = bi.NmItem,
                            QtItem = TypeHelper.ToInt32(bi.CntItem),
                            AmItem = TypeHelper.ToInt32(bi.AmSale),
                            SqBoru = TypeHelper.ToInt32(dr["SQ_BORU"]),
                            Basket = bi,
                            VcCont = vcCont
                        });
                    }

                    m_view.ReportError(SLP003HoldErrorState.NoError);
                    m_view.BindHoldItems(holdList.ToArray());
                }

                #endregion
            }
            catch (Exception ex)
            {
                LogUtils.Instance.LogException(ex);
            }
            finally
            {
                db.Dispose();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 보류진짜 해제한다
        /// </summary>
        /// <param name="noBoru"></param>
        /// <returns></returns>
        public SAT900TItemData[] ReleaseHoldTrxn(string noBoru)
        {
            var db    = TranDbHelper.InitInstance();
            var trans = db.BeginTransaction();

            try
            {
                #region 보류상품항목 가져오기

                string query = "P003HoldSelectTop".POSSLQuerySQL();
                var    ds    = db.ExecuteQuery(query,
                                               new string[] {
                    "@DD_SALE", "@CD_STORE", "@NO_POS", "@NO_BORU"
                },
                                               new object[] {
                    ConfigData.Current.AppConfig.PosInfo.SaleDate,
                    ConfigData.Current.AppConfig.PosInfo.StoreNo,
                    ConfigData.Current.AppConfig.PosInfo.PosNo,
                    noBoru
                }, trans);

                List <SAT900TItemData> holdList = new List <SAT900TItemData>();
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    string     vcCont = TypeHelper.ToString(dr["VC_CONT"]);
                    BasketItem bi     = (BasketItem)BasketItem.Parse(typeof(BasketItem), vcCont);
                    holdList.Add(new SAT900TItemData()
                    {
                        NoBoru = TypeHelper.ToString(dr["NO_BORU"]),
                        NmItem = bi.NmItem,
                        QtItem = TypeHelper.ToInt32(bi.CntItem),
                        AmItem = TypeHelper.ToInt32(bi.AmSale),
                        SqBoru = TypeHelper.ToInt32(dr["SQ_BORU"]),
                        Basket = bi,
                        VcCont = vcCont
                    });
                }

                #endregion

                #region 보류항목해제 상태저장

                if (holdList.Count > 0)
                {
                    query = "P003HoldTrxnRelease".POSSLQuerySQL();
                    db.ExecuteNonQuery(query,
                                       new string[] {
                        "@DD_SALE", "@CD_STORE", "@NO_POS", "@NO_BORU"
                    },
                                       new object[] {
                        ConfigData.Current.AppConfig.PosInfo.SaleDate,
                        ConfigData.Current.AppConfig.PosInfo.StoreNo,
                        ConfigData.Current.AppConfig.PosInfo.PosNo,
                        holdList[0].NoBoru
                    }, trans);
                }

                #endregion

                trans.Commit();
                return(holdList.ToArray());
            }
            catch (Exception ex)
            {
                if (trans != null)
                {
                    trans.Rollback();
                }
                LogUtils.Instance.LogException(ex);
                return(null);
            }
            finally
            {
                db.Dispose();
                trans.Dispose();
            }
        }