Esempio n. 1
0
        /// <summary>
        /// 删除符合条件的一条评论记录
        /// </summary>
        /// <param name="query">查询条件</param>
        /// <returns></returns>
        public async Task <int> DelOneUserCommAsync(UserCommQuery query)
        {
            try
            {
                if (query == null)
                {
                    _log.Error("query is not null");
                    return(-1);
                }
                var express = BuildQuery(query);

                if (express == null)
                {
                    _log.Error("query's attribute is not null");
                    return(-1);
                }

                return(await _mongoRespository.DelOneAsync(express));
            }
            catch (Exception ex)
            {
                _log.Error("DelOneUserCommAsync method error:" + ex);
                throw;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 根据条件更新一条符合条件的数据
        /// </summary>
        /// <param name="query">查询信息</param>
        /// <param name="info">更新字段</param>
        /// <returns></returns>
        public async Task <UpdateResult> UpdateOneUserCommAsync(UserCommQuery query, UserComm info)
        {
            try
            {
                if (query == null)
                {
                    _log.Error("query is not null");
                    return(null);
                }
                var express = BuildQuery(query);

                if (express == null)
                {
                    _log.Error("query's attribute is not null");
                    return(null);
                }

                var result = await _mongoRespository.UpdateOneAsync(info, express);

                return(result);
            }
            catch (Exception ex)
            {
                _log.Error("UpdateOneUserCommAsync method error:" + ex);
                throw;
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 构建查询条件
        /// </summary>
        /// <param name="query">查询字段</param>
        /// <returns></returns>
        public Expression <Func <UserComm, bool> > BuildQuery(UserCommQuery query)
        {
            var oLamadaExtention = new LamadaExtention <UserComm>();

            if (!string.IsNullOrWhiteSpace(query.Id))
            {
                var Id = ObjectId.Parse(query.Id);
                oLamadaExtention.GetExpression(nameof(Id), Id, ExpressionTypeEnum.Equal);
            }

            if (!string.IsNullOrWhiteSpace(query.NickName))
            {
                oLamadaExtention.GetExpression(nameof(UserCommQuery.NickName), query.NickName, ExpressionTypeEnum.Equal);
            }

            if (!string.IsNullOrWhiteSpace(query.CommentTimeBegin))
            {
                oLamadaExtention.GetExpression(nameof(UserCommQuery.CommentTimeBegin), query.CommentTimeBegin, ExpressionTypeEnum.GreaterThanOrEqual);
            }

            if (!string.IsNullOrWhiteSpace(query.CommentTimeEnd))
            {
                oLamadaExtention.GetExpression(nameof(UserCommQuery.CommentTimeEnd), query.CommentTimeEnd, ExpressionTypeEnum.LessThanOrEqual);
            }

            if (query.CommentScore != null)
            {
                oLamadaExtention.GetExpression(nameof(UserCommQuery.CommentScore), query.CommentScore, ExpressionTypeEnum.Equal);
            }

            if (!string.IsNullOrWhiteSpace(query.CommentMediaUrl))
            {
                oLamadaExtention.GetExpression(nameof(UserCommQuery.CommentMediaUrl), query.CommentMediaUrl, ExpressionTypeEnum.Equal);
            }

            if (!string.IsNullOrWhiteSpace(query.Content))
            {
                oLamadaExtention.GetExpression(nameof(UserCommQuery.Content), query.Content, ExpressionTypeEnum.Equal);
            }

            if (!string.IsNullOrWhiteSpace(query.AdditionalComments))
            {
                oLamadaExtention.GetExpression(nameof(UserCommQuery.AdditionalComments), query.AdditionalComments, ExpressionTypeEnum.Equal);
            }

            if (!string.IsNullOrWhiteSpace(query.CustomerServiceReply))
            {
                oLamadaExtention.GetExpression(nameof(UserCommQuery.CustomerServiceReply), query.CustomerServiceReply, ExpressionTypeEnum.Equal);
            }

            return(oLamadaExtention.GetLambda());
        }
Esempio n. 4
0
        /// <summary>
        /// 根据条件返回评论列表(不分页)
        /// </summary>
        /// <param name="query">查询条件</param>
        /// <returns></returns>
        public async Task <List <UserComm> > QueryUserCommListAsync(UserCommQuery query)
        {
            try
            {
                if (query == null)
                {
                    _log.Error("query is not null");
                    return(null);
                }
                var express = BuildQuery(query);

                var ret = await _mongoRespository.QueryListAsync(express);

                var resultList = await IAsyncCursorExtensions.ToListAsync(ret);

                return(resultList);
            }
            catch (Exception ex)
            {
                _log.Error("QueryUserCommListAsync method error:" + ex);
                throw;
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 根据条件分页显示分页评论信息
        /// </summary>
        /// <param name="sortQuery">排序条件</param>
        /// <param name="query">查询条件</param>
        /// <param name="totalCount">数据总数</param>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">每页数据条数</param>
        /// <param name="showCount">是否显示总数</param>
        /// <returns></returns>
        public async Task <(IFindFluent <UserComm, UserComm> linq, long totalCount)> PageUserCommListByQuery(Dictionary <string, string> sortQuery, UserCommQuery query, long totalCount, int pageIndex = 0, int pageSize = 0, bool showCount = false)
        {
            try
            {
                if (query == null)
                {
                    _log.Error("query is not null");
                    return(null, 0);
                }

                var express = BuildQuery(query);

                if (express == null)
                {
                    _log.Error("query's attribute is not null");
                    return(null, 0);
                }

                var result = await _mongoRespository.PageListByQuery(sortQuery, express, totalCount, pageIndex, pageSize, showCount);

                return(result);
            }
            catch (Exception ex)
            {
                _log.Error("DelOneUserCommAsync method error:" + ex);
                throw;
            }
        }