Ejemplo n.º 1
0
        public void TryRegisterNewDeal()
        {
            Deal testDeal = new Deal()
            {
                ID = 1, ID_seller = 3, ID_buyer = 4, SharesType = SharesType.SimpleType, Price = 10
            };

            bussinesService.RegisterNewDeal(testDeal);
            var balance = dataContex.TraiderBalances.SingleOrDefault(w => w.ID == 3).Balance;

            Assert.AreEqual(balance, 2100);
            balance = dataContex.TraiderBalances.SingleOrDefault(w => w.ID == 4).Balance;
            Assert.AreEqual(balance, 1900);
        }
Ejemplo n.º 2
0
        static void RunTradeDay(BussinesService bussinesService, ILoggerService loggerService)
        {
            var traiders = bussinesService.GetMostWantedTraider();

            List <Traider> traidersList = new List <Traider>();

            foreach (Traider traider in traiders)
            {
                traidersList.Add(traider);
            }

            Random  rnd         = new Random();
            int     sellerIndex = rnd.Next(0, traidersList.Count);
            Traider seller      = traidersList.ElementAt(sellerIndex);

            traidersList.RemoveAt(sellerIndex);

            int     buyerIndex = rnd.Next(0, traidersList.Count);
            Traider buyer      = traidersList.ElementAt(buyerIndex);

            var  arrayOfSharesTypes = Enum.GetValues(typeof(SharesType));
            var  randomSharesType   = (SharesType)arrayOfSharesTypes.GetValue(rnd.Next(arrayOfSharesTypes.Length));
            Deal deal = new Deal
            {
                ID_seller  = seller.ID,
                ID_buyer   = buyer.ID,
                Price      = rnd.Next(1, 100),
                SharesType = randomSharesType
            };

            bussinesService.RegisterNewDeal(deal);

            string sellerName = bussinesService.GetMostWantedTraiderNameById(deal.ID_seller).FirstName +
                                bussinesService.GetMostWantedTraiderNameById(deal.ID_seller).Surname;
            string buyerName = bussinesService.GetMostWantedTraiderNameById(deal.ID_buyer).FirstName +
                               bussinesService.GetMostWantedTraiderNameById(deal.ID_buyer).Surname;

            Console.WriteLine($"Deal done!: Seller: {sellerName} | Buyer: {buyerName} | ShareType: {deal.SharesType} | Price: {deal.Price}");
            loggerService.Info($"Seller: {sellerName} | Buyer: {buyerName} | ShareType: {deal.SharesType} | Price: {deal.Price}");
        }