private static SellOrder[] EntitiesToLogicUnit(SellOrders[] sellOrders) { var sellOrdersList = new List <SellOrder>(); if (sellOrders != null) { foreach (var order in sellOrders) { var sellOrder = new SellOrder(order); sellOrdersList.Add(sellOrder); } } var result = sellOrdersList.ToArray(); return(result); }
public void Buy() { BuyDate = DateTimeOffset.Now; var sellOrders = SellOrder.GetWithPriceLessOrEqual(BuyPrice); if (sellOrders != null) { foreach (var sellOrder in sellOrders) { var numbersToBuy = NumbersToBuy; if (sellOrder != null && numbersToBuy > 0) { var numbersToSell = sellOrder.NumbersToSell; var numbersToTransaction = numbersToBuy < numbersToSell ? numbersToBuy : numbersToSell; numbersToSell -= numbersToTransaction; numbersToBuy -= numbersToTransaction; var transaction = new Transaction { BuyDate = BuyDate, SellDate = sellOrder.SellDate, BuyComment = BuyComment, SellComment = sellOrder.SellComment, CompleteDate = DateTimeOffset.Now, NumbersToTransaction = numbersToTransaction, TransactionPrice = sellOrder.SellPrice }; transaction.Add(); NumbersToBuy = numbersToBuy; sellOrder.NumbersToSell = numbersToSell; sellOrder.Save(); } } } if (NumbersToBuy > 0) { Add(); } }