Ejemplo n.º 1
0
        public void GetStockEntryByIDTest()
        {
            //-- Arrange
            SQLStockRepository repository = new SQLStockRepository();
            StockEntry         actual     = new StockEntry();
            StockEntry         expected   = new StockEntry()
            {
                ID       = uint.Parse(500.ToString()),
                Exchange = "NYSE",
                Symbol   = "AEA",
                Date     = DateTime.Parse("2008-02-14"),
                Volume   = uint.Parse(892800.ToString())
            };

            expected.PriceOpen.Amount          = 8.00m;
            expected.PriceClose.Amount         = 7.75m;
            expected.PriceHigh.Amount          = 8.06m;
            expected.PriceLow.Amount           = 7.51m;
            expected.PriceCloseAdjusted.Amount = 6.33m;

            //-- Act
            actual = repository.GetStockEntry(500);

            //-- Assert
            Assert.AreEqual(expected.ID, actual.ID);
            Assert.AreEqual(expected.Exchange, actual.Exchange);
            Assert.AreEqual(expected.Symbol, actual.Symbol);
            Assert.AreEqual(expected.Date, actual.Date);
            Assert.AreEqual(expected.PriceOpen.Amount, actual.PriceOpen.Amount);
            Assert.AreEqual(expected.PriceClose.Amount, actual.PriceClose.Amount);
            Assert.AreEqual(expected.PriceCloseAdjusted.Amount, actual.PriceCloseAdjusted.Amount);
            Assert.AreEqual(expected.PriceHigh.Amount, actual.PriceHigh.Amount);
            Assert.AreEqual(expected.PriceLow.Amount, actual.PriceLow.Amount);
            Assert.AreEqual(expected.Volume, actual.Volume);
        }
Ejemplo n.º 2
0
        /// <summary>Retrieves the stock entries from the server</summary>
        private void GetStockEntries()
        {
            try
            {
                LoggingService.Log("Getting Stock Entries", "Log.txt");

                Mouse.OverrideCursor = Cursors.Wait;
                FilterBound.Validate();
                FilterError.Text       = "";
                FilterError.Visibility = Visibility.Collapsed;

                SQLStockRepository stockRepo = new SQLStockRepository();
                StockEntriesBound = null;
                StockEntriesBound = new TrulyObservableCollection <StockEntry>(stockRepo.GetStockEntries(FilterBound));
                StockEntriesDataGrid.ItemsSource       = StockEntriesBound;
                StockEntriesBound.ItemPropertyChanged += StockEntriesBound_ItemPropertyChanged;
                StockEntriesBound.CollectionChanged   += StockEntriesBound_CollectionChanged;

                Messages.Items.Insert(0, "Retrieved " + StockEntriesBound.Count.ToString() + " entries");
            }
            catch (Exception ex)
            {
                Messages.Items.Insert(0, ex.Message);
                LoggingService.Log(ex, "Log.txt");
            }
            Mouse.OverrideCursor = Cursors.Arrow;
        }
Ejemplo n.º 3
0
        public void DeleteStockEntryTest()
        {
            SQLStockRepository stockRepo = new SQLStockRepository();

            string actual = stockRepo.DeleteStock(102674);

            Assert.AreEqual(1, actual);
        }
Ejemplo n.º 4
0
        /// <summary>Updates a stock entry</summary>
        public string UpdateStockEntry(StockEntry stock)
        {
            string             serverResponse;
            SQLStockRepository stockRepo = new SQLStockRepository();

            serverResponse = stockRepo.UpdateStockEntry(stock);

            return(serverResponse);
        }
Ejemplo n.º 5
0
        /// <summary>Gets a stock entry</summary>
        public StockEntry GetStockEntry(uint id)
        {
            StockEntry         serverResponse = new StockEntry();
            SQLStockRepository stockRepo      = new SQLStockRepository();

            serverResponse = stockRepo.GetStockEntry(id);

            return(serverResponse);
        }
Ejemplo n.º 6
0
        /// <summary>Deletes a stock entry</summary>
        public string DeleteStock(uint id)
        {
            string             serverResponse;
            SQLStockRepository stockRepo = new SQLStockRepository();

            serverResponse = stockRepo.DeleteStock(id);

            return(serverResponse);
        }
Ejemplo n.º 7
0
 public async Task FullTest()
 {
     var loggerUpdateStocks = new LoggerFactory().CreateLogger <UpdateStocks>();
     var loggerStocks       = new LoggerFactory().CreateLogger <SQLStockRepository>();
     var loggerProducts     = new LoggerFactory().CreateLogger <SQLProductRepository>();
     var loggerDates        = new LoggerFactory().CreateLogger <SQLDatedPriceRepository>();
     var dbOptions          = new DbContextOptionsBuilder <AppDbContext>().UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=stockDb;Trusted_Connection=True;MultipleActiveResultSets=true").Options;
     var context            = new AppDbContext(dbOptions);
     IRepository <Stock>      repositoryStock   = new SQLStockRepository(context, loggerStocks);
     IRepository <Product>    repositoryProduct = new SQLProductRepository(context, loggerProducts);
     IRepository <DatedPrice> repositoryDate    = new SQLDatedPriceRepository(context, loggerDates);
     var x = new UpdateStocks(loggerUpdateStocks, repositoryStock, repositoryProduct, repositoryDate);
     await x.Update();
 }
Ejemplo n.º 8
0
        public void CSVAddStockEntriesTest()
        {
            CSVStockRepository  stockRepo    = new CSVStockRepository();
            List <StockEntry>   stockEntries = new List <StockEntry>();
            SQLStockRepository  sqlStockRepo = new SQLStockRepository();
            SQLFilterRepository filterRepo   = new SQLFilterRepository();
            Filter filter = new Filter();
            string actualResponse;
            string expectedResponse = "Stock entries saved";

            filter       = filterRepo.GetMinMaxValues();
            stockEntries = sqlStockRepo.GetStockEntries(filter) as List <StockEntry>;

            actualResponse = stockRepo.AddStockEntries(stockEntries);

            Assert.AreEqual(expectedResponse, actualResponse);
        }
Ejemplo n.º 9
0
        public void GetStockEntriesByFilterTest()
        {
            //-- Arrange
            SQLStockRepository stockRepo = new SQLStockRepository();
            List <StockEntry>  actual;

            SQLFilterRepository filterRepo = new SQLFilterRepository();
            Filter filter = new Filter();

            int expected = 102580;

            //-- Act
            filter = filterRepo.GetMinMaxValues();
            actual = stockRepo.GetStockEntries(filter) as List <StockEntry>;

            //-- Assert
            Assert.AreEqual(expected, actual.Count);
        }
Ejemplo n.º 10
0
        public void UpdateStockEntryTest()
        {
            SQLStockRepository stockRepo   = new SQLStockRepository();
            StockEntry         stockUpdate = new StockEntry();

            stockUpdate.ID                        = 1;
            stockUpdate.Exchange                  = "NYSE";
            stockUpdate.Symbol                    = "AEA";
            stockUpdate.Date                      = DateTime.Parse("13/1/2010");
            stockUpdate.Volume                    = 205500;
            stockUpdate.PriceOpen.Amount          = 4.42m;
            stockUpdate.PriceClose.Amount         = 4.42m;
            stockUpdate.PriceCloseAdjusted.Amount = 4.42m;
            stockUpdate.PriceHigh.Amount          = 4.42m;
            stockUpdate.PriceLow.Amount           = 4.42m;

            string actual = stockRepo.UpdateStockEntry(stockUpdate);

            Assert.AreEqual(1, actual);
        }
Ejemplo n.º 11
0
        /// <summary>Occurs when an item is added or removed from the StockEntriesBound collection</summary>
        private void StockEntriesBound_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            try
            {
                LoggingService.Log("Collection changed", "Log.txt");

                StockEntry         stockChanged   = new StockEntry();
                SQLStockRepository stockRepo      = new SQLStockRepository();
                string             serverResponse = "";

                if (e.OldItems != null)
                {
                    stockChanged   = e.OldItems[0] as StockEntry;
                    serverResponse = stockRepo.DeleteStock(stockChanged.ID);
                }

                if (e.NewItems != null)
                {
                    stockChanged = e.NewItems[0] as StockEntry;

                    serverResponse = stockRepo.AddStockEntry(stockChanged);
                    uint stockID;

                    if (uint.TryParse(serverResponse, out stockID))
                    {
                        stockChanged.ID = stockID;
                        serverResponse  = "Stock entry inserted with ID of " + stockID;
                    }
                }

                if (serverResponse != "")
                {
                    Messages.Items.Insert(0, serverResponse);
                }
            }
            catch (Exception ex)
            {
                Messages.Items.Insert(0, ex.Message);
                LoggingService.Log(ex, "Log.txt");
            }
        }
Ejemplo n.º 12
0
        /// <summary>Occurs when a value in the StockEntriesBound collection is changed</summary>
        private void StockEntriesBound_ItemPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            try
            {
                LoggingService.Log("Collection property changed", "Log.txt");

                StockEntry         stockChanged = new StockEntry();
                SQLStockRepository stockRepo    = new SQLStockRepository();
                string             serverResponse;
                uint stockID;

                stockChanged = sender as StockEntry;


                if (stockChanged.ID == 0)
                {
                    //Insert stock
                    serverResponse = stockRepo.AddStockEntry(stockChanged);

                    if (uint.TryParse(serverResponse, out stockID))
                    {
                        stockChanged.ID = stockID;
                        serverResponse  = "Stock entry inserted with ID of " + stockID;
                    }
                }
                else
                {
                    //Update stock
                    serverResponse = stockRepo.UpdateStockEntry(stockChanged);
                }

                Messages.Items.Insert(0, serverResponse);
            }
            catch (Exception ex)
            {
                Messages.Items.Insert(0, ex.Message);
                LoggingService.Log(ex, "Log.txt");
            }
        }
Ejemplo n.º 13
0
        public void AddNewStockEntryTest()
        {
            SQLStockRepository stockRepo = new SQLStockRepository();
            string             expected  = "102674";

            StockEntry insertStock = new StockEntry()
            {
                ID       = uint.Parse(0.ToString()),
                Exchange = "NYSE",
                Symbol   = "AEA",
                Date     = DateTime.Parse("12/10/2017"),
                Volume   = uint.Parse(892800.ToString())
            };

            insertStock.PriceOpen.Amount          = 8.00m;
            insertStock.PriceClose.Amount         = 7.75m;
            insertStock.PriceHigh.Amount          = 8.06m;
            insertStock.PriceLow.Amount           = 7.51m;
            insertStock.PriceCloseAdjusted.Amount = 6.33m;

            string actual = stockRepo.AddStockEntry(insertStock);

            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 14
0
        /// <summary>Gets a list of stock entries</summary>
        public IEnumerable <StockEntry> GetStockEntries(Filter filter)
        {
            SQLStockRepository stockRepo = new SQLStockRepository();

            return(stockRepo.GetStockEntries(filter));
        }