Пример #1
0
        /// <summary>
        /// POS download softpin in template
        /// ChungNN 03/2009
        /// </summary>
        /// <param name="Pos_ID"></param>
        /// <param name="Merchant_ID"></param>
        /// <param name="RequestID"></param>
        /// <param name="SoftpinStock"></param>
        /// <returns></returns>
        public BatchBuyObject PosDownloadSoftpinTemplate(int Pos_ID, int Merchant_ID, string RequestID, object[] SoftpinStock)
        {
            BatchBuyObject buyObj = new BatchBuyObject();
            string         strTopupInterfaceToken = ServiceSessionManager.GetSessionInstance().GetSession("TopupInterfaceToken");

            buyObj = srvObj.PosDownloadSoftpinTemplate(Pos_ID, Merchant_ID, RequestID, SoftpinStock, strTopupInterfaceToken);
            Thread.Sleep(AppConfiguration.TopupInterface_TimeOut);

            return(buyObj);
            //transObj.WriteLog("PosDownloadSingleSoftpin, Errorcode = " + buyObj.ErrorCode.ToString());
        }
Пример #2
0
        /// <summary>
        /// POS download some softpins
        /// ChungNN 03/2009
        /// </summary>
        /// <param name="Pos_ID"></param>
        /// <param name="Merchant_ID"></param>
        /// <param name="RequestID"></param>
        /// <param name="CategoryName"></param>
        /// <param name="ServiceProviderName"></param>
        /// <param name="ProductValue"></param>
        /// <param name="StockQuantity"></param>
        /// <param name="DownloadQuantity"></param>
        /// <returns></returns>
        public BatchBuyObject PosDownloadSingleSoftpin(int Pos_ID, int Merchant_ID, string RequestID, string CategoryName, string ServiceProviderName, int ProductValue, int StockQuantity, int DownloadQuantity)
        {
            BatchBuyObject buyObj = new BatchBuyObject();
            string         strTopupInterfaceToken = ServiceSessionManager.GetSessionInstance().GetSession("TopupInterfaceToken");

            //string RequestID = Guid.NewGuid().ToString().Substring(0, 19);
            buyObj = srvObj.PosDownloadSingleSoftpin(Pos_ID, Merchant_ID, RequestID, CategoryName, ServiceProviderName, ProductValue, StockQuantity, DownloadQuantity, strTopupInterfaceToken);
            Thread.Sleep(AppConfiguration.TopupInterface_TimeOut);
            //buyObj = srvObj.PosDownloadSingleSoftpin(Pos_ID, Merchant_ID, RequestID, CategoryName, ServiceProviderName, ProductValue, StockQuantity, strTopupInterfaceToken);

            return(buyObj);
            //transObj.WriteLog("PosDownloadSingleSoftpin, Errorcode = " + buyObj.ErrorCode.ToString());
        }
Пример #3
0
        /// <summary>
        /// POS download softpin
        /// ChungNN 03/2009
        /// </summary>
        /// <param name="request">IsoMessage</param>
        /// <returns>IsoMessage</returns>
        public IsoMessage Download(IsoMessage request)
        {
            topupObj = new TopupInterface();

            //create response message
            mfact = new MessageFactory();
            mfact = ConfigParser.CreateFromFile(AppConfiguration.App_Path + AppConfiguration.POSConfig_ISOFile);
            IsoMessage response            = mfact.CreateResponse(request);
            bool       blnDownloadTemplate = !request.HasField(48);
            string     strRequest          = request.GetField(11).Value.ToString();
            int        nMerchant_ID        = int.Parse(request.GetField(2).Value.ToString());
            int        nPos_ID             = int.Parse(request.GetField(52).Value.ToString());

            //if exist session
            if (!Common.ServiceSessionManager.GetSessionInstance().IsExistedSession(nPos_ID.ToString(), strRequest))
            {
                mfact.Setfield(39, "01", ref response);
                transObj.WriteLog("->download fail, session not exist");
            }
            else
            {
                //Download template
                if (blnDownloadTemplate)
                {
                    try
                    {
                        //get request values
                        topupObj = new TopupInterface();
                        BatchBuyObject buyObj = new BatchBuyObject();

                        //String[] arrRequestValues = request.GetField(48).Value.ToString().Split(AppConfiguration.POS_Seperator_Char);
                        //string strCategoryName = arrRequestValues[0];
                        //string strServiceProviderName = arrRequestValues[1];
                        //int nProductValue = int.Parse(arrRequestValues[2]);
                        //int nStockQuantity = int.Parse(arrRequestValues[3]);
                        //int nDownloadQuantity = int.Parse(arrRequestValues[4]);

                        object[] SoftpinStock = new object[1];

                        StockObject stockObj = new StockObject();
                        stockObj.ProductValue        = 10000;
                        stockObj.CategoryName        = "Thẻ ĐTDĐ";
                        stockObj.ServiceProviderName = "Vinaphone";
                        stockObj.StockQuantity       = 0;
                        SoftpinStock[0] = stockObj;

                        buyObj = topupObj.PosDownloadSoftpinTemplate(nPos_ID, nMerchant_ID, strRequest, SoftpinStock);

                        if (buyObj.ErrorCode == 0)
                        {
                            mfact.Setfield(39, "00", ref response);
                            transObj.WriteLog("->download template successfull");
                        }
                        else
                        {
                            mfact.Setfield(39, "01", ref response);
                            transObj.WriteLog("->download template fail");
                        }
                    }
                    catch (Exception ex)
                    {
                        transObj.WriteLog("->download template execption =" + ex.ToString());
                        throw (ex);
                    }
                }
                //Download single
                else
                {
                    try
                    {
                        //get request values
                        topupObj = new TopupInterface();
                        BatchBuyObject buyObj = new BatchBuyObject();

                        String[] arrRequestValues       = request.GetField(48).Value.ToString().Split(AppConfiguration.POS_Seperator_Char);
                        string   strCategoryName        = arrRequestValues[0];
                        string   strServiceProviderName = arrRequestValues[1];
                        int      nProductValue          = int.Parse(arrRequestValues[2]);
                        int      nStockQuantity         = int.Parse(arrRequestValues[3]);
                        int      nDownloadQuantity      = int.Parse(arrRequestValues[4]);

                        buyObj = topupObj.PosDownloadSingleSoftpin(nPos_ID, nMerchant_ID, strRequest, strCategoryName, strServiceProviderName, nProductValue, nStockQuantity, nDownloadQuantity);

                        if (buyObj.ErrorCode == 0)
                        {
                            mfact.Setfield(39, "00", ref response);
                            transObj.WriteLog("->download single successfull");
                        }
                        else
                        {
                            mfact.Setfield(39, "01", ref response);
                            transObj.WriteLog("->download single fail");
                        }

                        //create response message
                        mfact    = new MessageFactory();
                        mfact    = ConfigParser.CreateFromFile(AppConfiguration.App_Path + AppConfiguration.POSConfig_ISOFile);
                        response = mfact.CreateResponse(request);
                    }
                    catch (Exception ex)
                    {
                        transObj.WriteLog("->download single execption =" + ex.ToString());
                        throw (ex);
                    }
                }
            }

            return(response);
        }