Program fixes , registering new stocks, without dbchanges
This commit is contained in:
15
DataDomain/StockGroupModel.cs
Normal file
15
DataDomain/StockGroupModel.cs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace DataDomain
|
||||||
|
{
|
||||||
|
public class StockGroupModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string StockGroup { get; set; }
|
||||||
|
public string StockName { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
13
PP.cmd
Normal file
13
PP.cmd
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
@echo off
|
||||||
|
D:
|
||||||
|
cd \Aktier\net6.0-windows
|
||||||
|
echo *** på plats \Aktier\net6.0-windows ***
|
||||||
|
copy Stocks* ..\backup\cpyback
|
||||||
|
echo *** databas backupad ***
|
||||||
|
copy D:\TommyCsharp\StockInfoCoreApp\StockInfoCore\bin\Debug\net6.0-windows\*.* .\
|
||||||
|
echo *** ny prodversion flyttad ***
|
||||||
|
copy ..\backup\cpyback\Stocks* .\
|
||||||
|
echo ************************************
|
||||||
|
echo *** Produktions uppdatering klar ***
|
||||||
|
echo ************************************
|
||||||
|
cmd /k
|
||||||
@ -36,7 +36,7 @@ namespace StockDal
|
|||||||
public StockMarketRepository(
|
public StockMarketRepository(
|
||||||
IStockPersonConnect stockPersonConnect,
|
IStockPersonConnect stockPersonConnect,
|
||||||
IStockRepository stockRepository,
|
IStockRepository stockRepository,
|
||||||
TestSettings testSettings,
|
TestSettings testSettings,
|
||||||
IStockScrapePage scrapePage)
|
IStockScrapePage scrapePage)
|
||||||
{
|
{
|
||||||
ViewBrowser = false;
|
ViewBrowser = false;
|
||||||
@ -84,7 +84,7 @@ namespace StockDal
|
|||||||
TextResults.Append("\r\n");
|
TextResults.Append("\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// var oxe = StockMarketList;
|
// var oxe = StockMarketList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SaveLogging()
|
private void SaveLogging()
|
||||||
@ -153,13 +153,13 @@ namespace StockDal
|
|||||||
}
|
}
|
||||||
case 9:
|
case 9:
|
||||||
{
|
{
|
||||||
SaveRow.TimeOfDay = value==""?TimeSpan.Parse("00:01"): TimeSpan.Parse(value);
|
SaveRow.TimeOfDay = value == "" ? TimeSpan.Parse("00:01") : TimeSpan.Parse(value);
|
||||||
//StockMarketList.Add(SaveRow.StockName, SaveRow);
|
//StockMarketList.Add(SaveRow.StockName, SaveRow);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
StockMarketList.Add(SaveRow.StockName, SaveRow);
|
StockMarketList.Add(SaveRow.StockName, SaveRow);
|
||||||
}
|
}
|
||||||
catch (ArgumentException )
|
catch (ArgumentException)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -207,7 +207,7 @@ namespace StockDal
|
|||||||
var url2 = "https://trader.di.se/index.php/stocklist/index/2055?list=7116";
|
var url2 = "https://trader.di.se/index.php/stocklist/index/2055?list=7116";
|
||||||
var url3 = "https://trader.di.se/index.php/stocklist/index/2055?list=7127";
|
var url3 = "https://trader.di.se/index.php/stocklist/index/2055?list=7127";
|
||||||
//var url1 = "https://www.finansportalen.se/aktiekurser/";
|
//var url1 = "https://www.finansportalen.se/aktiekurser/";
|
||||||
driver.Navigate().GoToUrl(burl2.HasValue? (burl2.Value ? url2 : url):url3);
|
driver.Navigate().GoToUrl(burl2.HasValue ? (burl2.Value ? url2 : url) : url3);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
@ -219,7 +219,7 @@ namespace StockDal
|
|||||||
|
|
||||||
private void saveStockData(List<DiTraderStockRow> saveRow)
|
private void saveStockData(List<DiTraderStockRow> saveRow)
|
||||||
{
|
{
|
||||||
foreach(var row in saveRow)
|
foreach (var row in saveRow)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -245,21 +245,21 @@ namespace StockDal
|
|||||||
public void LoadStockMarketList(int persId)
|
public void LoadStockMarketList(int persId)
|
||||||
{
|
{
|
||||||
StockMarketList = new Dictionary<string, DiTraderStockRow>();
|
StockMarketList = new Dictionary<string, DiTraderStockRow>();
|
||||||
DumpObjects = new List<DiTraderStockRow>();
|
DumpObjects = new List<DiTraderStockRow>();
|
||||||
var groupedStocks = _stockRepository.GetStocksGroupedPerPerson(persId);
|
var groupedStocks = _stockRepository.GetStocksGroupedPerPerson(persId);
|
||||||
var lastGroup = string.Empty;
|
var lastGroup = string.Empty;
|
||||||
var stockList = new List<string>();
|
var stockList = new List<string>();
|
||||||
foreach(var groupedStock in groupedStocks)
|
foreach (var groupedStock in groupedStocks)
|
||||||
{
|
{
|
||||||
if (groupedStock.StockGroup != lastGroup)
|
if (groupedStock.StockGroup != lastGroup)
|
||||||
{
|
{
|
||||||
if(lastGroup != string.Empty)
|
if (lastGroup != string.Empty)
|
||||||
{
|
{
|
||||||
_testSettings.StockWishes = stockList.ToArray();
|
_testSettings.StockWishes = stockList.ToArray();
|
||||||
if (lastGroup == "ZNotFound")
|
if (lastGroup == "ZNotFound")
|
||||||
foreach (var stk in stockList)
|
foreach (var stk in stockList)
|
||||||
{
|
{
|
||||||
saveStockData(new List<DiTraderStockRow>(_scrapePage.SearchStockAndCollect(stk.Substring(0,4))));
|
saveStockData(new List<DiTraderStockRow>(_scrapePage.SearchStockAndCollect(stk.Substring(0, 4))));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
saveStockData(_scrapePage.GetMyStockStatus(lastGroup));
|
saveStockData(_scrapePage.GetMyStockStatus(lastGroup));
|
||||||
@ -279,7 +279,7 @@ namespace StockDal
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(stockList.Count > 0)
|
if (stockList.Count > 0)
|
||||||
{
|
{
|
||||||
_testSettings.StockWishes = stockList.ToArray();
|
_testSettings.StockWishes = stockList.ToArray();
|
||||||
if (lastGroup == "ZNotFound")
|
if (lastGroup == "ZNotFound")
|
||||||
@ -298,6 +298,66 @@ namespace StockDal
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DiTraderStockRow LoadStockMarketStockData(string searchedStock)
|
||||||
|
{
|
||||||
|
//StockMarketList = new Dictionary<string, DiTraderStockRow>();
|
||||||
|
//DumpObjects = new List<DiTraderStockRow>();
|
||||||
|
var groupedStocks = _stockRepository.GetGroupedStock(searchedStock);
|
||||||
|
var lastGroup = string.Empty;
|
||||||
|
var stockList = new List<string>();
|
||||||
|
var output = new List<DiTraderStockRow>();
|
||||||
|
foreach (var groupedStock in groupedStocks)
|
||||||
|
{
|
||||||
|
if (groupedStock.StockGroup != lastGroup)
|
||||||
|
{
|
||||||
|
if (lastGroup != string.Empty)
|
||||||
|
{
|
||||||
|
_testSettings.StockWishes = stockList.ToArray();
|
||||||
|
if (lastGroup == "ZNotFound")
|
||||||
|
foreach (var stk in stockList)
|
||||||
|
{
|
||||||
|
output = _scrapePage.SearchStockAndCollect(stk.Substring(0, 4));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
output = _scrapePage.GetMyStockStatus(lastGroup);
|
||||||
|
|
||||||
|
stockList.Clear();
|
||||||
|
lastGroup = groupedStock.StockGroup;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lastGroup = groupedStock.StockGroup;
|
||||||
|
}
|
||||||
|
|
||||||
|
stockList.Add(groupedStock.StockId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
stockList.Add(groupedStock.StockId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stockList.Count > 0)
|
||||||
|
{
|
||||||
|
_testSettings.StockWishes = stockList.ToArray();
|
||||||
|
if (lastGroup == "ZNotFound")
|
||||||
|
foreach (var stk in stockList)
|
||||||
|
{
|
||||||
|
output = _scrapePage.SearchStockAndCollect(stk.Substring(0, 4));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
output = _scrapePage.GetMyStockStatus(lastGroup);
|
||||||
|
stockList.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
return output[0];
|
||||||
|
|
||||||
|
//if (DumpObjects.Any())
|
||||||
|
//{
|
||||||
|
// SaveLogging();
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void LoadStockMarketList(int persId, bool viewBrowser)
|
public void LoadStockMarketList(int persId, bool viewBrowser)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -133,6 +133,8 @@ namespace StockDAL
|
|||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public IEnumerable<StockGrpPers> GetStocksGroupedPerPerson(int persId)
|
public IEnumerable<StockGrpPers> GetStocksGroupedPerPerson(int persId)
|
||||||
{
|
{
|
||||||
using var context = new StockContext();
|
using var context = new StockContext();
|
||||||
@ -140,12 +142,52 @@ namespace StockDAL
|
|||||||
join stk in context.Stocks on prs.StockId equals stk.Id
|
join stk in context.Stocks on prs.StockId equals stk.Id
|
||||||
join grp in context.StockGroups on stk.StockId equals grp.StockName
|
join grp in context.StockGroups on stk.StockId equals grp.StockName
|
||||||
where prs.PersonId == persId
|
where prs.PersonId == persId
|
||||||
orderby grp.GroupName, grp.StockName
|
orderby grp.StockGroup, grp.StockName
|
||||||
select new StockGrpPers
|
select new StockGrpPers
|
||||||
{
|
{
|
||||||
PersId = persId,
|
PersId = persId,
|
||||||
StockId = stk.StockId,
|
StockId = stk.StockId,
|
||||||
StockGroup = grp.GroupName
|
StockGroup = grp.StockGroup
|
||||||
|
}).ToList();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StockGroupModel SaveStockGroup(StockGroupModel stockGroup)
|
||||||
|
{
|
||||||
|
using var context = new StockContext();
|
||||||
|
var entity = (from sg in context.StockGroups
|
||||||
|
where sg.Id == stockGroup.Id
|
||||||
|
select sg).FirstOrDefault();
|
||||||
|
if (entity == null)
|
||||||
|
{
|
||||||
|
entity = new StockGroupModel
|
||||||
|
{
|
||||||
|
StockGroup = stockGroup.StockGroup,
|
||||||
|
StockName = stockGroup.StockName
|
||||||
|
};
|
||||||
|
context.StockGroups.Add(entity);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
entity.StockGroup = stockGroup.StockGroup;
|
||||||
|
entity.StockName = stockGroup.StockName;
|
||||||
|
}
|
||||||
|
context.SaveChanges();
|
||||||
|
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public IEnumerable<StockGrpPers> GetGroupedStock(string stock)
|
||||||
|
{
|
||||||
|
using var context = new StockContext();
|
||||||
|
var result = (from grp in context.StockGroups
|
||||||
|
where grp.StockName == stock
|
||||||
|
select new StockGrpPers
|
||||||
|
{
|
||||||
|
PersId = 0,
|
||||||
|
StockId = grp.StockName,
|
||||||
|
StockGroup = grp.StockGroup
|
||||||
}).ToList();
|
}).ToList();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -184,5 +226,17 @@ namespace StockDAL
|
|||||||
throw new InvalidOperationException(ex.Message);
|
throw new InvalidOperationException(ex.Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<string> GetStockNames()
|
||||||
|
{
|
||||||
|
using var context = new StockContext();
|
||||||
|
var output = (from stg in context.StockGroups
|
||||||
|
orderby stg.StockName
|
||||||
|
select stg.StockName).ToList();
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,8 +32,8 @@ namespace StockDAL
|
|||||||
Thread.Sleep(500);
|
Thread.Sleep(500);
|
||||||
chooseList.SelectDropDownByText(listText);
|
chooseList.SelectDropDownByText(listText);
|
||||||
Thread.Sleep(800);
|
Thread.Sleep(800);
|
||||||
var stockListTuple = tblList.SimpleReadTablePartly(_testSettings.StockWishes, _testSettings.StocWishCols);
|
var stockList = tblList.SimpleReadTablePartly(_testSettings.StockWishes, _testSettings.StocWishCols);
|
||||||
return stockListTuple;
|
return stockList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<DiTraderStockRow> SearchStockAndCollect(string stockName)
|
public List<DiTraderStockRow> SearchStockAndCollect(string stockName)
|
||||||
|
|||||||
@ -16,5 +16,6 @@ namespace StockDal.Interface
|
|||||||
void LoadStockMarketList(int persId);
|
void LoadStockMarketList(int persId);
|
||||||
void LoadStockMarketList(int persId, bool viewBrowser);
|
void LoadStockMarketList(int persId, bool viewBrowser);
|
||||||
void RefreshMarketList(int persId);
|
void RefreshMarketList(int persId);
|
||||||
|
DiTraderStockRow LoadStockMarketStockData(string searchedStock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,5 +20,8 @@ namespace StockDAL.Interface
|
|||||||
void UpdateActualForSell(int id, int sellAmount, decimal sellPrice, DateTime sellDate);
|
void UpdateActualForSell(int id, int sellAmount, decimal sellPrice, DateTime sellDate);
|
||||||
void UpdateActualPrice(int id, decimal price);
|
void UpdateActualPrice(int id, decimal price);
|
||||||
IEnumerable<StockGrpPers> GetStocksGroupedPerPerson(int persId);
|
IEnumerable<StockGrpPers> GetStocksGroupedPerPerson(int persId);
|
||||||
|
List<string> GetStockNames();
|
||||||
|
IEnumerable<StockGrpPers> GetGroupedStock(string stock);
|
||||||
|
StockGroupModel SaveStockGroup(StockGroupModel stockGroup);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
BIN
StockInfoCore/Stocks.db-shm
Normal file
BIN
StockInfoCore/Stocks.db-shm
Normal file
Binary file not shown.
0
StockInfoCore/Stocks.db-wal
Normal file
0
StockInfoCore/Stocks.db-wal
Normal file
BIN
StockInfoCore/TillfBackup/Stocks.db
Normal file
BIN
StockInfoCore/TillfBackup/Stocks.db
Normal file
Binary file not shown.
BIN
StockInfoCore/TillfBackup/Stocks.db-shm
Normal file
BIN
StockInfoCore/TillfBackup/Stocks.db-shm
Normal file
Binary file not shown.
BIN
StockInfoCore/TillfBackup/Stocks.db-wal
Normal file
BIN
StockInfoCore/TillfBackup/Stocks.db-wal
Normal file
Binary file not shown.
@ -1,4 +1,5 @@
|
|||||||
using DataDomain;
|
using DataDomain;
|
||||||
|
using StockDal.Interface;
|
||||||
using StockDAL.Interface;
|
using StockDAL.Interface;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -16,24 +17,33 @@ namespace StockInfoCore
|
|||||||
{
|
{
|
||||||
Color hdr = Color.Red;
|
Color hdr = Color.Red;
|
||||||
private readonly IStockRepository _stockRepository;
|
private readonly IStockRepository _stockRepository;
|
||||||
|
private readonly IStockMarketRepository _stockMarketRepository;
|
||||||
|
private readonly IStockScrapePage _scrapePage;
|
||||||
|
|
||||||
|
public List<string> StockNames { get; set; }
|
||||||
public Dictionary<string, DiTraderStockRow> Stocks { get; set; }
|
public Dictionary<string, DiTraderStockRow> Stocks { get; set; }
|
||||||
public List<StockMember> RegisteredStocks { get; set; } = new List<StockMember>();
|
public List<StockMember> RegisteredStocks { get; set; } = new List<StockMember>();
|
||||||
|
|
||||||
public frmRegisterStock(IStockRepository stockRepository)
|
public StockGroupModel StockGroupTmp { get; set; }
|
||||||
|
|
||||||
|
public frmRegisterStock(IStockRepository stockRepository,
|
||||||
|
IStockMarketRepository stockMarketRepository,
|
||||||
|
IStockScrapePage scrapePage)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_stockRepository = stockRepository;
|
_stockRepository = stockRepository;
|
||||||
|
_stockMarketRepository = stockMarketRepository;
|
||||||
|
_scrapePage = scrapePage;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadStockCombo()
|
private void LoadStockCombo()
|
||||||
{
|
{
|
||||||
if (Stocks.Count() > 0)
|
|
||||||
|
cmbStockChoser.Items.Clear();
|
||||||
|
|
||||||
|
foreach (var key in StockNames)
|
||||||
{
|
{
|
||||||
foreach (var key in Stocks.Keys)
|
cmbStockChoser.Items.Add(key);
|
||||||
{
|
|
||||||
cmbStockChoser.Items.Add(key);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -45,22 +55,31 @@ namespace StockInfoCore
|
|||||||
|
|
||||||
private void frmRegisterStock_Shown(object sender, EventArgs e)
|
private void frmRegisterStock_Shown(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
StockNames = _stockRepository.GetStockNames();
|
||||||
LoadStockCombo();
|
LoadStockCombo();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cmbStockChoser_SelectedIndexChanged(object sender, EventArgs e)
|
private void cmbStockChoser_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var stockChosen = Stocks[cmbStockChoser.SelectedItem.ToString()];
|
if (Stocks.ContainsKey(cmbStockChoser.SelectedItem.ToString()))
|
||||||
txtStockExtId.Text = stockChosen.StockName;
|
|
||||||
txtActValue.Text = stockChosen.LatestPrice.ToString();
|
|
||||||
txtActDate.Text = (DateTime.Today + stockChosen.TimeOfDay).ToString();
|
|
||||||
var stockSold = _stockRepository.LatestSell(stockChosen.StockName.Trim());
|
|
||||||
if (stockSold != null)
|
|
||||||
{
|
{
|
||||||
if (stockSold.LatestSoldDate != null)
|
var stockChosen = Stocks[cmbStockChoser.SelectedItem.ToString()];
|
||||||
|
txtStockExtId.Text = stockChosen.StockName;
|
||||||
|
txtActValue.Text = stockChosen.LatestPrice.ToString();
|
||||||
|
txtActDate.Text = (DateTime.Today + stockChosen.TimeOfDay).ToString();
|
||||||
|
var stockSold = _stockRepository.LatestSell(stockChosen.StockName.Trim());
|
||||||
|
if (stockSold != null)
|
||||||
{
|
{
|
||||||
txtLatestSoldDate.Text = stockSold.LatestSoldDate.Value.ToString();
|
if (stockSold.LatestSoldDate != null)
|
||||||
txtLatestSoldPrice.Text = stockSold.SoldStockPrice.ToString();
|
{
|
||||||
|
txtLatestSoldDate.Text = stockSold.LatestSoldDate.Value.ToString();
|
||||||
|
txtLatestSoldPrice.Text = stockSold.SoldStockPrice.ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
txtLatestSoldDate.Text = string.Empty;
|
||||||
|
txtLatestSoldPrice.Text = string.Empty;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -68,10 +87,24 @@ namespace StockInfoCore
|
|||||||
txtLatestSoldPrice.Text = string.Empty;
|
txtLatestSoldPrice.Text = string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (StockNames.Contains(cmbStockChoser.SelectedItem.ToString()))
|
||||||
|
{
|
||||||
|
var stockChosen = _stockMarketRepository.LoadStockMarketStockData(cmbStockChoser.SelectedItem.ToString());
|
||||||
|
txtStockExtId.Text = stockChosen.StockName;
|
||||||
|
txtActValue.Text = stockChosen.LatestPrice.ToString();
|
||||||
|
txtActDate.Text = (DateTime.Today + stockChosen.TimeOfDay).ToString();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
txtLatestSoldDate.Text = string.Empty;
|
var stockChosen = _scrapePage.SearchStockAndCollect(cmbStockChoser.Text.Substring(0, 4));
|
||||||
txtLatestSoldPrice.Text = string.Empty;
|
if (stockChosen.Count > 0)
|
||||||
|
{
|
||||||
|
txtStockExtId.Text = stockChosen[0].StockName;
|
||||||
|
txtActValue.Text = stockChosen[0].LatestPrice.ToString();
|
||||||
|
txtActDate.Text = (DateTime.Today + stockChosen[0].TimeOfDay).ToString();
|
||||||
|
StockGroupTmp.StockGroup = "ZNotFound";
|
||||||
|
StockGroupTmp.StockName = stockChosen[0].StockName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -134,7 +167,13 @@ namespace StockInfoCore
|
|||||||
|
|
||||||
private void btnSaveToDB_Click(object sender, EventArgs e)
|
private void btnSaveToDB_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
if (RegisteredStocks.Count > 0)
|
||||||
|
{
|
||||||
|
_stockRepository.InsertMany(RegisteredStocks);
|
||||||
|
lwRegBuffer.Clear();
|
||||||
|
RegisteredStocks.Clear();
|
||||||
|
_stockRepository.SaveStockGroup(StockGroupTmp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void txtBoughtAmount_TextChanged(object sender, EventArgs e)
|
private void txtBoughtAmount_TextChanged(object sender, EventArgs e)
|
||||||
|
|||||||
Reference in New Issue
Block a user