public override async Task <AddTopicResponse> Add(AddTopicRequest request, ServerCallContext context) { var id = await _topicService.AddTopicAsync(new Topic { Name = request.Name, Description = request.Description }); _logger.Info(id > 0 ? "Topic added successfully" : "Topic was not added"); return(await Task.FromResult(new AddTopicResponse { Id = id })); }
public Task <IActionResult> Add([FromBody] AddTopicRequest request) { var response = Client.Add(request); return(response.Id > 0 ? Task.FromResult <IActionResult>(CreatedAtRoute("GetById", new { id = response.Id }, response)) : Task.FromResult <IActionResult>(BadRequest(new ErrorModel { Error = "Topic was not added" }))); }
/// <summary> /// 新增Topic,用于设备或应用发布消息至该Topic或订阅该Topic的消息。 /// </summary> /// <param name="req">参考<see cref="AddTopicRequest"/></param> /// <returns>参考<see cref="AddTopicResponse"/>实例</returns> public async Task <AddTopicResponse> AddTopic(AddTopicRequest req) { JsonResponseModel <AddTopicResponse> rsp = null; try { var strResp = await this.InternalRequest(req, "AddTopic"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <AddTopicResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }
// user1 creates a topic. user2 likes it. user3 likes it. // get the like feed, and check the user names. check the like count. // clean up - delete the topic. public async Task DoLikeFeedTest() { // step 1, create a topic AddTopicRequest addTopicRequest = new AddTopicRequest(user1req) { TopicCategory = "Photo", TopicFriendlyName = "abcdef", TopicTitle = "Rarest coin", TopicText = "Egyptian coin", TopicBlobType = (int)BlobType1.Image, TopicBlobUrl = "http://coinquest.com/cgi-data/cq_ro/response_380/egypt_10_milliemes_1958.jpg", TopicDeepLink = "coins:abcdef", TopicType = (int)TopicType.New }; AddTopicResponse addResponse = await ServerTask <AddTopicRequest, AddTopicResponse> .PostRequest(addTopicRequest); //Assert.AreEqual(addResponse.ResponseCode, ResponseCode.Success); // extract topic handle from the response this.TopicHandle = addResponse.TopicHandle; Console.WriteLine("LikeFeedTest: Added topic"); await Task.Delay(Constants.ServiceWriteDelay); // user2 likes the topic AddLikeRequest addLikeRequest = new AddLikeRequest(user2req) { ContentHandle = this.TopicHandle, ContentType = (int)ContentType1.Topic, SequenceId = Environment.TickCount }; AddLikeResponse addLikeResponse = await ServerTask <AddLikeRequest, AddLikeResponse> .PostRequest(addLikeRequest); //Assert.AreEqual(addLikeResponse.ResponseCode, ResponseCode.Success); Console.WriteLine("LikeFeedTest: user2 liked topic"); await Task.Delay(Constants.ServiceWriteDelay); // user3 likes the topic addLikeRequest = new AddLikeRequest(user3req) { ContentHandle = this.TopicHandle, ContentType = (int)ContentType1.Topic, SequenceId = Environment.TickCount }; addLikeResponse = await ServerTask <AddLikeRequest, AddLikeResponse> .PostRequest(addLikeRequest); //Assert.AreEqual(addLikeResponse.ResponseCode, ResponseCode.Success); Console.WriteLine("LikeFeedTest: user3 liked topic"); await Task.Delay(Constants.ServiceWriteDelay); // get the like feed for the topic GetLikeFeedRequest getLikesReq = new GetLikeFeedRequest() { ContentHandle = this.TopicHandle, BatchSize = 10 }; GetLikeFeedResponse getLikesResponse = await ServerTask <GetLikeFeedRequest, GetLikeFeedResponse> .PostRequest(getLikesReq); //Assert.AreEqual(getLikesResponse.ResponseCode, ResponseCode.Success); Console.WriteLine("Likes list:"); foreach (var user in getLikesResponse.Users) { Console.WriteLine("User = {0}", user.UserHandle); } }
/// <summary> /// 创建topic时,topicModel中只需要传topic参数,另外两个参数可为空 /// </summary> /// <param name="request">请求参数信息</param> /// <returns>请求结果信息</returns> public async Task <AddTopicResponse> AddTopic(AddTopicRequest request) { return(await new AddTopicExecutor().Client(this).Execute <AddTopicResponse, AddTopicResult, AddTopicRequest>(request).ConfigureAwait(false)); }
/// <summary> /// 创建topic时,topicModel中只需要传topic参数,另外两个参数可为空 /// </summary> /// <param name="request">请求参数信息</param> /// <returns>请求结果信息</returns> public AddTopicResponse AddTopic(AddTopicRequest request) { return(new AddTopicExecutor().Client(this).Execute <AddTopicResponse, AddTopicResult, AddTopicRequest>(request)); }