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);
        }
示例#2
0
        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();
        }
示例#3
0
        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();
            }
        }