private void InsertDealRecord(DealRecordData data) { ListViewItem item = new ListViewItem(DateTime.Now.ToString("yyyy-MM-dd")); item.SubItems.Add(data.Name); item.SubItems.Add(data.Type); item.SubItems.Add(data.Price); item.SubItems.Add(data.Count); item.SubItems.Add(data.Pool); item.SubItems.Add(data.Profit); listView1.Items.Add(item); }
private void closePositionToolStripMenuItem_Click(object sender, EventArgs e) { if (this.tabControl1.SelectedIndex != 1) { return; } PositionDlg dlg = new PositionDlg(); string name = dataGridViewLongTerm.SelectedRows[0].Cells["Name"].Value.ToString(); StockPool.TacticalTableDataTable dt = (StockPool.TacticalTableDataTable)dataGridViewTactical.DataSource; if (dt.Select("Name=" + name).Length != 0) { MessageBox.Show("please underweight stock in tactical pool first"); return; } dlg.textBoxName.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Code"].Value.ToString(); dlg.textBoxType.Text = "ClosePosition"; dlg.textBoxCount.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Amount"].Value.ToString(); if (dlg.ShowDialog() == DialogResult.OK) { //update statistic data StockPool.LongTermTableDataTable longtermdt = (StockPool.LongTermTableDataTable)dataGridViewLongTerm.DataSource; StockPool.LongTermTableRow row = (StockPool.LongTermTableRow)longtermdt.Rows[dataGridViewLongTerm.SelectedRows[0].Index]; decimal sellprice = Convert.ToDecimal(dlg.textBoxPrice.Text); decimal profit = (sellprice - row.CostPrice) * row.Amount; m_statData.LongTermProfit += profit; m_statData.LongTermLeftCash += sellprice * row.Amount; m_statData.LongTermAvailableCash += sellprice * row.Amount + row.AvailableCash; //insertDealRecord DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "LongTermPool"; data.Profit = profit.ToString(); InsertDealRecord(data); //delete longterm record DeleteFromStockPool(dataGridViewLongTerm, dataGridViewLongTerm.SelectedRows[0].Index); } }
private void underwweightToolStripMenuItem_Click(object sender, EventArgs e) { if (this.tabControl1.SelectedIndex != 2) { return; } DealDlg dlg = new DealDlg(); dlg.textBoxName.Text = dataGridViewTactical.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewTactical.SelectedRows[0].Cells["Code"].Value.ToString(); dlg.textBoxCount.Text = dataGridViewTactical.SelectedRows[0].Cells["DealCount"].Value.ToString(); dlg.textBoxType.Text = "UnderWeight"; if (dlg.ShowDialog() == DialogResult.OK) { decimal price = Convert.ToDecimal(dlg.textBoxPrice.Text); uint count = Convert.ToUInt16(dlg.textBoxCount.Text); StockPool.LongTermTableDataTable dt = (StockPool.LongTermTableDataTable)dataGridViewLongTerm.DataSource; StockPool.LongTermTableRow row = (StockPool.LongTermTableRow)dt.Select("Name=" + dlg.textBoxName.Text)[0]; decimal profit = (price - row.CostPrice) * count; row.AvailableCash += price * count; m_statData.TacticalProfit += profit; m_statData.LongTermLeftCash += price * count; //real left cash //delete tactical record DeleteFromStockPool(dataGridViewTactical, dataGridViewTactical.SelectedRows[0].Index); //insert deal record DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "TacticalPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); } }
private void BuyToolStripMenuItem_Click(object sender, EventArgs e) { DealDlg dlg = new DealDlg(); if (this.tabControl1.SelectedIndex == 3) {//ShortTermPool if (dataGridViewShortTerm.SelectedRows.Count == 1) { dlg.textBoxName.Text = dataGridViewShortTerm.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewShortTerm.SelectedRows[0].Cells["Code"].Value.ToString(); } dlg.textBoxType.Text = "Buy"; if (dlg.ShowDialog() == DialogResult.OK) { InsertShortTermPool(dlg, dataGridViewShortTerm); DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "ShortTermPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); //update Stastistic data decimal price = Convert.ToDecimal(dlg.textBoxPrice.Text); int count = Convert.ToInt32(dlg.textBoxCount.Text); decimal cash = price * count; m_statData.ShortTermLeftCash -= cash; } } else { return; } }
private void overweightToolStripMenuItem1_Click(object sender, EventArgs e) { if (this.tabControl1.SelectedIndex != 1) { return; } DealDlg dlg = new DealDlg(); dlg.textBoxName.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Code"].Value.ToString(); dlg.textBoxType.Text = "OverWeight"; if (dlg.ShowDialog() == DialogResult.OK) { //update stock available cash in long term pool decimal price = Convert.ToDecimal(dlg.textBoxPrice.Text); uint count = Convert.ToUInt16(dlg.textBoxCount.Text); StockPool.LongTermTableDataTable dt = (StockPool.LongTermTableDataTable)dataGridViewLongTerm.DataSource; StockPool.LongTermTableRow row = (StockPool.LongTermTableRow)dt.Rows[dataGridViewLongTerm.SelectedRows[0].Index]; row.AvailableCash -= price * count; m_statData.LongTermLeftCash -= price * count; //insert tactical record InsertTacticalPool(dlg, -1); //insert deal record DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "TacticalPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); } }
private void overweightToolStripMenuItem1_Click(object sender, EventArgs e) { if (this.tabControl1.SelectedIndex != 1) return; DealDlg dlg = new DealDlg(); dlg.textBoxName.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Code"].Value.ToString(); dlg.textBoxType.Text = "OverWeight"; if (dlg.ShowDialog() == DialogResult.OK) { //update stock available cash in long term pool decimal price = Convert.ToDecimal(dlg.textBoxPrice.Text); uint count = Convert.ToUInt16(dlg.textBoxCount.Text); StockPool.LongTermTableDataTable dt = (StockPool.LongTermTableDataTable)dataGridViewLongTerm.DataSource; StockPool.LongTermTableRow row = (StockPool.LongTermTableRow)dt.Rows[dataGridViewLongTerm.SelectedRows[0].Index]; row.AvailableCash -= price * count; m_statData.LongTermLeftCash -= price * count; //insert tactical record InsertTacticalPool(dlg,-1); //insert deal record DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "TacticalPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); } }
private void underwweightToolStripMenuItem_Click(object sender, EventArgs e) { if (this.tabControl1.SelectedIndex != 2) return; DealDlg dlg = new DealDlg(); dlg.textBoxName.Text = dataGridViewTactical.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewTactical.SelectedRows[0].Cells["Code"].Value.ToString(); dlg.textBoxCount.Text = dataGridViewTactical.SelectedRows[0].Cells["DealCount"].Value.ToString(); dlg.textBoxType.Text = "UnderWeight"; if (dlg.ShowDialog() == DialogResult.OK) { decimal price = Convert.ToDecimal(dlg.textBoxPrice.Text); uint count = Convert.ToUInt16(dlg.textBoxCount.Text); StockPool.LongTermTableDataTable dt = (StockPool.LongTermTableDataTable)dataGridViewLongTerm.DataSource; StockPool.LongTermTableRow row = (StockPool.LongTermTableRow)dt.Select("Name=" + dlg.textBoxName.Text)[0]; decimal profit = (price - row.CostPrice) * count; row.AvailableCash += price * count; m_statData.TacticalProfit += profit; m_statData.LongTermLeftCash += price * count; //real left cash //delete tactical record DeleteFromStockPool(dataGridViewTactical, dataGridViewTactical.SelectedRows[0].Index); //insert deal record DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "TacticalPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); } }
private void closePositionToolStripMenuItem_Click(object sender, EventArgs e) { if (this.tabControl1.SelectedIndex != 1) return; PositionDlg dlg = new PositionDlg(); string name = dataGridViewLongTerm.SelectedRows[0].Cells["Name"].Value.ToString(); StockPool.TacticalTableDataTable dt = (StockPool.TacticalTableDataTable)dataGridViewTactical.DataSource; if (dt.Select("Name=" + name).Length != 0) { MessageBox.Show("please underweight stock in tactical pool first"); return; } dlg.textBoxName.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Code"].Value.ToString(); dlg.textBoxType.Text = "ClosePosition"; dlg.textBoxCount.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Amount"].Value.ToString(); if (dlg.ShowDialog() == DialogResult.OK) { //update statistic data StockPool.LongTermTableDataTable longtermdt = (StockPool.LongTermTableDataTable)dataGridViewLongTerm.DataSource; StockPool.LongTermTableRow row = (StockPool.LongTermTableRow)longtermdt.Rows[dataGridViewLongTerm.SelectedRows[0].Index]; decimal sellprice = Convert.ToDecimal(dlg.textBoxPrice.Text); decimal profit = (sellprice - row.CostPrice) * row.Amount; m_statData.LongTermProfit += profit; m_statData.LongTermLeftCash += sellprice * row.Amount; m_statData.LongTermAvailableCash += sellprice * row.Amount + row.AvailableCash; //insertDealRecord DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "LongTermPool"; data.Profit = profit.ToString() ; InsertDealRecord(data); //delete longterm record DeleteFromStockPool(dataGridViewLongTerm, dataGridViewLongTerm.SelectedRows[0].Index); } }
//For ObservedPool and LongTerm pool private void openPosittionToolStripMenuItem_Click(object sender, EventArgs e) { PositionDlg dlg = new PositionDlg(); switch (this.tabControl1.SelectedIndex) { case 0: { if (dataGridViewObserved.SelectedRows.Count != 1) return; dlg.textBoxName.Text = dataGridViewObserved.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewObserved.SelectedRows[0].Cells["Code"].Value.ToString(); dlg.textBoxType.Text = "OpenPosition"; if (dlg.ShowDialog() == DialogResult.OK) { InsertLongTermPool(dlg); //InsertTacticalPool(dlg); DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "LongTermPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); DeleteFromStockPool(dataGridViewObserved, dataGridViewObserved.SelectedRows[0].Index); //update statistic data decimal price = Convert.ToDecimal(dlg.textBoxPrice.Text); uint count = Convert.ToUInt32(dlg.textBoxCount.Text); if (dlg.comboBoxClassType.SelectedText == "High potential") m_statData.LongTermAvailableCash -= price*count*2; else m_statData.LongTermAvailableCash -= price*count*5/3; m_statData.LongTermLeftCash -= price * count; } } break; case 1: { if (dataGridViewObserved.SelectedRows.Count != 0) return; dlg.textBoxType.Text = "OpenPosition"; if (dlg.ShowDialog() == DialogResult.OK) { InsertLongTermPool(dlg); //InsertTacticalPool(dlg); DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "LongTermPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); //update statistic data decimal price = Convert.ToDecimal(dlg.textBoxPrice.Text); uint count = Convert.ToUInt32(dlg.textBoxCount.Text); if (dlg.comboBoxClassType.SelectedText == "High potential") m_statData.LongTermAvailableCash -= price * count * 2; else m_statData.LongTermAvailableCash -= price * count * 5 / 3; m_statData.LongTermLeftCash -= price * count; } } break; default: return; } }
private void sellToolStripMenuItem_Click(object sender, EventArgs e) { DealDlg dlg = new DealDlg(); if (this.tabControl1.SelectedIndex == 3) {//ShortTermPool if (dataGridViewShortTerm.SelectedRows.Count != 1) return; dlg.textBoxName.Text = dataGridViewShortTerm.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewShortTerm.SelectedRows[0].Cells["Code"].Value.ToString(); dlg.textBoxType.Text = "Sell"; if (dlg.ShowDialog() == DialogResult.OK) { //decrese count from specific stockpool, if left count is 0, then delete item decimal oriPrice = Convert.ToDecimal(dataGridViewShortTerm.SelectedRows[0].Cells["CostPrice"].Value.ToString()); decimal sellPrice = Convert.ToDecimal(dlg.textBoxPrice.Text); dlg.sellprofit = (sellPrice - oriPrice) / oriPrice; int count = Convert.ToInt32(dlg.textBoxCount.Text); int current = Convert.ToInt32(dataGridViewShortTerm.SelectedRows[0].Cells["Amount"].Value.ToString()); int left = current - count; if (left < 0) { MessageBox.Show("Count is more than the holding number."); return; } else if (left == 0) { //delete item from gridview //DataRowView view = gridview.SelectedRows[0].DataBoundItem as DataRowView; //int index = view.Row. DeleteFromStockPool(dataGridViewShortTerm, dataGridViewShortTerm.SelectedRows[0].Index); } else { dataGridViewShortTerm.SelectedRows[0].Cells["Amount"].Value = left; } //insert DealRecord DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "ShortTermPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); //update Stastistic data m_statData.ShortTermProfit += dlg.sellprofit; decimal cash = sellPrice * count; m_statData.ShortTermLeftCash += cash; } } else return; }
private void BuyToolStripMenuItem_Click(object sender, EventArgs e) { DealDlg dlg = new DealDlg(); if (this.tabControl1.SelectedIndex == 3) {//ShortTermPool if (dataGridViewShortTerm.SelectedRows.Count == 1) { dlg.textBoxName.Text = dataGridViewShortTerm.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewShortTerm.SelectedRows[0].Cells["Code"].Value.ToString(); } dlg.textBoxType.Text = "Buy"; if (dlg.ShowDialog() == DialogResult.OK) { InsertShortTermPool(dlg, dataGridViewShortTerm); DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "ShortTermPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); //update Stastistic data decimal price = Convert.ToDecimal(dlg.textBoxPrice.Text); int count = Convert.ToInt32(dlg.textBoxCount.Text); decimal cash = price * count; m_statData.ShortTermLeftCash -= cash; } } else return; }
//For ObservedPool and LongTerm pool private void openPosittionToolStripMenuItem_Click(object sender, EventArgs e) { PositionDlg dlg = new PositionDlg(); switch (this.tabControl1.SelectedIndex) { case 0: { if (dataGridViewObserved.SelectedRows.Count != 1) { return; } dlg.textBoxName.Text = dataGridViewObserved.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewObserved.SelectedRows[0].Cells["Code"].Value.ToString(); dlg.textBoxType.Text = "OpenPosition"; if (dlg.ShowDialog() == DialogResult.OK) { InsertLongTermPool(dlg); //InsertTacticalPool(dlg); DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "LongTermPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); DeleteFromStockPool(dataGridViewObserved, dataGridViewObserved.SelectedRows[0].Index); //update statistic data decimal price = Convert.ToDecimal(dlg.textBoxPrice.Text); uint count = Convert.ToUInt32(dlg.textBoxCount.Text); if (dlg.comboBoxClassType.SelectedText == "High potential") { m_statData.LongTermAvailableCash -= price * count * 2; } else { m_statData.LongTermAvailableCash -= price * count * 5 / 3; } m_statData.LongTermLeftCash -= price * count; } } break; case 1: { if (dataGridViewObserved.SelectedRows.Count != 0) { return; } dlg.textBoxType.Text = "OpenPosition"; if (dlg.ShowDialog() == DialogResult.OK) { InsertLongTermPool(dlg); //InsertTacticalPool(dlg); DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "LongTermPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); //update statistic data decimal price = Convert.ToDecimal(dlg.textBoxPrice.Text); uint count = Convert.ToUInt32(dlg.textBoxCount.Text); if (dlg.comboBoxClassType.SelectedText == "High potential") { m_statData.LongTermAvailableCash -= price * count * 2; } else { m_statData.LongTermAvailableCash -= price * count * 5 / 3; } m_statData.LongTermLeftCash -= price * count; } } break; default: return; } }
private void sellToolStripMenuItem_Click(object sender, EventArgs e) { DealDlg dlg = new DealDlg(); if (this.tabControl1.SelectedIndex == 3) {//ShortTermPool if (dataGridViewShortTerm.SelectedRows.Count != 1) { return; } dlg.textBoxName.Text = dataGridViewShortTerm.SelectedRows[0].Cells["Name"].Value.ToString(); dlg.textBoxNumber.Text = dataGridViewShortTerm.SelectedRows[0].Cells["Code"].Value.ToString(); dlg.textBoxType.Text = "Sell"; if (dlg.ShowDialog() == DialogResult.OK) { //decrese count from specific stockpool, if left count is 0, then delete item decimal oriPrice = Convert.ToDecimal(dataGridViewShortTerm.SelectedRows[0].Cells["CostPrice"].Value.ToString()); decimal sellPrice = Convert.ToDecimal(dlg.textBoxPrice.Text); dlg.sellprofit = (sellPrice - oriPrice) / oriPrice; int count = Convert.ToInt32(dlg.textBoxCount.Text); int current = Convert.ToInt32(dataGridViewShortTerm.SelectedRows[0].Cells["Amount"].Value.ToString()); int left = current - count; if (left < 0) { MessageBox.Show("Count is more than the holding number."); return; } else if (left == 0) { //delete item from gridview //DataRowView view = gridview.SelectedRows[0].DataBoundItem as DataRowView; //int index = view.Row. DeleteFromStockPool(dataGridViewShortTerm, dataGridViewShortTerm.SelectedRows[0].Index); } else { dataGridViewShortTerm.SelectedRows[0].Cells["Amount"].Value = left; } //insert DealRecord DealRecordData data = new DealRecordData(); data.Name = dlg.textBoxName.Text; data.Type = dlg.textBoxType.Text; data.Price = dlg.textBoxPrice.Text; data.Count = dlg.textBoxCount.Text; data.Pool = "ShortTermPool"; data.Profit = dlg.sellprofit.ToString(); InsertDealRecord(data); //update Stastistic data m_statData.ShortTermProfit += dlg.sellprofit; decimal cash = sellPrice * count; m_statData.ShortTermLeftCash += cash; } } else { return; } }