120 lines
3.7 KiB
C#
120 lines
3.7 KiB
C#
using StockDomain;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace RepositoryPattern
|
|
{
|
|
public partial class frmRegisterStock : Form
|
|
{
|
|
|
|
public Dictionary<string, DiTraderStockRow> Stocks { get; set; }
|
|
public List<StockMember> RegisteredStocks { get; set; } = new List<StockMember>();
|
|
|
|
public frmRegisterStock()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void LoadStockCombo()
|
|
{
|
|
if (Stocks.Count() > 0)
|
|
{
|
|
foreach (var key in Stocks.Keys)
|
|
{
|
|
cmbStockChoser.Items.Add(key);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
private void btnClose_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void frmRegisterStock_Shown(object sender, EventArgs e)
|
|
{
|
|
LoadStockCombo();
|
|
}
|
|
|
|
private void cmbStockChoser_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
var stockChosen = Stocks[cmbStockChoser.SelectedItem.ToString()];
|
|
txtStockExtId.Text = stockChosen.StockName;
|
|
txtActValue.Text = stockChosen.LatestPrice.ToString();
|
|
txtActDate.Text = (DateTime.Today + stockChosen.TimeOfDay).ToString();
|
|
}
|
|
|
|
private void btnSaveStock_Click(object sender, EventArgs e)
|
|
{
|
|
AddValidateData();
|
|
RefreshListViewFromRegList();
|
|
}
|
|
|
|
private void RefreshListViewFromRegList()
|
|
{
|
|
lwRegBuffer.Items.Clear();
|
|
foreach (var currStock in RegisteredStocks)
|
|
{
|
|
AddItemToListView(currStock);
|
|
}
|
|
}
|
|
|
|
private void AddItemToListView(StockMember currStock)
|
|
{
|
|
var lv = lwRegBuffer.Items.Add(currStock.StockId);
|
|
lv.SubItems.Add(currStock.BuyValue.ToString());
|
|
lv.SubItems.Add(currStock.PostAmount.ToString());
|
|
lv.SubItems.Add(currStock.Comment);
|
|
}
|
|
|
|
private void AddValidateData()
|
|
{
|
|
var currentStock = new StockMember();
|
|
currentStock.StockId = cmbStockChoser.SelectedItem.ToString();
|
|
currentStock.StockExtId = txtStockExtId.Text;
|
|
currentStock.BuyValue = decimal.Parse(string.IsNullOrEmpty(txtBuyPrice.Text) ? "0" : txtBuyPrice.Text);
|
|
currentStock.PostAmount = long.Parse(string.IsNullOrEmpty(txtBoughtAmount.Text) ? "0" : txtBoughtAmount.Text);
|
|
currentStock.ActDate = DateTime.Parse(txtActDate.Text);
|
|
currentStock.BuyDate = DateTime.Today;
|
|
currentStock.ActValue = decimal.Parse(string.IsNullOrEmpty(txtActValue.Text) ? "0" : txtActValue.Text);
|
|
currentStock.SoldDate = null; //DateTime.MaxValue;
|
|
currentStock.SoldValue = decimal.Parse("0");
|
|
currentStock.Comment = txtComment.Text;
|
|
RegisteredStocks.Add(currentStock);
|
|
initiateRegWin();
|
|
}
|
|
|
|
private void initiateRegWin()
|
|
{
|
|
txtStockExtId.Text = "";
|
|
txtBuyPrice.Text = "";
|
|
txtBuyDate.Text = "";
|
|
txtBoughtAmount.Text = "";
|
|
txtActValue.Text = "";
|
|
txtActDate.Text = "";
|
|
txtActAmount.Text = "";
|
|
txtSoldPrice.Text = "";
|
|
txtSoldDate.Text = "";
|
|
txtComment.Text = "";
|
|
}
|
|
|
|
private void btnSaveToDB_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void txtBoughtAmount_TextChanged(object sender, EventArgs e)
|
|
{
|
|
txtActAmount.Text = txtBoughtAmount.Text;
|
|
}
|
|
}
|
|
}
|