Ejemplo n.º 1
0
        public async Task <IActionResult> GetSystemUsersAsync([FromQuery] SystemUsersQuery args)
        {
            var response = new Response <SystemUsers>();

            try {
                var p = Express.Begin <SystemUsers>(true);
                if (!string.IsNullOrEmpty(args.UserName))
                {
                    p = p.And(e => e.UsersName.Contains(args.UserName));
                }
                if (!string.IsNullOrEmpty(args.LoginName))
                {
                    p = p.And(e => e.LoginName == args.LoginName);
                }
                if (!string.IsNullOrEmpty(args.Email))
                {
                    p = p.And(e => e.Email.Contains(args.Email));
                }
                if (args.IsEnable.HasValue)
                {
                    p = p.And(e => e.IsEnable == args.IsEnable);
                }

                //var result = await this._ISystemUsersRepository.QueryPager(p, e => e.LoginTime, true, args.PageIndex.Value, args.PageSize.Value);


                response.Code = true;
                //response.Data.Entities = result.Item2;
                //response.Data.PageCount = result.Item1;
            }
            catch (Exception ex) {
                response.SetError(ex, this._ILogger);
            }
            return(response.ToHttpResponse());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> PostNewsDocLocalHostAsync([FromHeader] String source,
                                                                    [FromRoute] SiteRoute route)
        {
            var response = new Response <Object>();

            try {
                var categories = await _IWebCategoryRepository.Query(a => a.SiteId == route.mark && a.IsEnable == 1,
                                                                     a => a.Sequence).ToListAsync();

                await _IWebNewsElastic.AddIndexAsync(_IWebNewsElastic.IndexName);

                var lastNews = new WebNews();
                var current  = System.DateTime.Now;
                for (int pageIndex = 1; pageIndex <= 40; pageIndex++)
                {
                    var news = new List <WebNews>();

                    var express = Express.Begin <WebNews>(true);
                    express = express.And(a => a.SiteId == route.mark && a.IsEnable == 1 && a.PushTime <= current);
                    news    = await _IWebNewsRepository.Query(express)
                              .OrderByDescending(a => a.PushTime)
                              .ToPager(pageIndex, 30000)
                              .ToListAsync();

                    lastNews = news.LastOrDefault();
                    if (lastNews != null)
                    {
                        var docs = new List <WebNewsDoc>();
                        news.ForEach(x => {
                            var category = categories.SingleOrDefault(a => a.CategoryName == x.CategoryName);
                            if (category != null)
                            {
                                docs.Add(GetWebNewsDoc(x));
                            }
                        });
                        if (docs.Count > 0)
                        {
                            await _IWebNewsElastic.BatchAddDocumentAsync(_IWebNewsElastic.IndexName, docs);
                        }
                    }
                }
                response.Code  = true;
                response.Other = null;
            } catch (Exception ex) {
                response.SetError(ex, this._ILogger);
            }
            return(response.ToHttpResponse());
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> GetMemberCommentAsync([FromHeader] String source,
                                                                [FromRoute] RouteIdString route,
                                                                [FromQuery] CommentGet item)
        {
            var response = new Response <Object>();

            try {
                var express = Express.Begin <MemberComment>(true);
                express = express.And(a => a.NewsId == route.id && a.ParentId == 0 && a.IsEnable == 1);

                var result = await _IMemberCommentRepository.Query(express)
                             .Select(a => new {
                    CommentId   = a.CommentId,
                    NewsId      = a.NewsId,
                    ParentId    = a.ParentId,
                    MemberId    = a.MemberId,
                    MemberName  = a.MemberName,
                    CommentBody = a.CommentBody,
                    CommentTime = a.CommentTime,
                    QuoteId     = a.QuoteId,
                    QuoteName   = a.QuoteName,
                    Up          = a.Up,
                    Number      = a.Number,
                    Avatar      = a.MemberInfos.Avatar,
                    IsUp        = item.MemberId > 0 ? a.MemberCommentUps.Any(b => b.MemberId == item.MemberId) : false
                })
                             .OrderBy(a => a.CommentTime)
                             .ToPager(item.PageIndex.Value, item.PageSize.Value)
                             .ToListAsync();

                if (result.Count <= 0)
                {
                    return(NoContent());
                }
                else
                {
                    response.Code = true;
                    response.Data = result;
                }
            }
            catch (Exception ex) {
                response.SetError(ex, this._ILogger);
            }
            return(response.ToHttpResponse());
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> GetMessageAsync([FromHeader] String source,
                                                          [FromQuery] PagerBase item)
        {
            var response = new Response <Object>();

            try {
                var express = Express.Begin <MemberMessage>(true);
                express = express.And(a => a.MemberId == MemberId && a.IsEnable == 1);

                var result = await _IMemberMessageRepository.Query(express)
                             .OrderByDescending(a => a.CreateTime)
                             .ToPager(item.PageIndex.Value, item.PageSize.Value)
                             .Select(a => new {
                    MessageId  = a.MessageId,
                    MemberId   = a.MemberId,
                    MemberName = a.MemberName,
                    LeaveBody  = a.LeaveBody,
                    LeaveType  = a.LeaveType,
                    CreateTime = a.CreateTime
                })
                             .ToListAsync();

                if (result.Count <= 0)
                {
                    return(NoContent());
                }
                else
                {
                    response.Code = true;
                    response.Data = result;
                }
            }
            catch (Exception ex) {
                response.SetError(ex, this._ILogger);
            }
            return(response.ToHttpResponse());
        }