public MarketUserData SendQueryUserRequest() { SimpleHTTPClient client = new SimpleHTTPClient(); QueryUser request = new QueryUser(); request.type = "queryUser"; Token x = new Token(); string token = x.createToken(); string nonce = "" + x.getNonce(); MarketUserData response = client.SendPostRequest <QueryUser, MarketUserData>(x.getUrl(), x.getUserName(), nonce, token, request); return(response); }
private void onTimedEvent(Object source, ElapsedEventArgs e) { myLogger.Info("AMA start to work"); sql.close(); sql.connect(); MarketUserData MYUSER = new MarketUserData(); MarketUserData myUser = MYUSER.SendQueryUserRequest(); AllMarketCommodityOffer MACO = new AllMarketCommodityOffer(); List <ComInfo> cominfo = MACO.SendQueryAllMarketRequest(); SqlDataReader rdr = sql.sendCommand("SELECT top 100 commodity, AVG(price) as 'average' FROM (SELECT commodity, price, timestamp FROM items where buyer = 20) commodity group by commodity order by commodity"); int counterS = 0; string Scom = ""; while (counterS < 6 && rdr.Read()) { Scom = "" + rdr["commodity"]; if (Convert.ToInt32(Scom) > 3 && myUser.commodities[Scom] > 1) { SellRequest SR = new SellRequest(); int price = Math.Max(Convert.ToInt32(rdr["average"]) + Convert.ToInt32(rdr["average"]) * 15 / 100, cominfo[Convert.ToInt32(rdr["commodity"])].info.bid); int amount = Convert.ToInt32(myUser.commodities[Scom] / 10) + 1; int commodity = Convert.ToInt32(rdr["commodity"]); int response = SR.SendSellRequest(price, commodity, amount); if (response != -1) { DateTime date = DateTime.Now; string sdate = date.ToString(); string path = "c:\\History.txt"; using (StreamWriter wr = File.AppendText(path)) { wr.WriteLine("Request"); wr.WriteLine("sell"); wr.WriteLine(response); wr.WriteLine(Convert.ToInt32(myUser.commodities[Scom] / 10) + 1); wr.WriteLine(price); wr.WriteLine(Convert.ToInt32(rdr["commodity"])); wr.WriteLine("true"); wr.WriteLine(sdate.ToString()); } } counterS++; } } rdr.Close(); SqlDataReader rdr2 = sql.sendCommand("SELECT top 100 commodity, AVG(price) as 'average' FROM (SELECT commodity, price, timestamp FROM items where seller = 20) commodity group by commodity order by commodity"); int counterB = 0; while (counterB < 6 && rdr2.Read()) { Scom = "" + rdr2["commodity"]; if (Convert.ToInt32(Scom) > 3 && myUser.funds > 5000) { BuyRequest SB = new BuyRequest(); int price = Math.Min(Convert.ToInt32(rdr2["average"]) - Convert.ToInt32(rdr2["average"]) * 15 / 100, cominfo[Convert.ToInt32(rdr2["commodity"])].info.ask); int response = SB.sendBuyRequest(price, Convert.ToInt32(rdr2["commodity"]), Convert.ToInt32(myUser.commodities[Scom] / 10) + 1); if (response != -1) { DateTime date = DateTime.Now; string sdate = date.ToString(); string path = "c:\\History.txt"; using (StreamWriter wr = File.AppendText(path)) { wr.WriteLine("Request"); wr.WriteLine("buy"); wr.WriteLine(response); wr.WriteLine(Convert.ToInt32(myUser.commodities[Scom] / 10) + 1); wr.WriteLine(price); wr.WriteLine(Convert.ToInt32(rdr2["commodity"])); wr.WriteLine("true"); wr.WriteLine(sdate.ToString()); } } } counterB++; } rdr2.Close(); sql.close(); }
public void createReport() { Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.FileName = "Report"; // Default file name dlg.DefaultExt = ".pdf"; // Default file extension dlg.Filter = "PDF documents (.pdf)|*.pdf"; // Filter files by extension // Show open file dialog box Nullable <bool> result = dlg.ShowDialog(); // Process open file dialog box results if (result == true) { // Open document string res = dlg.FileName; var doc1 = new Document(); PdfWriter.GetInstance(doc1, new FileStream(res, FileMode.Create)); doc1.Open(); doc1.Add(new iTextSharp.text.Paragraph("Trading Report" + " " + "user 20:" + "\n")); MarketUserData MUD = new MarketUserData(); MarketUserData output = MUD.SendQueryUserRequest(); string MS = output.ToStringA(); doc1.Add(new iTextSharp.text.Paragraph(MS)); doc1.Add(new iTextSharp.text.Paragraph("\n" + "\n" + "\n")); MarketUserRequests QUR = new MarketUserRequests(); string MRequests = QUR.SendQueryUserRequests(); if (MRequests != "[]") { doc1.Add(new iTextSharp.text.Paragraph("Requests' details:" + "\n" + MRequests + "\n")); } else { doc1.Add(new iTextSharp.text.Paragraph("No requests")); } SqlData b = new SqlData(); b.connect(); SqlDataReader myReader = b.sendCommand(@"SELECT commodity, count(*) as 'count' FROM items where buyer = 20 group by commodity order by commodity"); int[,] value = new int[2, 10]; int i = 0; while (myReader.Read()) { value[0, i] = Convert.ToInt32(myReader["count"]); i++; } i = 0; b.close(); b.connect(); SqlDataReader readsell = b.sendCommand(@"SELECT commodity, count(*) as 'count' FROM items where seller = 20 group by commodity order by commodity"); while (readsell.Read()) { value[1, i] = Convert.ToInt32(readsell["count"]); i++; } doc1.Add(new iTextSharp.text.Paragraph("\n" + "\n")); doc1.Add(new iTextSharp.text.Paragraph("My History Trades(since the Data Base created): " + "\n")); for (int j = 0; j < 2; j++) { if (j == 0) { doc1.Add(new iTextSharp.text.Paragraph("sum of buy deals with each commodity: ")); } else { doc1.Add(new iTextSharp.text.Paragraph("sum of sell deals with each commodity: ")); } for (int m = 0; m < 10; m++) { doc1.Add(new iTextSharp.text.Paragraph("Commodity" + " " + m + ": " + value[j, m])); } doc1.Add(new iTextSharp.text.Paragraph(" " + " ")); } b.close(); doc1.Close(); } }