private void InitRecord() { Cursor.Current = Cursors.WaitCursor; transactionTypeBindingSource.DataSource = TransactionTypeManager.GetAll(); userLevelBindingSource.DataSource = UserLevelManager.GetAll(); Cursor.Current = Cursors.Default; }
public AddTransactionType() { string error = ""; WithTitle("Add Transaction Type"); AddSection() .WithTitle("Transaction Type Information") .IsCollapsible() .WithFields(new List <IField>() { Map(x => x.Name) .AsSectionField <TextBox>() .Required() .WithLength(15), Map(x => x.Code) .AsSectionField <TextBox>() .Required() .TextFormatIs(TextFormat.numeric) .WithLength(15), Map(x => x.Description) .AsSectionField <TextBox>() .Required() }); AddButton().WithText("Save") .SubmitTo(trnx => { try { var result = new TransactionTypeManager().AddTransactionType(trnx); } catch (Exception ex) { while (ex.InnerException != null) { ex = ex.InnerException; } error = ex.Message; throw; } return(true); }) .OnSuccessDisplay("Successfully Saved") .OnFailureDisplay(string.Format("Sorry!!! Transaction Type Not Saved{0}", error)) .CssClassIs("btn btn-default"); }
private void transactionTypeDataGridView_RowLeave(object sender, DataGridViewCellEventArgs e) { if (transactionTypeBindingSource == null) { return; } if (transactionTypeDataGridView.Rows.Count <= 1) { return; } if (!transactionTypeDataGridView.IsCurrentRowDirty) { return; } Validate(); transactionTypeBindingSource.EndEdit(); var iResult = TransactionTypeManager.Save((TransactionType)transactionTypeBindingSource.Current); toolStripStatusLabel1.Text = iResult > 0 ? @"Transation Type was saved successfully." : @"Error occurred when saving Transaction Type."; }
private void DeleteTransactionType() { if (transactionTypeBindingSource != null) { var dResult = MessageBox.Show(@"Delete current record?", @"Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (dResult == DialogResult.Yes) { if (TransactionTypeManager.Delete(((TransactionType)transactionTypeBindingSource.Current))) { MessageBox.Show(@"Record was deleted successfully.", @"Delete", MessageBoxButtons.OK, MessageBoxIcon.Information); transactionTypeBindingSource.RemoveCurrent(); } else { MessageBox.Show(@"Error on delete operation.", @"Delete", MessageBoxButtons.OK, MessageBoxIcon.Error); transactionTypeDataGridView.Focus(); } } } }
public Iso8583Message ValidateMessage(Iso8583Message originalMessage, int sourceID) { Logger.Log("\n Enter Validator"); //get source Node. SourceNode sourceNode = new SourceNodeManager().GetByID(sourceID); DateTime transmissionDate = DateTime.UtcNow; //format TransactionDate string transactionDate = string.Format("{0}{1}", string.Format("{0:00}{1:00}", transmissionDate.Month, transmissionDate.Day), string.Format("{0:00}{1:00}{2:00}", transmissionDate.Hour, transmissionDate.Minute, transmissionDate.Second)); //set Original Data Element string originalDataElement = string.Format("{0}{1}{2}", originalMessage.MessageTypeIdentifier.ToString(), originalMessage.Fields[11].ToString(), transactionDate); //add original data element to original message originalMessage.Fields.Add(90, originalDataElement); //Do Message Log Logger.LogTransaction(originalMessage, sourceNode); // Check if it is reversal message and do the needful if (originalMessage.MessageTypeIdentifier == 421) { Logger.Log("\n This is a reversal"); bool conReversal; Iso8583Message reversalIsoMsg = GetReversalMessage(originalMessage, out conReversal); if (!conReversal) { Logger.LogTransaction(reversalIsoMsg); return(reversalIsoMsg); } originalMessage = reversalIsoMsg; Logger.LogTransaction(originalMessage, sourceNode); } string theCardPan = originalMessage.Fields[2].Value.ToString(); string tranasactionTypeCode = originalMessage.Fields[3].Value.ToString().Substring(0, 2); double amount = Convert.ToDouble(originalMessage.Fields[4].Value); string orgExpiry = originalMessage.Fields[14].Value.ToString(); string code = originalMessage.Fields[123].ToString().Substring(13, 2); Channel channel = new ChannelManager().GetByCode(code); Fee fee = null; // string cardPAN = theCardPan.Substring(0, 6); Route theRoute = new RouteManager().GetRouteByCardPan(theCardPan.Substring(0, 6)); TransactionType transactionType = new TransactionTypeManager().GetByCode(tranasactionTypeCode); Iso8583Message responseMessage; //check if card has expired DateTime cardExpiryDate = ParseExpiryDate(orgExpiry); if (cardExpiryDate < DateTime.Now) { responseMessage = SetReponseMessage(originalMessage, "54"); //Expired card Logger.LogTransaction(responseMessage, sourceNode); return(responseMessage); } if (amount <= 0 && tranasactionTypeCode != "31") { responseMessage = SetReponseMessage(originalMessage, "13"); //Invalid amount Logger.LogTransaction(responseMessage, sourceNode); return(responseMessage); } if (theRoute == null) { Logger.Log("Sink node is null."); responseMessage = SetReponseMessage(originalMessage, "15"); //No such issuer Logger.LogTransaction(responseMessage, sourceNode); return(responseMessage); } SinkNode sinkNode = theRoute.SinkNode; if (sinkNode == null) { Logger.Log("Sink node is null."); responseMessage = SetReponseMessage(originalMessage, "91"); //Issuer inoperative Logger.LogTransaction(responseMessage, sourceNode); return(responseMessage); } Logger.Log("Loading SourceNode Schemes"); var theSchemes = sourceNode.Schemes; Scheme scheme = null; try { scheme = theSchemes.Where(x => x.Route.CardPAN == theCardPan.Substring(0, 6)).SingleOrDefault(); } catch (Exception ex) { Logger.Log("Error: \n" + ex.Message); responseMessage = SetReponseMessage(originalMessage, "31"); // Lazy load error : Set correct response code later Logger.LogTransaction(responseMessage, sourceNode); return(responseMessage); } if (scheme == null) { responseMessage = SetReponseMessage(originalMessage, "92"); // Route not allowed : Set correct response code later Logger.LogTransaction(responseMessage, sourceNode); return(responseMessage); } // int panCount = sourceNode.Schemes.Count(x => x.Route == theRoute); Logger.Log("Scheme : " + scheme.Name + " Loaded"); Logger.Log("Getting fee:"); fee = GetFeeIfTransactionIsAllowed(transactionType, channel, scheme); if (fee == null) { responseMessage = SetReponseMessage(originalMessage, "58"); // Transaction type not allowed in this scheme Logger.LogTransaction(responseMessage, sourceNode, scheme); return(responseMessage); } else { originalMessage = SetFee(originalMessage, CalculateFee(fee, amount)); } bool needReversal = false; Iso8583Message msgFromFEP = ToFEP(originalMessage, sinkNode, out needReversal); Logger.LogTransaction(msgFromFEP, sourceNode, scheme, fee, needReversal); return(msgFromFEP); }
public static void LogTransaction(Iso8583Message incomingMessage, SourceNode sourceNode = null, Scheme scheme = null, Fee fee = null, bool needReversal = false) { var instCode = incomingMessage.Fields[2].ToString().Substring(0, 6); string transactionTypeCode = (incomingMessage.Fields[3].ToString().Substring(0, 2)); string channelCode = incomingMessage.Fields[123].ToString().Substring(13, 2); string cardPan = incomingMessage.Fields[2].ToString(); string response = string.Empty; string responseCode = string.Empty; DateTime transmissionDate = DateTime.UtcNow; TransactionLog transactionLog = new TransactionLog(); try { transactionLog.MTI = incomingMessage.MessageTypeIdentifier.ToString(); transactionLog.STAN = incomingMessage.Fields[11].ToString(); transactionLog.Amount = Convert.ToDouble(incomingMessage.Fields[4].ToString()); transactionLog.CardPAN = cardPan; var channel = new ChannelManager().GetByCode(channelCode); if (channel != null) { transactionLog.Channel = channel.Name; } var trnx = new TransactionTypeManager().GetByCode(transactionTypeCode); if (trnx != null) { transactionLog.TransactionType = trnx.Name; } transactionLog.SourceNode = sourceNode.Name; transactionLog.TransactionDate = transmissionDate; transactionLog.DateCreated = DateTime.Now; transactionLog.DateModified = DateTime.Now; string orDataElt = incomingMessage.Fields[90].ToString(); int length = orDataElt.Length; transactionLog.OriginalDataElement = orDataElt.Length > 19 ? orDataElt.Remove(0, (length - 19)) : orDataElt; try { responseCode = incomingMessage.Fields[39].Value.ToString(); } catch (Exception) { } if (scheme != null) { transactionLog.Scheme = scheme.Name; transactionLog.Route = scheme.Route.Name; transactionLog.SinkNode = scheme.Route.SinkNode.Name; } try { string value = incomingMessage.Fields[28].Value.ToString(); decimal result = 0; if (Decimal.TryParse(value, out result)) { transactionLog.Charge = result; } } catch (Exception) { } if (fee != null) { transactionLog.Fee = fee.Name; } if (responseCode != null) { transactionLog.ResponseCode = responseCode; } if (responseCode != null) { transactionLog.ResponseDescription = MessageDefinition.GetResponseDescription(responseCode); } string acc1 = incomingMessage.Fields[102].Value.ToString(); string acc2 = incomingMessage.Fields[103].Value.ToString(); transactionLog.Account1 = acc1; transactionLog.Account2 = acc2; transactionLog.IsReversePending = needReversal; if (incomingMessage.MessageTypeIdentifier.ToString() == "430" && responseCode == "00") { transactionLog.IsReversed = true; // SetReversalStatus(incomingMsg, responseCode); //here } if (new TransactionLogManager().AddTransactionLog(transactionLog)) { Log("Transaction log::: " + transactionLog.STAN + " " + transactionLog.TransactionDate); } else { Log("Transaction log::: not successful"); } } catch (Exception ex) { Log("Error occurred while logging transaction \n" + ex.Message); Console.ForegroundColor = ConsoleColor.Red; } }
static void Main(string[] args) { Console.WriteLine("恒朋上海接口测试开始。。。。\n"); AccountNumber accountN = new AccountNumber(); Console.WriteLine("请输入代理商账号:"); accountN.UserName = "******";//Console.ReadLine(); Console.WriteLine("请输入代理商密码:"); accountN.UserPassword = "******";//Console.ReadLine(); Console.WriteLine("你输入的代理商账号为:" + accountN.UserName + " 密码为:" + accountN.UserPassword + "\n"); IIssueQueryGateway gateway = GatewayFactroy.CreateIssueQueryGatewayFactory(LotteryType.ShangHaiWelfareLottery); Console.WriteLine("投注/查询网关地址:" + gateway.GatewayUrl + "\n"); #region 奖期查询 TransactionTypeManager transTypeM = new TransactionTypeManager(LotteryType.ShangHaiWelfareLottery); TransactionType transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "102"); ////奖期查询测试 //Console.WriteLine("奖期查询开始。。。。"); Issue issue=new Issue(); PlayMethodManager pleyMethodM = new PlayMethodManager(LotteryType.ShangHaiWelfareLottery); //Console.WriteLine("请输入玩法名称(如:双色球、15选5、3D、七乐彩、6+1、天天彩4、时时乐):"); //issue.PlayMethodInfo=pleyMethodM.GetMethodType(LotteryType.ShangHaiWelfareLottery,Console.ReadLine()); //Console.WriteLine("请输入期号:"); //issue.Number=Console.ReadLine(); //Console.WriteLine("你要进行的奖期查询玩法为:" + issue.PlayMethodInfo.PlayName + " 玩法编号为:" +issue.PlayMethodInfo.GameName + " 奖期为:" + issue.Number); //try //{ // string result = gateway.IssueQuery(accountN, transType, issue); // Console.WriteLine("奖期查询结果:\n" + result); //} //catch (Exception ex) //{ // Console.WriteLine("奖期查询结果:\n 错误:" + ex.Message); //} //Console.WriteLine("奖期查询结束。。。。\n"); #endregion #region 投注 //投注测试 Console.WriteLine("投注开始(本测试会携带相同的两张彩票(票号不同))。。。。"); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "103"); Console.WriteLine("构建彩票信息开始。。。。"); List<Ticket> tickets = new List<Ticket>(); Ticket ticketOne = new Ticket(); ticketOne.TicketId = accountN.UserName + DateTime.Now.ToString("yyyyMMdd") + PostManager.EightSerialNumber; ticketOne.IssueInfo = new Issue(); Console.WriteLine("请输入玩法名称(如:双色球、15选5、3D、七乐彩、6+1、天天彩4、时时乐):"); string gameName = "ssl";// Console.ReadLine(); ticketOne.PlayTypeInfo = pleyMethodM.GetMethodType(LotteryType.ShangHaiWelfareLottery, gameName).PlayTypes[0]; ticketOne.IssueInfo.PlayMethodInfo = pleyMethodM.GetMethodType(LotteryType.ShangHaiWelfareLottery, gameName); Console.WriteLine("请输入期号:"); ticketOne.IssueInfo.Number = Console.ReadLine(); Console.WriteLine("倍投数:"); ticketOne.Amount = "1";// Console.ReadLine(); Console.WriteLine("购买金额:"); ticketOne.Money = "2";//Console.ReadLine(); Console.WriteLine("要投注的彩票号码(测试时,每张彩票一注):"); ticketOne.AnteCodes = Console.ReadLine(); UserProfile user = new UserProfile(); Console.WriteLine("彩票用户名:"); user.UserName = "******";// Console.ReadLine(); Console.WriteLine("用户证件类型(1、身份证;2、军官证;3、护照):"); string cardType = "1";// Console.ReadLine(); if (cardType == "1" || cardType == "2" || cardType == "3") { user.CardTypeInfo = (CardType)int.Parse(cardType); Console.WriteLine("证件号码:"); user.CardNumber = "510212198105057410"; //Console.ReadLine(); Console.WriteLine("用户邮箱地址:"); user.Mail = "*****@*****.**";// Console.ReadLine(); Console.WriteLine("用户手机号(无纸化彩票中大奖的凭证之一):"); user.Mobile = "15902307117"; // Console.ReadLine(); Console.WriteLine("用户真实姓名:"); user.RealName = "钟家宇";// Console.ReadLine(); Console.WriteLine("你输入的彩票用户信息为: 证件类型:" + (int)user.CardTypeInfo + " 证件号码:" + user.CardNumber + " 邮箱:" + user.Mail + " 手机号:" + user.Mobile + " 真实姓名:" + user.RealName); ticketOne.UserProfile = user; tickets.Add(ticketOne); ticketOne.TicketId = accountN.UserName + DateTime.Now.ToString("yyyyMMdd") + PostManager.TenSerialNumber; tickets.Add(ticketOne); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "103"); try { string result = gateway.LotteryRequest(accountN, transType, tickets); Console.WriteLine("投注结果:"); Console.WriteLine(result); } catch (Exception ex) { Console.WriteLine("投注结果:\n 错误:" + ex.Message); } } else { Console.WriteLine("构建彩票用户错误:用户证件类型不正确"); } Console.WriteLine("投注结束。。。。\n"); #endregion #region 票查询 Console.WriteLine("票查询开始(如果上面的投注成功,直接查询投票的彩票,否则请输入彩票号)。。。。"); Console.WriteLine("上面的投注是否成功?(1、成功;2、失败):"); try { Ticket ticketP = null; if (Console.ReadLine() == "2") { Console.WriteLine("请输入要查询的票号:"); ticketP = new Ticket(); ticketP.TicketId = Console.ReadLine(); } else ticketP = tickets[0]; transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "105"); List<Ticket> ticketsP = new List<Ticket>(); ticketsP.Add(ticketP); string result = gateway.TicketQuery(accountN, transType, ticketsP); Console.WriteLine("票查询结果:"); Console.WriteLine(result); } catch (Exception ex) { Console.WriteLine("票查询结果:\n 错误:" + ex.Message); } Console.WriteLine("票查询结束。。。。\n"); #endregion #region 销量查询 Console.WriteLine("销量查询开始。。。。"); Console.WriteLine("请输入玩法名称(如:双色球、15选5、3D、七乐彩、6+1、天天彩4、时时乐):"); issue.PlayMethodInfo = pleyMethodM.GetMethodType(LotteryType.ShangHaiWelfareLottery, Console.ReadLine()); Console.WriteLine("请输入期号:"); issue.Number = Console.ReadLine(); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "107"); try { string result = gateway.BalanceQuery(accountN, transType, issue); Console.WriteLine("销量查询结果:\n" + result); } catch (Exception ex) { Console.WriteLine("销量查询结果:\n 错误:" + ex.Message); } Console.WriteLine("销量查询结束。。。。\n"); #endregion #region 返奖查询 Console.WriteLine("返奖查询开始。。。。"); Console.WriteLine("请输入玩法名称(如:双色球、15选5、3D、七乐彩、6+1、天天彩4、时时乐):"); issue.PlayMethodInfo = pleyMethodM.GetMethodType(LotteryType.ShangHaiWelfareLottery, Console.ReadLine()); Console.WriteLine("请输入期号:"); issue.Number = Console.ReadLine(); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "106"); try { string result = gateway.BonusQuery(accountN, transType, issue); Console.WriteLine("返奖查询结果:\n" + result); } catch (Exception ex) { Console.WriteLine("返奖查询结果:\n 错误:" + ex.Message); } Console.WriteLine("返奖查询结束。。。。\n"); #endregion #region 账户查询 Console.WriteLine("账户查询开始。。。。"); try { transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "116"); List<AccountQuery> users = new List<AccountQuery>(); AccountQuery account = new AccountQuery(); account.UserName = "******"; users.Add(account); account = new AccountQuery(); account.UserName = "******"; users.Add(account); string result = gateway.AccountQuery(accountN, transType, users); Console.WriteLine("账户查询结果: \n" + result); } catch (Exception ex) { Console.WriteLine("账户查询结果: \n错误:" + ex.Message); } Console.WriteLine("账户查询结束。。。。\n"); #endregion IAddBalanceGateway gateway2 = GatewayFactroy.CreateAddBalanceGatewayFactory(LotteryType.ShangHaiWelfareLottery); Console.WriteLine("\n充值网关地址:" + gateway2.GatewayUrl + "\n"); #region 充值 Console.WriteLine("充值开始。。。。"); Console.WriteLine("请输入支付提供商类型(1、银联;2、支付宝;3、腾讯财付通;4、汇付天下;5、快钱;6、网银在线;7、云网支付):"); AlipayProviderTypeManager alipayM = new AlipayProviderTypeManager(); int alipayIndex = Convert.ToInt32(Console.ReadLine()) - 1; AlipayProviderType alipayType = alipayM.providerTypes[alipayIndex]; user = new UserProfile(); Console.WriteLine("彩票用户名:"); user.UserName = Console.ReadLine(); Console.WriteLine("用户证件类型(1、身份证;2、军官证;3、护照):"); cardType = Console.ReadLine(); if (cardType == "1" || cardType == "2" || cardType == "3") { user.CardTypeInfo = (CardType)int.Parse(cardType); Console.WriteLine("证件号码:"); user.CardNumber = Console.ReadLine(); Console.WriteLine("用户真是姓名:"); user.RealName = Console.ReadLine(); Console.WriteLine("你输入的彩票用户信息为: 证件类型:" + (int)user.CardTypeInfo + " 证件号码:" + user.CardNumber + " 邮箱:" + user.Mail + " 真实姓名:" + user.RealName); Console.WriteLine("请输入充值金额:"); string money = Console.ReadLine(); Console.WriteLine("请输入接受充值结果的URL地址:"); string returnUrl = Console.ReadLine(); try { gateway2.PostAddBalance(accountN, alipayType, user, money, returnUrl); Console.WriteLine("充值结果:成功"); } catch (Exception ex) { Console.WriteLine("充值结果:\n 错误:" + ex.Message); } } else { Console.WriteLine("构建彩票用户错误:用户证件类型不正确"); } Console.WriteLine("充值结束。。。。\n"); #endregion #region 充值查询 Console.WriteLine("充值查询开始(本测试只查询一个充值)。。。。"); Console.WriteLine("请输入号充值Id(请COPY上面\"充值请求信息\"中的id):"); string id = Console.ReadLine(); try { Fill fill = new Fill(); fill.Id = id; List<Fill> fills = new List<Fill>(); fills.Add(fill); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "110"); string result = gateway2.FillQuery(accountN, transType, fills); Console.WriteLine("充值查询结果:\n" + result); } catch (Exception ex) { Console.WriteLine("充值查询结果:\n 错误" + ex.Message); } Console.WriteLine("充值查询结束。。。。\n"); #endregion IDrawingGateway gateway3 = GatewayFactroy.CreateDrawingGatewayFactory(LotteryType.ShangHaiWelfareLottery); Console.WriteLine("\n提款网关地址:" + gateway3.GatewayUrl + "\n"); #region 提款 Console.WriteLine("提款开始。。。。"); Drawing drawing = new Drawing(); try { drawing = new Drawing(); drawing.Id = accountN.UserName + DateTime.Now.ToString("yyyyMMdd") + PostManager.EightSerialNumber; Console.WriteLine("彩票用户名:"); user.UserName = Console.ReadLine(); Console.WriteLine("用户证件类型(1、身份证;2、军官证;3、护照):"); cardType = Console.ReadLine(); if (cardType == "1" || cardType == "2" || cardType == "3") { user.CardTypeInfo = (CardType)int.Parse(cardType); Console.WriteLine("证件号码:"); user.CardNumber = Console.ReadLine(); Console.WriteLine("用户真是姓名:"); user.RealName = Console.ReadLine(); Console.WriteLine("你输入的彩票用户信息为: 证件类型:" + (int)user.CardTypeInfo + " 证件号码:" + user.CardNumber + " 邮箱:" + user.Mail + " 真实姓名:" + user.RealName); } drawing.User = user; Console.WriteLine("银行账号:"); drawing.BankCard = Console.ReadLine(); Console.WriteLine("开户行名称:"); drawing.BankName = Console.ReadLine(); Console.WriteLine("开户行所在省或直辖市名称:"); drawing.Province = Console.ReadLine(); Console.WriteLine("开户行所在城市:"); drawing.City = Console.ReadLine(); Console.WriteLine("分行或支行、分理处名称:"); drawing.Branch = Console.ReadLine(); Console.WriteLine("提款金额:"); drawing.Money = Convert.ToInt32(Console.ReadLine()); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "111"); string result = gateway3.DrawingRequest(accountN, transType, drawing); Console.WriteLine("提款结果:\n" + result); } catch (Exception ex) { Console.WriteLine("提款结果: \n错误:" + ex.Message); } Console.WriteLine("提款结束。。。。\n"); #endregion #region 提款查询 Console.WriteLine("提款查询开始。。。。"); try { List<Drawing> drawings = new List<Drawing>(); drawings.Add(drawing); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "113"); string result = gateway3.DrawingQuery(accountN, transType, drawings); Console.WriteLine("提款查询结果:\n" + result); } catch (Exception ex) { Console.WriteLine("提款查询结果: \n错误:" + ex.Message); } Console.WriteLine("提款查询结束。。。。\n"); #endregion }
public TransactionTypeController() { _transactionTypeManager = new TransactionTypeManager(); }
static void Main(string[] args) { Console.WriteLine("恒朋上海接口测试开始。。。。\n"); AccountNumber accountN = new AccountNumber(); Console.WriteLine("请输入代理商账号:"); accountN.UserName = "******"; //Console.ReadLine(); Console.WriteLine("请输入代理商密码:"); accountN.UserPassword = "******"; //Console.ReadLine(); Console.WriteLine("你输入的代理商账号为:" + accountN.UserName + " 密码为:" + accountN.UserPassword + "\n"); IIssueQueryGateway gateway = GatewayFactroy.CreateIssueQueryGatewayFactory(LotteryType.ShangHaiWelfareLottery); Console.WriteLine("投注/查询网关地址:" + gateway.GatewayUrl + "\n"); #region 奖期查询 TransactionTypeManager transTypeM = new TransactionTypeManager(LotteryType.ShangHaiWelfareLottery); TransactionType transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "102"); ////奖期查询测试 //Console.WriteLine("奖期查询开始。。。。"); Issue issue = new Issue(); PlayMethodManager pleyMethodM = new PlayMethodManager(LotteryType.ShangHaiWelfareLottery); //Console.WriteLine("请输入玩法名称(如:双色球、15选5、3D、七乐彩、6+1、天天彩4、时时乐):"); //issue.PlayMethodInfo=pleyMethodM.GetMethodType(LotteryType.ShangHaiWelfareLottery,Console.ReadLine()); //Console.WriteLine("请输入期号:"); //issue.Number=Console.ReadLine(); //Console.WriteLine("你要进行的奖期查询玩法为:" + issue.PlayMethodInfo.PlayName + " 玩法编号为:" +issue.PlayMethodInfo.GameName + " 奖期为:" + issue.Number); //try //{ // string result = gateway.IssueQuery(accountN, transType, issue); // Console.WriteLine("奖期查询结果:\n" + result); //} //catch (Exception ex) //{ // Console.WriteLine("奖期查询结果:\n 错误:" + ex.Message); //} //Console.WriteLine("奖期查询结束。。。。\n"); #endregion #region 投注 //投注测试 Console.WriteLine("投注开始(本测试会携带相同的两张彩票(票号不同))。。。。"); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "103"); Console.WriteLine("构建彩票信息开始。。。。"); List <Ticket> tickets = new List <Ticket>(); Ticket ticketOne = new Ticket(); ticketOne.TicketId = accountN.UserName + DateTime.Now.ToString("yyyyMMdd") + PostManager.EightSerialNumber; ticketOne.IssueInfo = new Issue(); Console.WriteLine("请输入玩法名称(如:双色球、15选5、3D、七乐彩、6+1、天天彩4、时时乐):"); string gameName = "ssl";// Console.ReadLine(); ticketOne.PlayTypeInfo = pleyMethodM.GetMethodType(LotteryType.ShangHaiWelfareLottery, gameName).PlayTypes[0]; ticketOne.IssueInfo.PlayMethodInfo = pleyMethodM.GetMethodType(LotteryType.ShangHaiWelfareLottery, gameName); Console.WriteLine("请输入期号:"); ticketOne.IssueInfo.Number = Console.ReadLine(); Console.WriteLine("倍投数:"); ticketOne.Amount = "1"; // Console.ReadLine(); Console.WriteLine("购买金额:"); ticketOne.Money = "2"; //Console.ReadLine(); Console.WriteLine("要投注的彩票号码(测试时,每张彩票一注):"); ticketOne.AnteCodes = Console.ReadLine(); UserProfile user = new UserProfile(); Console.WriteLine("彩票用户名:"); user.UserName = "******"; // Console.ReadLine(); Console.WriteLine("用户证件类型(1、身份证;2、军官证;3、护照):"); string cardType = "1"; // Console.ReadLine(); if (cardType == "1" || cardType == "2" || cardType == "3") { user.CardTypeInfo = (CardType)int.Parse(cardType); Console.WriteLine("证件号码:"); user.CardNumber = "510212198105057410"; //Console.ReadLine(); Console.WriteLine("用户邮箱地址:"); user.Mail = "*****@*****.**"; // Console.ReadLine(); Console.WriteLine("用户手机号(无纸化彩票中大奖的凭证之一):"); user.Mobile = "15902307117"; // Console.ReadLine(); Console.WriteLine("用户真实姓名:"); user.RealName = "钟家宇"; // Console.ReadLine(); Console.WriteLine("你输入的彩票用户信息为: 证件类型:" + (int)user.CardTypeInfo + " 证件号码:" + user.CardNumber + " 邮箱:" + user.Mail + " 手机号:" + user.Mobile + " 真实姓名:" + user.RealName); ticketOne.UserProfile = user; tickets.Add(ticketOne); ticketOne.TicketId = accountN.UserName + DateTime.Now.ToString("yyyyMMdd") + PostManager.TenSerialNumber; tickets.Add(ticketOne); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "103"); try { string result = gateway.LotteryRequest(accountN, transType, tickets); Console.WriteLine("投注结果:"); Console.WriteLine(result); } catch (Exception ex) { Console.WriteLine("投注结果:\n 错误:" + ex.Message); } } else { Console.WriteLine("构建彩票用户错误:用户证件类型不正确"); } Console.WriteLine("投注结束。。。。\n"); #endregion #region 票查询 Console.WriteLine("票查询开始(如果上面的投注成功,直接查询投票的彩票,否则请输入彩票号)。。。。"); Console.WriteLine("上面的投注是否成功?(1、成功;2、失败):"); try { Ticket ticketP = null; if (Console.ReadLine() == "2") { Console.WriteLine("请输入要查询的票号:"); ticketP = new Ticket(); ticketP.TicketId = Console.ReadLine(); } else { ticketP = tickets[0]; } transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "105"); List <Ticket> ticketsP = new List <Ticket>(); ticketsP.Add(ticketP); string result = gateway.TicketQuery(accountN, transType, ticketsP); Console.WriteLine("票查询结果:"); Console.WriteLine(result); } catch (Exception ex) { Console.WriteLine("票查询结果:\n 错误:" + ex.Message); } Console.WriteLine("票查询结束。。。。\n"); #endregion #region 销量查询 Console.WriteLine("销量查询开始。。。。"); Console.WriteLine("请输入玩法名称(如:双色球、15选5、3D、七乐彩、6+1、天天彩4、时时乐):"); issue.PlayMethodInfo = pleyMethodM.GetMethodType(LotteryType.ShangHaiWelfareLottery, Console.ReadLine()); Console.WriteLine("请输入期号:"); issue.Number = Console.ReadLine(); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "107"); try { string result = gateway.BalanceQuery(accountN, transType, issue); Console.WriteLine("销量查询结果:\n" + result); } catch (Exception ex) { Console.WriteLine("销量查询结果:\n 错误:" + ex.Message); } Console.WriteLine("销量查询结束。。。。\n"); #endregion #region 返奖查询 Console.WriteLine("返奖查询开始。。。。"); Console.WriteLine("请输入玩法名称(如:双色球、15选5、3D、七乐彩、6+1、天天彩4、时时乐):"); issue.PlayMethodInfo = pleyMethodM.GetMethodType(LotteryType.ShangHaiWelfareLottery, Console.ReadLine()); Console.WriteLine("请输入期号:"); issue.Number = Console.ReadLine(); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "106"); try { string result = gateway.BonusQuery(accountN, transType, issue); Console.WriteLine("返奖查询结果:\n" + result); } catch (Exception ex) { Console.WriteLine("返奖查询结果:\n 错误:" + ex.Message); } Console.WriteLine("返奖查询结束。。。。\n"); #endregion #region 账户查询 Console.WriteLine("账户查询开始。。。。"); try { transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "116"); List <AccountQuery> users = new List <AccountQuery>(); AccountQuery account = new AccountQuery(); account.UserName = "******"; users.Add(account); account = new AccountQuery(); account.UserName = "******"; users.Add(account); string result = gateway.AccountQuery(accountN, transType, users); Console.WriteLine("账户查询结果: \n" + result); } catch (Exception ex) { Console.WriteLine("账户查询结果: \n错误:" + ex.Message); } Console.WriteLine("账户查询结束。。。。\n"); #endregion IAddBalanceGateway gateway2 = GatewayFactroy.CreateAddBalanceGatewayFactory(LotteryType.ShangHaiWelfareLottery); Console.WriteLine("\n充值网关地址:" + gateway2.GatewayUrl + "\n"); #region 充值 Console.WriteLine("充值开始。。。。"); Console.WriteLine("请输入支付提供商类型(1、银联;2、支付宝;3、腾讯财付通;4、汇付天下;5、快钱;6、网银在线;7、云网支付):"); AlipayProviderTypeManager alipayM = new AlipayProviderTypeManager(); int alipayIndex = Convert.ToInt32(Console.ReadLine()) - 1; AlipayProviderType alipayType = alipayM.providerTypes[alipayIndex]; user = new UserProfile(); Console.WriteLine("彩票用户名:"); user.UserName = Console.ReadLine(); Console.WriteLine("用户证件类型(1、身份证;2、军官证;3、护照):"); cardType = Console.ReadLine(); if (cardType == "1" || cardType == "2" || cardType == "3") { user.CardTypeInfo = (CardType)int.Parse(cardType); Console.WriteLine("证件号码:"); user.CardNumber = Console.ReadLine(); Console.WriteLine("用户真是姓名:"); user.RealName = Console.ReadLine(); Console.WriteLine("你输入的彩票用户信息为: 证件类型:" + (int)user.CardTypeInfo + " 证件号码:" + user.CardNumber + " 邮箱:" + user.Mail + " 真实姓名:" + user.RealName); Console.WriteLine("请输入充值金额:"); string money = Console.ReadLine(); Console.WriteLine("请输入接受充值结果的URL地址:"); string returnUrl = Console.ReadLine(); try { gateway2.PostAddBalance(accountN, alipayType, user, money, returnUrl); Console.WriteLine("充值结果:成功"); } catch (Exception ex) { Console.WriteLine("充值结果:\n 错误:" + ex.Message); } } else { Console.WriteLine("构建彩票用户错误:用户证件类型不正确"); } Console.WriteLine("充值结束。。。。\n"); #endregion #region 充值查询 Console.WriteLine("充值查询开始(本测试只查询一个充值)。。。。"); Console.WriteLine("请输入号充值Id(请COPY上面\"充值请求信息\"中的id):"); string id = Console.ReadLine(); try { Fill fill = new Fill(); fill.Id = id; List <Fill> fills = new List <Fill>(); fills.Add(fill); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "110"); string result = gateway2.FillQuery(accountN, transType, fills); Console.WriteLine("充值查询结果:\n" + result); } catch (Exception ex) { Console.WriteLine("充值查询结果:\n 错误" + ex.Message); } Console.WriteLine("充值查询结束。。。。\n"); #endregion IDrawingGateway gateway3 = GatewayFactroy.CreateDrawingGatewayFactory(LotteryType.ShangHaiWelfareLottery); Console.WriteLine("\n提款网关地址:" + gateway3.GatewayUrl + "\n"); #region 提款 Console.WriteLine("提款开始。。。。"); Drawing drawing = new Drawing(); try { drawing = new Drawing(); drawing.Id = accountN.UserName + DateTime.Now.ToString("yyyyMMdd") + PostManager.EightSerialNumber; Console.WriteLine("彩票用户名:"); user.UserName = Console.ReadLine(); Console.WriteLine("用户证件类型(1、身份证;2、军官证;3、护照):"); cardType = Console.ReadLine(); if (cardType == "1" || cardType == "2" || cardType == "3") { user.CardTypeInfo = (CardType)int.Parse(cardType); Console.WriteLine("证件号码:"); user.CardNumber = Console.ReadLine(); Console.WriteLine("用户真是姓名:"); user.RealName = Console.ReadLine(); Console.WriteLine("你输入的彩票用户信息为: 证件类型:" + (int)user.CardTypeInfo + " 证件号码:" + user.CardNumber + " 邮箱:" + user.Mail + " 真实姓名:" + user.RealName); } drawing.User = user; Console.WriteLine("银行账号:"); drawing.BankCard = Console.ReadLine(); Console.WriteLine("开户行名称:"); drawing.BankName = Console.ReadLine(); Console.WriteLine("开户行所在省或直辖市名称:"); drawing.Province = Console.ReadLine(); Console.WriteLine("开户行所在城市:"); drawing.City = Console.ReadLine(); Console.WriteLine("分行或支行、分理处名称:"); drawing.Branch = Console.ReadLine(); Console.WriteLine("提款金额:"); drawing.Money = Convert.ToInt32(Console.ReadLine()); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "111"); string result = gateway3.DrawingRequest(accountN, transType, drawing); Console.WriteLine("提款结果:\n" + result); } catch (Exception ex) { Console.WriteLine("提款结果: \n错误:" + ex.Message); } Console.WriteLine("提款结束。。。。\n"); #endregion #region 提款查询 Console.WriteLine("提款查询开始。。。。"); try { List <Drawing> drawings = new List <Drawing>(); drawings.Add(drawing); transType = transTypeM.GetTransactionTypeByTypeCode(LotteryType.ShangHaiWelfareLottery, "113"); string result = gateway3.DrawingQuery(accountN, transType, drawings); Console.WriteLine("提款查询结果:\n" + result); } catch (Exception ex) { Console.WriteLine("提款查询结果: \n错误:" + ex.Message); } Console.WriteLine("提款查询结束。。。。\n"); #endregion }