Example #1
0
 public int Add(GateCardInfo info)
 {
     SqlParameter[] param =
     {
         new SqlParameter("@UserId",     info.UserId),
         new SqlParameter("@TransId",    info.TransId),
         new SqlParameter("@ServiceID",  info.ServiceID),
         new SqlParameter("@SerialsId",  info.SerialsId),
         new SqlParameter("@CardId",     info.CardId),
         new SqlParameter("@ResultId",   info.ResultId),
         new SqlParameter("@Amount",     info.Amount),
         new SqlParameter("@Msg",        info.Msg),
         new SqlParameter("@CreateDate", info.CreateDate)
     };
     return(int.Parse(DataHelper.ExecuteScalar(Config.ConnectString, "usp_GateCard_Add", param).ToString()));
 }
Example #2
0
        private GateCardInfo FillData(IDataReader r)
        {
            GateCardInfo info = new GateCardInfo();

            if (!r.IsDBNull(r.GetOrdinal("id")))
            {
                info.id = r.GetInt32(r.GetOrdinal("id"));
            }
            if (!r.IsDBNull(r.GetOrdinal("UserId")))
            {
                info.UserId = r.GetString(r.GetOrdinal("UserId"));
            }
            if (!r.IsDBNull(r.GetOrdinal("TransId")))
            {
                info.TransId = r.GetString(r.GetOrdinal("TransId"));
            }
            if (!r.IsDBNull(r.GetOrdinal("ServiceID")))
            {
                info.ServiceID = r.GetString(r.GetOrdinal("ServiceID"));
            }
            if (!r.IsDBNull(r.GetOrdinal("SerialsId")))
            {
                info.SerialsId = r.GetString(r.GetOrdinal("SerialsId"));
            }
            if (!r.IsDBNull(r.GetOrdinal("CardId")))
            {
                info.CardId = r.GetString(r.GetOrdinal("CardId"));
            }
            if (!r.IsDBNull(r.GetOrdinal("ResultId")))
            {
                info.ResultId = r.GetString(r.GetOrdinal("ResultId"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Amount")))
            {
                info.Amount = r.GetInt32(r.GetOrdinal("Amount"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Msg")))
            {
                info.Msg = r.GetString(r.GetOrdinal("Msg"));
            }
            if (!r.IsDBNull(r.GetOrdinal("CreateDate")))
            {
                info.CreateDate = r.GetDateTime(r.GetOrdinal("CreateDate"));
            }

            return(info);
        }
Example #3
0
        //public int Update(GateCardInfo info)
        //{
        //    SqlParameter[] param = {
        //                               new SqlParameter("@id", info.id)
        //    ,new SqlParameter("@UserId", info.UserId),
        //    new SqlParameter("@TransId", info.TransId),
        //    new SqlParameter("@ServiceID", info.ServiceID),
        //    new SqlParameter("@SerialsId", info.SerialsId),
        //    new SqlParameter("@CardId", info.CardId),
        //    new SqlParameter("@ResultId", info.ResultId),
        //    new SqlParameter("@Amount", info.Amount),
        //    new SqlParameter("@Msg", info.Msg),
        //    new SqlParameter("@CreateDate", info.CreateDate)
        //                           };
        //    return DataHelper.ExecuteNonQuery(Config.ConnectString, "usp_GateCard_Update", param);
        //}


        //public int Delete(int id)
        //{
        //    SqlParameter[] param = {
        //                               new SqlParameter("@id", id)

        //                           };
        //    return DataHelper.ExecuteNonQuery(Config.ConnectString, "usp_GateCard_Delete", param);
        //}

        public GateCardInfo GetInfo(int id)
        {
            GateCardInfo info = null;

            SqlParameter[] param =
            {
                new SqlParameter("@id", id)
            };
            var r = DataHelper.ExecuteReader(Config.ConnectString, "usp_GateCard_GetById", param);

            if (r != null)
            {
                info = new GateCardInfo();
                while (r.Read())
                {
                    info = FillData(r);
                }
                r.Close();
                r.Dispose();
            }
            return(info);
        }
Example #4
0
        private void GateFTP(HttpContext context, string UserId, string CardSerials, string CardPin, string sType)
        {
            GateCardInfo info = new GateCardInfo()
            {
                UserId     = UserId,
                CardId     = CardPin,
                SerialsId  = CardSerials,
                CreateDate = DateTime.Now,
                ServiceID  = sType
            };

            try
            {
                AuthenSoapHeader authen = new AuthenSoapHeader();
                authen.UserName = Config.UserServicesGate;
                authen.Password = Config.PassServicesGate;
                WsGateCardSoapClient client = new WsGateCardSoapClient();
                var result = client.CardInputSandbox(authen, sType, CardSerials, CardPin);

                if (result.ErrorCode == "00")
                {
                    //Giao dịch GateCard thành công
                    info.ResultId = result.ErrorCode;
                    info.Msg      = result.ErrorMessage;
                    info.Amount   = int.Parse(result.Amount);
                    info.TransId  = result.TransId;

                    SubmitVoucherInfo sbInfo = new SubmitVoucherInfo()
                    {
                        GatePayId  = Config.ClientIdFPT,
                        UserId     = UserId,
                        Amount     = info.Amount,
                        CreateDate = DateTime.Now,
                        TransId    = info.TransId
                    };
                    try
                    {
                        WSClient wsclient = new WSClient();
                        var      cred     = new credential {
                            clientId = Config.ClientIdFPT
                        };
                        var wsResult = wsclient.submitVoucher(cred, UserId, result.Amount, info.TransId);

                        sbInfo.returnCode            = wsResult.returnCode;
                        sbInfo.returnCodeDescription = wsResult.returnCodeDescription;
                        sbInfo.responseData          = wsResult.responseData;
                        sbInfo.signature             = wsResult.signature;

                        if (sbInfo.returnCode == "")
                        {
                            string sDate = ReadResultVocher(sbInfo.responseData);
                            context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 0, sDate));
                            return;
                        }
                        else
                        {
                            context.Response.Write(string.Format("{{\"error\":\"{0}\",\"msg\":\"{1}\"}}", sbInfo.returnCode, sbInfo.returnCodeDescription));
                            return;
                        }
                    }
                    catch (Exception e)
                    {
                        //log error
                        context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", e.GetHashCode(), e.Message));
                        sbInfo.returnCode            = e.GetHashCode().ToString();
                        sbInfo.returnCodeDescription = e.Message;
                        return;
                    }
                    finally
                    {
                        SubmitVoucherData.instance.Add(sbInfo);
                    }
                }
                else
                {
                    info.ResultId = result.ErrorCode;
                    info.Msg      = result.ErrorMessage;
                    context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", result.ErrorCode, result.ErrorMessage));
                }
            }
            catch (Exception e)
            {
                //log error
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", e.GetHashCode(), e.Message));
                //if (info.ResultId == "")
                //{
                //    info.ResultId = e.GetHashCode().ToString();
                //    info.Msg = e.Message;
                //}
                return;
            }
            finally
            {
                GateCardData.instance.Add(info);
            }
        }