コード例 #1
0
        public override async Task <ChangeTempResponse> ChangeTemp(ChangeTempRequest request, ServerCallContext context)
        {
            var tempId = request.Temp.Id;

            var filter = new FilterDefinitionBuilder <BsonDocument>().Eq("_id", new ObjectId(tempId));
            var result = mongoCollection.Find(filter).FirstOrDefault();

            if (result == null)
            {
                throw new RpcException(new Status(StatusCode.NotFound, "The temp id " + tempId + " wasn't found"));
            }

            var doc = new BsonDocument("temp_setting", request.Temp.TempSetting);

            mongoCollection.ReplaceOne(filter, doc);

            var temp = new Temp.Temp()
            {
                TempSetting = doc.GetValue("temp_setting").AsString
            };

            temp.Id = tempId;

            return(new ChangeTempResponse()
            {
                Temp = temp
            });
        }
コード例 #2
0
        // CHANGE THE TEMPERATURE
        private static void ChangeTemp(TempService.TempServiceClient client, Temp.Temp temp)
        {
            try
            {
                temp.TempSetting = "30 degrees";

                var response = client.ChangeTemp(new ChangeTempRequest()
                {
                    Temp = temp
                });

                Console.WriteLine("The temperature has now been changed to " + response.Temp.ToString());
            }
            catch (RpcException e)
            {
                Console.WriteLine(e.Status.Detail);
            }
        }