/// <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); //} }
public SellDealOffer GetSellDealOffer() { ICollection <Share> shares = GetMineShares(); if (!shares.Any()) { // если у меня нет акций return(null); } DealOffer offer = CreateDealOffer(shares); return(offer != null ? new SellDealOffer(offer) : null); }
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); }
public SellDealOffer(DealOffer offer) : base() { UniqueExhcangeUserId = offer.UniqueExhcangeUserId; Deal = offer.Deal; }