Esempio n. 1
0
        private static BuyOrder[] EntitiesToLogicUnit(BuyOrders[] buyOrders)
        {
            var buyOrdersList = new List <BuyOrder>();

            if (buyOrders != null)
            {
                foreach (var order in buyOrders)
                {
                    var buyOrder = new BuyOrder(order);
                    buyOrdersList.Add(buyOrder);
                }
            }

            var result = buyOrdersList.ToArray();

            return(result);
        }
Esempio n. 2
0
        public void Sell()
        {
            SellDate = DateTimeOffset.Now;

            var buyOrders = BuyOrder.GetWithPriceGreaterOrEqual(SellPrice);

            if (buyOrders != null)
            {
                foreach (var buyOrder in buyOrders)
                {
                    var numbersToSell = NumbersToSell;

                    if (buyOrder != null && numbersToSell > 0)
                    {
                        var numbersToBuy = buyOrder.NumbersToBuy;

                        var numbersToTransaction = numbersToSell < numbersToBuy ? numbersToSell : numbersToBuy;
                        numbersToSell -= numbersToTransaction;
                        numbersToBuy  -= numbersToTransaction;

                        var transaction = new Transaction
                        {
                            BuyDate              = buyOrder.BuyDate,
                            SellDate             = SellDate,
                            BuyComment           = buyOrder.BuyComment,
                            SellComment          = SellComment,
                            CompleteDate         = DateTimeOffset.Now,
                            NumbersToTransaction = numbersToTransaction,
                            TransactionPrice     = SellPrice
                        };
                        transaction.Add();

                        NumbersToSell         = numbersToSell;
                        buyOrder.NumbersToBuy = numbersToBuy;

                        buyOrder.Save();
                    }
                }
            }

            if (NumbersToSell > 0)
            {
                Add();
            }
        }
Esempio n. 3
0
        public static BuyOrder[] LoadAll()
        {
            var buyOrders = BuyOrders.FindAll();

            var buyOrdersList = new List <BuyOrder>();

            if (buyOrders != null)
            {
                foreach (var order in buyOrders)
                {
                    var buyOrder = new BuyOrder(order);
                    buyOrdersList.Add(buyOrder);
                }
            }

            var result = buyOrdersList.ToArray();

            return(result);
        }