public void CanGetBuyOrSellFromTraderGeneralPricesList() { ClearReatedTables(); TraderPrices tp = new TraderPrices() { TraderID = 1, BuyPrice = 100M, SellPrice = 200M, priceDate = DateTime.Now }; Uow.TradePricesRepo.Add(tp); Basket basket = AddTestBasket(); BasketPrices aPrice = AddPriceToTraderBasket(basket.ID, 1400.0M, 7000.0M, DateTime.Now.AddDays(-1), false); BasketPrices bPrice = AddPriceToTraderBasket(basket.ID, 1500.0M, 8000.0M, DateTime.Now.AddDays(-1), false); Uow.BasketPricesRepo.Add(aPrice); Uow.BasketPricesRepo.Add(bPrice); Uow.SaveChanges(); var state = Uow.BasketPricesRepo.CheckPrices("", "", aPrice); Assert.AreEqual(0, state); }
public void CanGetBasketSellPrice() { ClearReatedTables(); Basket b = AddTestBasket(); TraderPrices tp = new TraderPrices() { TraderID = 1, BuyPrice = 100M, SellPrice = 200M, priceDate = DateTime.Now }; _uow.TradePricesRepo.Add(tp); BasketPrices aPrice = AddPriceToTraderBasket(b.ID, 1400.0M, 7000.0M, DateTime.Now.AddDays(-1), false); BasketPrices bPrice = AddPriceToTraderBasket(b.ID, 1500.0M, 8000.0M, DateTime.Now, true); _uow.BasketPricesRepo.Add(aPrice); _uow.BasketPricesRepo.Add(bPrice); _uow.SaveChanges(); var lastValue = _uow.BasketPricesRepo.GetLastBuySellPriceToday(b.ID, "s"); Assert.AreEqual(8000.0M, lastValue); }
public void CanAddTraderBasketPrice() { ClearReatedTables(); Basket b = AddTestBasket(); BasketPrices openingBasketBalance = AddPriceToTraderBasket(b.ID, 12.9M, 12.8M, DateTime.Now, true); Uow.BasketPricesRepo.Add(openingBasketBalance); Uow.SaveChanges(); Assert.AreEqual(1, Uow.BasketPricesRepo.GetAll().Count); }
private BasketPrices AddBasketPrice(int basket, decimal buyPrice, decimal sellPrice) { BasketPrices bp = new BasketPrices() { BasketID = basket, BuyPrice = buyPrice, SellPrice = sellPrice, IsCurrent = true, PriceDate = DateTime.Now }; return(bp); }
public void CanGetCurrentBasketPricesByTraderId() { ClearReatedTables(); Basket b = AddTestBasket(); BasketPrices aPrice = AddPriceToTraderBasket(b.ID, 1234.0M, 321.5M, DateTime.Now, true); Uow.BasketPricesRepo.Add(aPrice); Uow.SaveChanges(); BasketPrices basketPrice = Uow.BasketPricesRepo.FindByBasketId(b.ID); Assert.AreEqual(1234.0M, basketPrice.BuyPrice.Value); }
private BasketPrices AddPriceToTraderBasket(int traderBasketId, decimal buyPrice, decimal sellPrice, DateTime date, bool isCurrent) { BasketPrices bp = new BasketPrices() { BasketID = traderBasketId, BuyPrice = buyPrice, SellPrice = sellPrice, PriceDate = date, IsCurrent = isCurrent }; return(bp); }
public void CanSearchTraderPricesByDate() { ClearReatedTables(); Basket b = AddTestBasket(); BasketPrices yesterdayPrice = AddPriceToTraderBasket(b.ID, 1234.0M, 5345.8M, DateTime.Now.AddDays(-1), true); BasketPrices todayPrice = AddPriceToTraderBasket(b.ID, 1234.9M, 5345.8M, DateTime.Now, true); Uow.BasketPricesRepo.Add(yesterdayPrice); Uow.BasketPricesRepo.Add(todayPrice); Uow.SaveChanges(); Assert.AreEqual(1234.9M, Uow.BasketPricesRepo.SearchByDate(b.ID, DateTime.Now)[0].BuyPrice); }
public void CanGetAllTodayTraderPrices() { ClearReatedTables(); Basket b = AddTestBasket(); BasketPrices yesterdayPrice = AddPriceToTraderBasket(b.ID, 1234.0M, 5345.8M, DateTime.Now.AddDays(-1), true); BasketPrices todayPrice = AddPriceToTraderBasket(b.ID, 1234.9M, 5345.8M, DateTime.Now, true); Uow.BasketPricesRepo.Add(yesterdayPrice); Uow.BasketPricesRepo.Add(todayPrice); Uow.SaveChanges(); Assert.AreEqual(1234.9M, Uow.BasketPricesRepo.FindByBasketId(b.ID).BuyPrice); }
public void CanGetCurrentBasketPrices() { ClearReatedTables(); Basket b = AddTestBasket(); BasketPrices openingBalance = AddPriceToTraderBasket(b.ID, 12.9M, 12.8M, DateTime.Now, false); BasketPrices antoherPrice = AddPriceToTraderBasket(b.ID, 1234.9M, 5345.8M, DateTime.Now, true); Uow.BasketPricesRepo.Add(openingBalance); Uow.BasketPricesRepo.Add(antoherPrice); Uow.SaveChanges(); Assert.AreEqual(1234.9M, Uow.BasketPricesRepo.FindByBasketId(b.ID).BuyPrice); }
public void CanGetNewBasketPricesByTraderId() { ClearReatedTables(); Basket b = AddTestBasket(); BasketPrices aPrice = AddPriceToTraderBasket(b.ID, 1400.0M, 7000.0M, DateTime.Now, false); BasketPrices bPrice = AddPriceToTraderBasket(b.ID, 1200.0M, 3000.0M, DateTime.Now, true); Uow.BasketPricesRepo.Add(aPrice); Uow.BasketPricesRepo.Add(bPrice); Uow.SaveChanges(); BasketPrices basketPrice = Uow.BasketPricesRepo.FindByBasketId(b.ID); Assert.AreEqual(1200.0M, basketPrice.BuyPrice); }
public void CanFindAllTodayBasketPrices() { ClearReatedTables(); Basket b = AddTestBasket(); BasketPrices aPrice = AddPriceToTraderBasket(b.ID, 1400.0M, 7000.0M, DateTime.Now, false); BasketPrices bPrice = AddPriceToTraderBasket(b.ID, 1500.0M, 8000.0M, DateTime.Now, false); BasketPrices cPrice = AddPriceToTraderBasket(b.ID, 1600.0M, 9000.0M, DateTime.Now, true); Uow.BasketPricesRepo.Add(aPrice); Uow.BasketPricesRepo.Add(bPrice); Uow.BasketPricesRepo.Add(cPrice); Uow.SaveChanges(); List <BasketPrices> list = Uow.BasketPricesRepo.FindAllTodayBasketPrices(b.ID); Assert.AreEqual(3, list.Count); }
public void CanGetBasketMaxSellPriceUser() { ClearReatedTables(); Basket b = AddTestBasket(); BasketPrices aPrice = AddPriceToTraderBasket(b.ID, 1400.0M, 7000.0M, DateTime.Now, false); BasketPrices bPrice = AddPriceToTraderBasket(b.ID, 1500.0M, 8000.0M, DateTime.Now, false); BasketPrices cPrice = AddPriceToTraderBasket(b.ID, 1600.0M, 9000.0M, DateTime.Now, true); Uow.BasketPricesRepo.Add(aPrice); Uow.BasketPricesRepo.Add(bPrice); Uow.BasketPricesRepo.Add(cPrice); Uow.SaveChanges(); decimal maxSell = Uow.BasketPricesRepo.GetBasketMaxSellPrice(b.ID, DateTime.Now, 3); Assert.AreEqual(7000.0M, maxSell); }
private void AddBasketPrices() { DeleteAllBaskets(); var basket = AddBasket(1, "BasketOne"); uow.BasketRepo.Add(basket); uow.SaveChanges(); BasketPrices bp = AddBasketPrice(basket.ID, 12.01M, 12.02M); BasketPrices bp5 = AddBasketPrice(basket.ID, 55.01M, 55.02M); uow.BasketPricesRepo.Add(bp); bp.IsCurrent = false; uow.BasketPricesRepo.Add(bp5); uow.SaveChanges(); }
public void CanReportNullSellFromTraderBasketPrices() { ClearReatedTables(); Uow.TradePricesRepo.DeleteAll(); Basket basket = AddTestBasket(); BasketPrices aPrice = AddPriceToTraderBasket(basket.ID, 1400.0M, 7000.0M, DateTime.Now.AddDays(-1), false); BasketPrices bPrice = AddPriceToTraderBasket(basket.ID, 1500.0M, 8000.0M, DateTime.Now.AddDays(-1), false); Uow.BasketPricesRepo.Add(aPrice); Uow.BasketPricesRepo.Add(bPrice); Uow.SaveChanges(); var state = Uow.BasketPricesRepo.CheckPrices("999", "", aPrice); Assert.AreEqual(3, state); }
public int CheckPrices(string buyPrice, string sellPrice, BasketPrices objTPrice) { int state = 0; if (buyPrice == "") { var buy = GetLastBuySellPriceToday(objTPrice.BasketID, "b"); objTPrice.BuyPrice = buy; state = buy == 0M ? 2 : 0; } if (sellPrice == "") { var sell = GetLastBuySellPriceToday(objTPrice.BasketID, "s"); objTPrice.SellPrice = sell; state = sell == 0M ? 3 : 0; } return(state); }
public void CangetSellFromBasketBeforeLookingInGeneralTraderPricesList() { ClearReatedTables(); Uow.TradePricesRepo.DeleteAll(); Basket basket = AddTestBasket(); BasketPrices aPrice = AddPriceToTraderBasket(basket.ID, 1400.0M, 7000.0M, DateTime.Now.AddDays(-1), false); BasketPrices bPrice = AddPriceToTraderBasket(basket.ID, 1500.0M, 8000.0M, DateTime.Now.AddDays(-1), false); BasketPrices cPrice = AddPriceToTraderBasket(basket.ID, 1700.0M, 9000.0M, DateTime.Now, true); Uow.BasketPricesRepo.Add(aPrice); Uow.BasketPricesRepo.Add(bPrice); Uow.BasketPricesRepo.Add(cPrice); Uow.SaveChanges(); var state = Uow.BasketPricesRepo.CheckPrices("999", "", aPrice); Assert.AreEqual(9000.0M, aPrice.SellPrice); }
public void CanSetCurrentFlag() { ClearReatedTables(); Basket basket = AddTestBasket(); BasketPrices aPrice = AddPriceToTraderBasket(basket.ID, 1400.0M, 7000.0M, DateTime.Now, false); BasketPrices bPrice = AddPriceToTraderBasket(basket.ID, 1500.0M, 8000.0M, DateTime.Now, true); BasketPrices cPrice = AddPriceToTraderBasket(basket.ID, 1700.0M, 9000.0M, DateTime.Now, true); Uow.BasketPricesRepo.Add(aPrice); Uow.BasketPricesRepo.Add(bPrice); Uow.BasketPricesRepo.Add(cPrice); Uow.SaveChanges(); Uow.BasketPricesRepo.SetCurrentFlag(basket.ID, cPrice.ID); DateTime today = DateTime.Now.Date; List <BasketPrices> list = Uow.BasketPricesRepo.GetAll().Where(x => x.BasketID == basket.ID && x.PriceDate > today && x.IsCurrent).ToList(); Assert.AreEqual(1, list.Count); }
public ActionResult Create(string sellPrice, string buyPrice) { if (Session["BasketID"] == null) { return(RedirectToAction("Index", "Home")); } //if (Session["traderID"] == null) // return RedirectToAction("Index", "Home"); int traderId = GetLoggedTraderOrUser();//Convert.ToInt32(Session["traderID"].ToString()); Trader objTrader = _uow.TraderRepo.FindTraderById(traderId); int basketId = Convert.ToInt32(Session["BasketID"].ToString()); if (sellPrice == "0.00" || buyPrice == "0.00") { return(new HttpStatusCodeResult(1, Messages.ZeroPrice)); } BasketPrices basketPrice = new BasketPrices() { BasketID = basketId, PriceDate = DateTime.Now, IsCurrent = true }; if (string.IsNullOrEmpty(sellPrice) || string.IsNullOrEmpty(buyPrice)) { int objState = _uow.BasketPricesRepo.CheckPrices(buyPrice, sellPrice, basketPrice); if (sellPrice == "" && buyPrice == "") { if (objState > 0) { return(new HttpStatusCodeResult(3, Messages.NoPriceBefore)); } return(new HttpStatusCodeResult(2, Messages.nullablePrices)); } if (objState == 2 || objState == 3) { return(new HttpStatusCodeResult(3, Messages.NoPriceBefore)); } else { basketPrice.BuyPrice = buyPrice == "" ? _uow.BasketPricesRepo.GetLastBuySellPriceToday(basketPrice.BasketID, "b") : Convert.ToDecimal(buyPrice); basketPrice.SellPrice = sellPrice == "" ? _uow.BasketPricesRepo.GetLastBuySellPriceToday(basketPrice.BasketID, "s") : Convert.ToDecimal(sellPrice); } } else { basketPrice.BuyPrice = Convert.ToDecimal(buyPrice); basketPrice.SellPrice = Convert.ToDecimal(sellPrice); } if (ModelState.IsValid) { _uow.BasketPricesRepo.Add(basketPrice); _uow.BasketPricesRepo.SetCurrentFlag(basketPrice.BasketID, basketPrice.ID); _uow.SaveChanges(); decimal minBuy = _uow.BasketPricesRepo.GetBasketMinBuyPrice(basketId, DateTime.Now, objTrader.TypeFlag); decimal maxSell = _uow.BasketPricesRepo.GetBasketMaxSellPrice(basketId, DateTime.Now, objTrader.TypeFlag); IHubContext context = GlobalHost.ConnectionManager.GetHubContext <PricesHub>(); context.Clients.All.updatePrices(); return(Json(new { traderprice = basketPrice, maxSell, minBuy }, JsonRequestBehavior.AllowGet)); } else { return(new HttpStatusCodeResult(404, Messages.UpdateFailed)); } }