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 }); }
// 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); } }