// PUT: api/Security/5 public void Put(BrokerSecurity brData) { IBroker <BrokerSecurity> b = new Broker <BrokerSecurity>(context); b.Edit(brData); context.SaveChanges(); }
public decimal GetTradePrice(ExternalBlock b) { Random r = new Random(); decimal finalTradePrice; BrokerSecurity bs = new BrokerSecurity(); var x = (from n in context.BrokerSecurities where n.securitySymbol.Equals(b.symbol) select n).FirstOrDefault(); if (b.side == "Buy") { if (b.price == -1) //market price buy side { //market price int randomSpread = r.Next(0, x.maxSpread); int randomSign = r.Next(0, 1); // = r.NextDouble((bs.tradePrice * (1 - (randomSpread / 100) )), (bs.tradePrice * (randomSpread / 100 + 1))); if (randomSign == 0) { finalTradePrice = bs.tradePrice * (1 - randomSpread / 100); } else { finalTradePrice = bs.tradePrice * (randomSpread / 100 + 1); } } else //limit price buy side { //limit price finalTradePrice = bs.tradePrice * (1 - (r.Next(0, x.maxSpread) / 100)); } } else //sell side { if (b.price == -1) //market price { //sell side with limit price finalTradePrice = bs.tradePrice * (1 + (r.Next(0, x.maxSpread) / 100)); } else { //sell side with market price //no change to trade price required finalTradePrice = bs.tradePrice; } } return(finalTradePrice); }
// POST: api/Security public void Post(BrokerSecurity brData) { IBroker <BrokerSecurity> b = new Broker <BrokerSecurity>(context); b.Add(brData); }