Beispiel #1
0
        /// <summary>
        /// оповещаем пользователя о том, что его предложение о сделке не было осуществлено
        /// </summary>
        public void NotifyAboutFiredOffer(DealOffer offer)
        {
            // TODO Сделать более умное решение насчет сбрасывания цены
            Action <long> action = null;

            switch (offer.OfferType)
            {
            case DealOfferType.Buy:
                // Если акции не были проданы по предложенной цене, значит она неадекватна
                action = IncreaseSharePriceIfWantTo;
                break;

            case DealOfferType.Sell:
                // Если акции не были куплены по предложенной цене, значит она неадекватна
                action = DecreaseSharePriceIfWantTo;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            //if (MakeRandomDecision())
            //{
            action.Invoke(offer.Deal.ShareCompanyId);
            //}
        }
Beispiel #2
0
        public SellDealOffer GetSellDealOffer()
        {
            ICollection <Share> shares = GetMineShares();

            if (!shares.Any())
            {
                // если у меня нет акций
                return(null);
            }
            DealOffer offer = CreateDealOffer(shares);

            return(offer != null
                ? new SellDealOffer(offer)
                : null);
        }
Beispiel #3
0
        public BuyDealOffer GetBuyDealOffer()
        {
            // Выбираем компанию, у которой будем покупать акции
            ICollection <Share> shares = ChooseCompanyShares();

            if (shares == null)
            {
                return(null);
            }

            double maxCosts = HowManyCouldSpendMoney();

            DealOffer offer = CreateDealOffer(shares, maxCosts);

            return(offer != null
                ? new BuyDealOffer(offer)
                : null);
        }
Beispiel #4
0
 public SellDealOffer(DealOffer offer) : base()
 {
     UniqueExhcangeUserId = offer.UniqueExhcangeUserId;
     Deal = offer.Deal;
 }