示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="purchase"></param>
        /// <returns></returns>
        async Task ILogicApiActor.SendVideoPurchaseText(VideoPurchase purchase)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(_purchaseLogicAppEndpoint);
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/plain"));

                    string copyString = purchase.Quantity == 1 ? "copy" : "copies";

                    var response = await client.PostAsJsonAsync(
                        string.Empty,
                        JsonConvert.SerializeObject(new
                    {
                        quantity    = purchase.Quantity,
                        price       = purchase.Price,
                        title       = purchase.Title,
                        phoneNumber = "##########",
                        copyString  = copyString
                    })).ConfigureAwait(false);
                }
            }
            catch (Exception ex)
            {
                ActorEventSource.Current.ActorMessage(this, ex.Message);
            }
        }
示例#2
0
        public async Task GetRandom()
        {
            Random rnd = new Random();

            VideoPurchase purchase = VideoPurchaseFactory.CreateRandomPurchase(rnd);

            await logicAppProxy.SendVideoPurchaseText(purchase);
        }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="count"></param>
        /// <returns></returns>
        Task IEventHubActor.SubmitPurchase(VideoPurchase purchase)
        {
            try
            {
                var message = JsonConvert.SerializeObject(purchase);

                return(_eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(message))));
            }
            catch (Exception ex)
            {
                ActorEventSource.Current.ActorMessage(this, ex.Message);
            }

            return(Task.FromResult(0));
        }
示例#4
0
 public void Put([FromBody] VideoPurchase value)
 {
     proxy.SubmitPurchase(value);
 }