Ejemplo n.º 1
0
        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 }));
        }
Ejemplo n.º 2
0
        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"
            })));
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        // 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);
            }
        }
Ejemplo n.º 5
0
 /// <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));
 }
Ejemplo n.º 6
0
 /// <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));
 }