public async Task Load() { using (var client = new HttpClient()) { URLBuilder url = new URLBuilder(_filter, controller); url.URL += "&ShowMyOffers=true"; var request = new HttpRequestMessage() { RequestUri = new Uri(url.URL), Method = HttpMethod.Get }; request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", _authenticationUser.UserId.ToString(), _authenticationUser.Password)))); var response = await client.SendAsync(request); var contents = await response.Content.ReadAsStringAsync(); List <BuyOfferDto> result = JsonConvert.DeserializeObject <List <BuyOfferDto> >(contents); BuyOffers.Clear(); foreach (BuyOfferDto bo in result) { BuyOfferWrapper boffer = bo.createBuyOffer(); BuyOffers.Add(boffer); } } }
// dołącza dane z innego obiektu tego samego typu, wywoływane z klasy BosInstruments internal void Combine(BosInstrument source) { ISIN = ISIN ?? source.ISIN; Symbol = Symbol ?? source.Symbol; Sym = GetInstrumentSym(); Type = GetInstrumentType(); BuyOffers.Combine(source.BuyOffers); SellOffers.Combine(source.SellOffers); Trades.Combine(source.Trades); Session.Combine(source.Session); }
public override void ParseFromNetworkMessage(NetworkMessage message) { TypeId = message.ReadUInt16(); BuyOffers.Capacity = (int)message.ReadUInt32(); for (uint i = 0; i < BuyOffers.Capacity; ++i) { BuyOffers.Add(message.ReadMarketOffer((int)MarketOfferType.Buy, TypeId)); } SellOffers.Capacity = (int)message.ReadUInt32(); for (uint i = 0; i < SellOffers.Capacity; ++i) { SellOffers.Add(message.ReadMarketOffer((int)MarketOfferType.Sell, TypeId)); } }
public async Task AddOffer() { if (_createdOffer.Name == null || _createdOffer.Name == "" || _createdOffer.Product.Name == null || CreatedOffer.Amount <= 0 || CreatedOffer?.Price <= 0) { ErrorString = (string)Application.Current.FindResource("InvalidBuyOfferError"); return; } CreatedOffer.Product.CheckForNull(); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); BuyOfferDto content = createOffer(_createdOffer); var json = Newtonsoft.Json.JsonConvert.SerializeObject(content); URLBuilder url = new URLBuilder(controller); var request = new HttpRequestMessage() { RequestUri = new Uri(url.URL), Method = HttpMethod.Post, Content = new StringContent(json, Encoding.UTF8, "application/json") }; request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", _authenticationUser.UserId.ToString(), _authenticationUser.Password)))); var response = await client.SendAsync(request); if (response.IsSuccessStatusCode) { BuyOffers.Add(_createdOffer); _createdOffer = BuyOfferWrapper.CreateEmptyBuyOffer(_user); } else { ErrorString = (string)Application.Current.FindResource("InvalidBuyOfferError"); return; } } ErrorString = null; }
// aktualizacja danych obiektu po odebraniu ich z sieci internal void Update(DTO.MarketData data) { if (data.BuyOffer != null) { BuyOffers.Update(data.BuyOffer); } if (data.SellOffer != null) { SellOffers.Update(data.SellOffer); } if (data.Trade != null) { Trades.Update(data.Trade); } if (data.Stats != null) { Session.Update(data.Stats); } if (data.OpenInt != null) { Trades.UpdateLop(data.OpenInt.Value); } }