From d56e69b448ed21e8f071e9dd49a83ca9351698b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tommy=20=C3=96man?= Date: Mon, 7 Feb 2022 23:58:10 +0100 Subject: [PATCH] Edit stocklist. add stocks, --- .../Extensions/HtmlTableExtension.cs | 12 ++----- .../WebDriverInitializerExtension.cs | 4 +-- DatamodelLibrary/StockContext.cs | 2 +- StockDAL/StockMarketRepository.cs | 17 +++------- StockDAL/StockRepository.cs | 32 ++++++++++++++++-- StockInfoCore/Stocks.db-shm | Bin 0 -> 32768 bytes StockInfoCore/Stocks.db-wal | 0 StockInfoCore/frmEditStock.Designer.cs | 14 ++++++++ StockInfoCore/frmEditStock.cs | 22 +++++++++--- StockInfoCore/frmInitial.cs | 24 ++++++++----- StockInfoCore/frmMyStocks.cs | 2 +- StockInfoCore/frmPersonShareConnect.cs | 1 + 12 files changed, 87 insertions(+), 43 deletions(-) create mode 100644 StockInfoCore/Stocks.db-shm create mode 100644 StockInfoCore/Stocks.db-wal diff --git a/BrowserHelper/Extensions/HtmlTableExtension.cs b/BrowserHelper/Extensions/HtmlTableExtension.cs index ed1bf6c..8cad648 100644 --- a/BrowserHelper/Extensions/HtmlTableExtension.cs +++ b/BrowserHelper/Extensions/HtmlTableExtension.cs @@ -1,12 +1,6 @@ using DataDomain; -using Helpers; using OpenQA.Selenium; -using System; using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace BrowserHelper.Extensions { @@ -86,14 +80,14 @@ namespace BrowserHelper.Extensions IWebElement tblBody = table.FindElement(By.XPath(".//tbody")); var rows = tblBody.FindElements(By.TagName("tr")); Dictionary columnPos = new Dictionary(); - GlobalStopwatch.PrintSecs("After allocations"); + //GlobalStopwatch.PrintSecs("After allocations"); for (int i = 0; i < columns.Count; i++) { if (shareHeaders.Contains(columns[i].Text)) columnPos.Add(columns[i].Text, i); } var antal = shares.Length; int rowIndex = 0; - GlobalStopwatch.PrintSecs("Before scraplooping"); + //GlobalStopwatch.PrintSecs("Before scraplooping"); foreach (var row in rows) { var element = row.FindElement(By.XPath(".//td")); @@ -116,7 +110,7 @@ namespace BrowserHelper.Extensions } if (antal < 1) break; } - GlobalStopwatch.PrintSecs("After scraplooping"); + //GlobalStopwatch.PrintSecs("After scraplooping"); return shareCollection; } diff --git a/BrowserHelper/Extensions/WebDriverInitializerExtension.cs b/BrowserHelper/Extensions/WebDriverInitializerExtension.cs index cb1c7d5..cc45e30 100644 --- a/BrowserHelper/Extensions/WebDriverInitializerExtension.cs +++ b/BrowserHelper/Extensions/WebDriverInitializerExtension.cs @@ -1,6 +1,4 @@ -using BrowserHelper.Driver; -using Microsoft.Extensions.DependencyInjection; -using System.IO; +using Microsoft.Extensions.DependencyInjection; using System.Reflection; using System.Text.Json; using System.Text.Json.Serialization; diff --git a/DatamodelLibrary/StockContext.cs b/DatamodelLibrary/StockContext.cs index 098df71..fad847f 100644 --- a/DatamodelLibrary/StockContext.cs +++ b/DatamodelLibrary/StockContext.cs @@ -18,6 +18,6 @@ namespace DatamodelLibrary public DbSet StockGroups { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder options) - => options.UseSqlite("Data Source=Stocks.db"); + => options.UseSqlite(@"Data Source=.\Stocks.db"); } } diff --git a/StockDAL/StockMarketRepository.cs b/StockDAL/StockMarketRepository.cs index 6c3c21c..c5848e3 100644 --- a/StockDAL/StockMarketRepository.cs +++ b/StockDAL/StockMarketRepository.cs @@ -246,10 +246,9 @@ namespace StockDal { StockMarketList = new Dictionary(); DumpObjects = new List(); - GlobalStopwatch.PrintSecs("After dictionaries setup "); - //var connStocks = _stockPersonConnect.GetAllConnectionsByPersId(persId); + //GlobalStopwatch.PrintSecs("After dictionaries setup "); var groupedStocks = _stockRepository.GetStocksGroupedPerPerson(persId); - GlobalStopwatch.PrintSecs("After groupedStocks fetched "); + //GlobalStopwatch.PrintSecs("After groupedStocks fetched "); var lastGroup = string.Empty; var stockList = new List(); @@ -261,9 +260,9 @@ namespace StockDal { _testSettings.StockWishes = stockList.ToArray(); stockList.Clear(); - GlobalStopwatch.PrintSecs("Before GetStockStatus"); + //GlobalStopwatch.PrintSecs("Before GetStockStatus"); saveStockData( _scrapePage.GetMyStockStatus(lastGroup)); - GlobalStopwatch.PrintSecs("After GetStockStatus"); + //GlobalStopwatch.PrintSecs("After GetStockStatus"); lastGroup = groupedStock.StockGroup; } else @@ -286,14 +285,6 @@ namespace StockDal saveStockData(_scrapePage.GetMyStockStatus(lastGroup)); } - //OpenBrowser(null); - //Find_Data(); - //OpenBrowser(); - //Find_Data(); - //OpenBrowser(true); - //Find_Data(); - - if (DumpObjects.Any()) { SaveLogging(); diff --git a/StockDAL/StockRepository.cs b/StockDAL/StockRepository.cs index 3710298..29abfff 100644 --- a/StockDAL/StockRepository.cs +++ b/StockDAL/StockRepository.cs @@ -15,7 +15,35 @@ namespace StockDAL { using (var context = new StockContext()) { - var sm = context.Stocks.Add(stockMember); + if (stockMember.Id > 0) + { + var entity = (from stk in context.Stocks + where stk.Id == stockMember.Id + select stk).FirstOrDefault(); + if (entity != null) + { + entity.StockId = stockMember.StockId; + entity.StockExtId = stockMember.StockExtId; + entity.ActValue = stockMember.ActValue; + entity.ActAmount= stockMember.ActAmount; + entity.SoldDate = stockMember.SoldDate; + entity.ActDate = stockMember.ActDate; + entity.SoldStockPrice = stockMember.SoldStockPrice; + entity.SoldValue = stockMember.SoldValue; + entity.PostAmount = stockMember.PostAmount; + entity.Comment = stockMember.Comment; + entity.BuyDate = stockMember.BuyDate; + entity.BuyValue = stockMember.BuyValue; + } + else + { + var sm = context.Stocks.Add(stockMember); + } + } + else + { + var sm = context.Stocks.Add(stockMember); + } context.SaveChanges(); } } @@ -111,7 +139,7 @@ namespace StockDAL join stk in context.Stocks on prs.StockId equals stk.Id join grp in context.StockGroups on stk.StockId equals grp.StockName where prs.PersonId == persId - orderby grp.GroupName, grp.StockName + orderby grp.GroupName, grp.StockName select new StockGrpPers { PersId = persId, diff --git a/StockInfoCore/Stocks.db-shm b/StockInfoCore/Stocks.db-shm new file mode 100644 index 0000000000000000000000000000000000000000..fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10 GIT binary patch literal 32768 zcmeIuAr62r30) - GlobalStopwatch.Restart(); - else GlobalStopwatch.Start(); + //if(!GlobalStopwatch.IsRunning && GlobalStopwatch.EllapsedMillis>0) + // GlobalStopwatch.Restart(); + //else GlobalStopwatch.Start(); if (SelectedPersonId == 0) { @@ -159,8 +161,8 @@ namespace StockInfoCore _stockWindow.Stocks = _stockMarketRepository.StockMarketList; Cursor.Current = DefaultCursor; - GlobalStopwatch.Stop(); - GlobalStopwatch.PrintSecs("Before Show Stockwindow"); + //GlobalStopwatch.Stop(); + //GlobalStopwatch.PrintSecs("Before Show Stockwindow"); _stockWindow.ShowDialog(); } } @@ -272,7 +274,7 @@ namespace StockInfoCore private void btnBackupAll_Click(object sender, EventArgs e) { - // backupWindow = new frmBackup(_backupRepository, _backupRoutines); + // backupWindow = new frmBackup(_backupRepository, _backupRoutines); _backupWindow.ShowDialog(); } @@ -282,7 +284,11 @@ namespace StockInfoCore { //MessageBox.Show($"{((DataGridView)sender).SelectedRows.ToString()} eventargs = {e.ToString()}" ); int id = Convert.ToInt32(dataGridView.Rows[dataGridView.CurrentRow.Index].Cells[0].Value); - MessageBox.Show($"Vald rads id = {id}"); + if (DialogResult.OK == MessageBox.Show($"Vald rads id = {id}{Environment.NewLine}Ändra ?", "Fråga", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)) + { + _editStock.CurrentStockMember = id; + _editStock.ShowDialog(); + }; } } } diff --git a/StockInfoCore/frmMyStocks.cs b/StockInfoCore/frmMyStocks.cs index 39522fe..5f18db7 100644 --- a/StockInfoCore/frmMyStocks.cs +++ b/StockInfoCore/frmMyStocks.cs @@ -73,7 +73,7 @@ namespace StockInfoCore } lblOwnerName.Text = $"* {ConnectedPerson.FirstName} {ConnectedPerson.LastName} *"; - GlobalStopwatch.PrintSecs("In reload (New window)"); + //GlobalStopwatch.PrintSecs("In reload (New window)"); txtBuyTotal.Text = BoughtSum.ToString(); txtBuyTotal.Refresh(); diff --git a/StockInfoCore/frmPersonShareConnect.cs b/StockInfoCore/frmPersonShareConnect.cs index 58bd735..9153c9e 100644 --- a/StockInfoCore/frmPersonShareConnect.cs +++ b/StockInfoCore/frmPersonShareConnect.cs @@ -62,6 +62,7 @@ namespace StockInfoCore PersonStock ps = new PersonStock(); ps.PersonId = ConnectPerson.Id; ps.StockId = int.Parse(lstShares.SelectedValue.ToString()); + ps.Comment = String.Empty; _stockPersonConnect.SavePersonStockConnection(ps); RefreshShareList(); RefreshConnectedList();