Esempio n. 1
0
        public async Task <bool> AddRequestAsync(ContactApllyRequest request, CancellationToken cancellationToken)
        {
            var result = await conn.ExecuteAsync("insert into ContactApplyRequset" +
                                                 "(userid,applierId,approval,handleTime,applyTime)values(@)userId,@applierId,@approval,@handleTime,@applyTime",
                                                 request
                                                 );

            //添加好友申请信息到Mysql数据库
            return(result > 0);
        }
        /// <summary>
        /// 添加好友申请
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <bool> AddRequestAsync(ContactApllyRequest request, CancellationToken cancellationToken)
        {
            //查找当前好友是否存在
            var filter = Builders <ContactApllyRequest> .
                         Filter.Where(x => x.UserId == request.UserId && x.Applierid == request.Applierid);

            if (await contactContext.ContactApplyRequests.CountAsync(filter) > 0)
            {
                //当发现用户拥有此好友时,更新信息
                var update = Builders <ContactApllyRequest> .Update.Set(x => x.ApplyTime, DateTime.Now);

                var optinons = new UpdateOptions()
                {
                    IsUpsert = true
                };
                var result = await contactContext.ContactApplyRequests.UpdateOneAsync(filter, update, null, cancellationToken);

                return(result.MatchedCount == result.ModifiedCount);
            }
            contactContext.ContactApplyRequests.InsertOne(request);
            return(true);
        }