I have Access database from previous version so C# will use these Access database data using OleDbConnection.
There are elements needed and code under button "BuySell" (partially hidden behind two lists). Two lists are used to present information in a better way.
private void BuySell_Click(object sender, EventArgs e)
{
string con = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=P:\\Private\\Analizator\\Analizator.mdb"; // define connection
using (OleDbConnection c = new OleDbConnection(con)) // create connection
{
c.Open(); // Open connection
string indNow = activeIndice.Text.Replace("RA:CZ", "-R-A");
string selekt = "select * from zatrgovinu where dionica=" + "'" + indNow + "'" + " and Status='Otvoren' " + " order by redbrzt"; // construct sql string
string listRow = "";
string auX = "";
string buYselL = "";
double suMb = 0;
double suMs = 0;
double dou1;
double dou2;
string str1;
Int16 int1;
int sumShS = 0;
int sumShB = 0;
double statusB = 0;
double statusS = 0;
double proD;
double PricE = Convert.ToDouble(pricE.Text);
double deltA = 0;
using (OleDbDataAdapter a = new OleDbDataAdapter(selekt, c)) // Create new DataAdapter
{
DataTable dt = new DataTable(); // Use DataAdapter to fill DataTable
a.Fill(dt);
listBuy.Items.Clear();
listSell.Items.Clear();
sumShB = 0;
sumShS = 0;
int j = -1;
int m = -1;
for (int i = 0; i < dt.Rows.Count; i++)
{
auX = Convert.ToString(dt.Rows[i][3]);
if (auX == "Prodaja")
{
m++;
buYselL = "Buy < @ ";
dou1 = Convert.ToDouble(dt.Rows[i][9]);
dou2 = Math.Round(dou1 * 0.99, 2);
str1 = Convert.ToString(dt.Rows[i][4]);
int1 = Convert.ToInt16(str1);
listRow = buYselL + dou1.ToString("##0.00") + " Kn x " + str1.PadLeft(3)
+ " shares -1% " + dou2.ToString("##0.00");
proD = dou1 * int1;
suMb = suMb + proD;
sumShB = sumShB+ int1;
listRow = listRow + " = " + proD.ToString("##,##0.00") + " Kn";
deltA = Math.Round(dou1 - PricE, 2);
listRow = listRow + " " + deltA.ToString("##0.00");
deltA = Math.Round(deltA * int1, 2);
listRow = listRow + " " + deltA.ToString("#,##0.00");
if (deltA > 0) { listRow = listRow + "++"; } else { listRow = listRow + "--"; }
listBuy.Items.Add(listRow);
if (deltA > 0) { listBuy.SetSelected(m, true); }
toBuyTotal.Text = suMb.ToString("##,##0.00");
buyShares.Text = Convert.ToString(sumShB);
statusB = PricE * sumShB;
buyStatus.Text = Convert.ToString(Math.Round(suMb - statusB, 2));
toBuyAve.Text=Convert.ToString(Math.Round((suMb/sumShB)*1,2)); // minimal selling price
}
else
{
j++;
buYselL = "Sell > @ ";
dou1 = Convert.ToDouble(dt.Rows[i][9]);
dou2 = Math.Round(dou1 * 1.01, 2);
str1 = Convert.ToString(dt.Rows[i][4]);
int1 = Convert.ToInt16(str1);
listRow = buYselL + dou1.ToString("##0.00") + " Kn x " + str1.PadLeft(3)
+ " shares +1% " + dou2.ToString("##0.00");
proD = dou1 * int1;
suMs = suMs + proD;
sumShS = sumShS + int1;
listRow = listRow + " = " + proD.ToString("##,##0.00") + " Kn";
deltA =Math.Round( PricE - dou1,2);
listRow=listRow+" " + deltA.ToString("##0.00");
deltA = Math.Round(deltA*int1, 2);
listRow=listRow + " " + deltA.ToString("#,##0.00");
if (deltA > 0) { listRow = listRow + "++"; } else { listRow = listRow + "--"; }
listSell.Items.Add(listRow );
if (deltA > 0) { listSell.SetSelected(j,true);}
toSellTotal.Text = suMs.ToString("##,##0.00");
sellShares.Text = Convert.ToString(sumShS);
statusS = PricE * sumShS;
sellStatus.Text = Convert.ToString(Math.Round( statusS-suMs, 2));
toSellAve.Text = Convert.ToString(Math.Round((suMs / sumShS) * 1, 2)); // minimal selling price
}
}
dataSelect.DataSource = dt; // // Render data onto the screen
dataSelect.AutoResizeColumns();
}
}
}
No comments:
Post a Comment