public HttpResponseMessage AddNewItem(AddItemRequest model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
            GroceryResponse <int> response = new GroceryResponse <int>
            {
                Grocery = justGroceryServices.AddNewItem(model)
            };

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
        // Implementation of the GetGroceries service method
        public override async Task GetGroceries(GroceryRequest request, IServerStreamWriter <GroceryResponse> responseStream, ServerCallContext context)
        {
            // Hard coded data
            List <string> groceries = new List <string> {
                "Potatoes", "Chicken", "Strawberries", "Milk", "Crackers", "Ice Cream", "Olives", "Lobster", "Orange Juice"
            };

            // Return stream of reponse messages - one message for each item in the list
            foreach (var item in groceries)
            {
                GroceryResponse reply = new GroceryResponse {
                    Grocery = item
                };
                await responseStream.WriteAsync(reply);
            }
        }
Beispiel #3
0
        // Calls the GetGroceries method of the service
        public async Task GetSomeGroceries()
        {
            // Create the request message
            GroceryRequest req = new GroceryRequest {
                Items = 4
            };

            // Receive the response stream (uses AsyncServerStreamingCall object)
            using (var call = client.GetGroceries(req))
            {
                int count = 0;

                while (await call.ResponseStream.MoveNext())
                {
                    count++;
                    GroceryResponse item = call.ResponseStream.Current;
                    Console.WriteLine("Item " + count + ": " + item.Grocery + "\n");
                }
            }
        }