예제 #1
0
        public async Task UpdateAsync()
        {
            var dataAccess = new StockDataAccess(this.Context, Mapper());

            //Act
            var sutCreate    = new CreateStockCommandHandler(dataAccess);
            var resultCreate = await sutCreate.Handle(new CreateStockCommand
            {
                Data = StockTestData.StockDTO
            }, CancellationToken.None);

            //Act
            var sutUpdate    = new UpdateStockCommandHandler(dataAccess);
            var resultUpdate = await sutUpdate.Handle(new UpdateStockCommand
            {
                Data = new StockDTO
                {
                    Id       = resultCreate.Data.Id,
                    Quantity = 50
                }
            }, CancellationToken.None);

            //Assert
            Assert.IsTrue(resultUpdate.Succeeded);
        }
        //public List <issueBill> fillBillObject(String catType,String itmType, String srchValue,int quantity)
        //{
        //    List<issueBill> issueBillLst = new List<issueBill>();
        //    if (catType.Equals("Product") && itmType.Equals("Code"))
        //    {
        //        Console.WriteLine("inside get prod by Code");
        //        issueBill tmpIssueBill = new issueBill();
        //        IssueBillDataAccess ibda1 = new IssueBillDataAccess();
        //        tmpIssueBill = ibda1.getProdByCode(srchValue);
        //        tmpIssueBill.Quantity = quantity;
        //        tmpIssueBill.Total = tmpIssueBill.Price * quantity;
        //        issueBillLst.Add(tmpIssueBill);
        //    }
        //    else if (catType.Equals("Product") && itmType.Equals("Name"))
        //    {
        //        Console.WriteLine("inside get prod by name");
        //       issueBillLst = new IssueBillDataAccess().getProdByName(srchValue);
        //    }
        //    else if (catType.Equals("Service") && itmType.Equals("Code"))
        //    {
        //        Console.WriteLine("inside get srvc by code");
        //        issueBill tmpIssueBill = new issueBill();
        //        IssueBillDataAccess ibda1 = new IssueBillDataAccess();
        //        tmpIssueBill = ibda1.getSrvcByCode(srchValue);
        //        tmpIssueBill.Total = tmpIssueBill.Price;
        //        issueBillLst.Add(tmpIssueBill);
        //    }
        //    else if (catType.Equals("Service") && itmType.Equals("Name"))
        //    {
        //        Console.WriteLine("inside get Service by name");
        //        issueBillLst = new IssueBillDataAccess().getSrvcByName(srchValue);
        //    }
        //    else if (catType.Equals("Custom Bill"))
        //    {
        //        Console.WriteLine("inside get CustomBill by name");
        //        issueBillLst = new IssueBillDataAccess().getCustPackByName(srchValue);
        //    }
        //    return issueBillLst;
        //}

        //public Boolean billItem(String customer_name, String customer_tel, String username, DateTime bill_date, decimal bill_total,List<issueBill> billProducts)
        //{
        //    BillingDataAccess bda1 = new BillingDataAccess();
        //    int billID=bda1.insertBill(customer_name, customer_tel, username, bill_date, bill_total);
        //    Console.WriteLine("Bill ID is: " + billID);
        //    if (!billID.Equals(0))
        //    {
        //        foreach (issueBill tmpBill in billProducts)
        //        {
        //            if (tmpBill.Category.Equals("Product"))
        //            {
        //                BillingDataAccess bda2 = new BillingDataAccess();
        //                bda2.insertProdSrvItem(tmpBill,billID);
        //            }
        //            else if (tmpBill.Category.Equals("Service"))
        //            {
        //                BillingDataAccess bda2 = new BillingDataAccess();
        //                bda2.insertSrvcSrvItem(tmpBill, billID);
        //            }
        //            else if (tmpBill.Category.Equals("CstmPack"))
        //            {
        //                BillingDataAccess bda2 = new BillingDataAccess();
        //                bda2.insertCstmPckSrvItem(tmpBill, billID);
        //            }
        //        }
        //    }

        //    return true;
        //}

        public List <stock> getCurrentStockData()
        {
            //Console.WriteLine("inside current stockdata");
            List <stock> sdb1 = new StockDataAccess().getAllStocks();

            //Console.WriteLine("Databind size is: " + sdb1.Count);
            return(sdb1);
        }
예제 #3
0
        public async Task SaveAsync()
        {
            var handler = new StockDataAccess(this.Context, Mapper());
            var stock   = StockTestData.StockDTO;
            var result  = await handler.SaveAsync(stock);

            var outcome = result.Id != 0;

            Assert.IsTrue(outcome);
        }
예제 #4
0
        public async Task GetAsync()
        {
            var handler = new StockDataAccess(this.Context);
            var stock   = StockTestData.Stock;
            await handler.SaveAsync(stock);

            var response = await handler.GetAsync(stock.Id);

            Assert.IsTrue(response != null);
        }
예제 #5
0
        public async Task DeleteAsync()
        {
            var handler = new StockDataAccess(this.Context, Mapper());
            var stock   = StockTestData.StockDTO;
            await handler.SaveAsync(stock);

            var response = await handler.DeleteAsync(stock.Id);

            Assert.IsTrue(response);
        }
예제 #6
0
        public async Task GetAllAsync()
        {
            var handler = new StockDataAccess(this.Context, Mapper());
            var stock   = StockTestData.StockDTO;
            await handler.SaveAsync(stock);

            var response = await handler.GetAllAsync(new StockDTO());

            var outcome = response.Count;

            Assert.IsTrue(outcome == 1);
        }
        public void Setup()
        {
            var clientFactory   = new AlphaVantageStocksClientFactory(new ApiKeyProvider());
            var client          = new AlphaClientWrapper(clientFactory);
            var mongoWrapper    = new MongoClientWrapper(new ConnectionStringProvider());
            var stockDataAccess = new StockDataAccess(mongoWrapper);

            //var iexClient = new IEXClient();

            _portfolioDataAccess = new PortfolioDataAccess(mongoWrapper);
            _alphaClient         = new AlphaClientLogic(client, stockDataAccess);
            _rebalanceLogic      = new RebalanceLogic();
        }
예제 #8
0
        public async Task SaveAsync()
        {
            var dataAccess = new StockDataAccess(this.Context);

            //Act
            var sutCreate    = new CreateStockCommandHandler(dataAccess);
            var resultCreate = await sutCreate.Handle(new CreateStockCommand
            {
                Data = StockTestData.StockDataDTO
            }, CancellationToken.None);

            Assert.IsTrue(resultCreate.Succeeded);
        }
예제 #9
0
        public async Task UpdateAsync()
        {
            var handler       = new StockDataAccess(this.Context, Mapper());
            var stock         = StockTestData.StockDTO;
            var originalStock = stock;
            await handler.SaveAsync(stock);

            stock.Name = new Faker().Commerce.Product();
            var response = await handler.UpdateAsync(stock);

            var outcome = response.Name.Equals(originalStock.Name);

            Assert.IsTrue(outcome);
        }
예제 #10
0
        public async Task GetAllAsync()
        {
            var dataAccess = new StockDataAccess(this.Context, Mapper());

            //Act
            var sutCreate    = new CreateStockCommandHandler(dataAccess);
            var resultCreate = await sutCreate.Handle(new CreateStockCommand
            {
                Data = StockTestData.StockDTO
            }, CancellationToken.None);

            //Act
            var sutGetAll    = new GetStocksQueryHandler(dataAccess);
            var resultGetAll = await sutGetAll.Handle(new GetStocksQuery(), CancellationToken.None);

            Assert.IsTrue(resultGetAll?.Data.Count == 1);
        }
예제 #11
0
        public async Task GetAsync()
        {
            var dataAccess = new StockDataAccess(this.Context, Mapper());

            //Act
            var sutCreate    = new CreateStockCommandHandler(dataAccess);
            var resultCreate = await sutCreate.Handle(new CreateStockCommand
            {
                Data = StockTestData.StockDTO
            }, CancellationToken.None);

            //Act
            var sutGet    = new GetStockQueryHandler(dataAccess);
            var resultGet = await sutGet.Handle(new GetStockQuery
            {
                Id = resultCreate.Data.Id
            }, CancellationToken.None);

            Assert.IsTrue(resultGet?.Data != null);
        }
예제 #12
0
        public async Task DeleteAsync()
        {
            var dataAccess = new StockDataAccess(this.Context, Mapper());
            //Act
            var sutCreate    = new CreateStockCommandHandler(dataAccess);
            var resultCreate = await sutCreate.Handle(new CreateStockCommand
            {
                Data = StockTestData.StockDTO
            }, CancellationToken.None);


            //Act
            var sutDelete     = new DeleteStockCommandHandler(dataAccess);
            var outcomeDelete = await sutDelete.Handle(new DeleteStockCommand
            {
                Id = resultCreate.Data.Id
            }, CancellationToken.None);

            //Assert
            Assert.IsTrue(outcomeDelete.Succeeded);
        }
예제 #13
0
 public async static Task InsertStock(Stock stock)
 {
     await StockDataAccess.InsertData(stock);
 }
예제 #14
0
 public async static Task DeleteStock(string id)
 {
     await StockDataAccess.DeleteData(id);
 }
예제 #15
0
        public static async Task <Stock> GetStock(string id)
        {
            var stock = await StockDataAccess.GetStockById(id);

            return(stock);
        }
예제 #16
0
        public static Task <List <Stock> > GetAllStocks()
        {
            var stocks = StockDataAccess.GetAllStocks();

            return(stocks);
        }
예제 #17
0
 public async static Task UpdateStock(Stock stock)
 {
     await StockDataAccess.UpdateData(stock);
 }