Esempio n. 1
0
        public string WriteList(string sort, string order, int page = 1, int rows = 30)
        {
            string result = string.Empty;

            var pag = new PaginationVM
            {
                PageNumber = page,
                PageSize   = rows
            };

            int uid = new Func.UserAuthAid(HttpContext).Get().UserId;

            using var db = new ContextBase();
            var query = from a in db.UserWriting
                        where a.Uid == uid
                        select new
            {
                a.UwId,
                a.UwTitle,
                a.UwCreateTime,
                a.UwUpdateTime,
                a.UwReadNum,
                a.UwReplyNum,
                a.UwOpen,
                a.UwStatus,
                a.UwLaud,
                a.UwMark,
                a.UwCategory
            };

            query = Fast.QueryableTo.OrderBy(query, sort, order);

            pag.Total = query.Count();
            var list = query.Skip((pag.PageNumber - 1) * pag.PageSize).Take(pag.PageSize).ToList();

            result = new
            {
                data  = list,
                total = pag.Total
            }.ToJson();

            return(result);
        }
Esempio n. 2
0
        public IActionResult List(int page = 1)
        {
            if (int.TryParse(RouteData.Values["Id"]?.ToString(), out int wid))
            {
                var uwo = Func.Common.UserWritingOneQuery(wid);
                if (uwo == null)
                {
                    return(Redirect("/"));
                }

                var pag = new PaginationVM
                {
                    PageNumber = Math.Max(page, 1),
                    PageSize   = 10
                };

                var vm = new PageVM()
                {
                    Rows  = Func.Common.ReplyOneQuery(Func.EnumAid.ReplyType.UserWriting, wid.ToString(), pag),
                    Pag   = pag,
                    Temp  = uwo,
                    Route = "/home/list/" + wid.ToString()
                };


                if (User.Identity.IsAuthenticated)
                {
                    var uinfo = new Func.UserAuthAid(HttpContext).Get();
                    using var db = new ContextBase();
                    var listuc = db.UserConnection.Where(x => x.Uid == uinfo.UserId && x.UconnTargetType == Func.EnumAid.ConnectionType.UserWriting.ToString() && x.UconnTargetId == wid.ToString()).ToList();

                    ViewData["uca1"] = listuc.Any(x => x.UconnAction == 1) ? "yes" : "";
                    ViewData["uca2"] = listuc.Any(x => x.UconnAction == 2) ? "yes" : "";
                }

                return(View(vm));
            }
            else
            {
                return(Redirect("/"));
            }
        }
Esempio n. 3
0
        public ActionResultVM ReplyList(string id, int page = 1)
        {
            var vm = new ActionResultVM();

            try
            {
                var uinfo = new UserAuthAid(HttpContext).Get();

                var pag = new PaginationVM
                {
                    PageNumber = Math.Max(page, 1),
                    PageSize   = 10
                };

                var list = Func.Common.ReplyOneQuery(EnumAid.ReplyType.GuffRecord, id, pag);
                //匿名用户,生成邮箱MD5加密用于请求头像
                foreach (var item in list)
                {
                    if (item.Uid == 0 && !string.IsNullOrWhiteSpace(item.UrAnonymousMail))
                    {
                        item.Spare3 = CalcTo.MD5(item.UrAnonymousMail);
                    }
                }

                var pvm = new PageVM()
                {
                    Rows = list,
                    Pag  = pag
                };
                vm.data = pvm;

                vm.Set(ARTag.success);
            }
            catch (Exception ex)
            {
                vm.Set(ex);
                ConsoleTo.Log(ex);
            }

            return(vm);
        }
Esempio n. 4
0
        public ActionResultVM ReplyList(string id, int page = 1)
        {
            var vm = new ActionResultVM();

            try
            {
                var uinfo = new Application.UserAuthService(HttpContext).Get();

                var pag = new PaginationVM
                {
                    PageNumber = Math.Max(page, 1),
                    PageSize   = 10
                };

                var list = Application.CommonService.ReplyOneQuery(Application.EnumService.ReplyType.GuffRecord, id, pag);
                //匿名用户,生成邮箱MD5加密用于请求头像
                foreach (var item in list)
                {
                    if (item.Uid == 0 && !string.IsNullOrWhiteSpace(item.UrAnonymousMail))
                    {
                        item.Spare3 = Core.CalcTo.MD5(item.UrAnonymousMail);
                    }
                }

                var pvm = new PageVM()
                {
                    Rows = list,
                    Pag  = pag
                };
                vm.Data = pvm;

                vm.Set(ARTag.success);
            }
            catch (Exception ex)
            {
                vm.Set(ex);
                Filters.FilterConfigs.WriteLog(HttpContext, ex);
            }

            return(vm);
        }
Esempio n. 5
0
        public static PaginationVM GetPaginationData(IQueryable <object> query, int page, int limit)
        {
            var totalCount = query.Count();
            var totalPages = (int)Math.Ceiling((double)totalCount / limit);

            if (totalPages < page + 1)
            {
                throw new KeyNotFoundException();
            }
            var prevPageLink = page > 0 ? GetPaginationUrl("team-members", page - 1, limit) : "";
            var nextPageLink = page < totalPages - 1 ? GetPaginationUrl("team-members", page + 1, limit) : "";
            var pagination   = new PaginationVM()
            {
                TotalCount   = totalCount,
                TotalPages   = totalPages,
                CurrPage     = page,
                NextPageLink = nextPageLink,
                PrevPageLink = prevPageLink,
            };

            return(pagination);
        }
        public async Task <IActionResult> GetAll(int pageIndex = 1)
        {
            if (ModelState.IsValid)
            {
                string token        = HttpContext.Session.GetString("token_access");
                var    paginationVM = new PaginationVM()
                {
                    PageIndex = pageIndex
                };
                var list = await _modelServiceApiClient.GetAllPaging(token, paginationVM);

                if (TempData["ErrorResult"] != null)
                {
                    ViewBag.ErrorMsg = TempData["ErrorResult"];
                }
                if (TempData["SuccessResult"] != null)
                {
                    ViewBag.SuccessMsg = TempData["SuccessResult"];
                }
                return(View(list));
            }
            return(BadRequest("Error 400"));
        }
Esempio n. 7
0
        public IActionResult Index(PaginationVM pagination, PostFilterVM postFilter)
        {
            if (this.HasAlert)
            {
                this.SetAlertModel();
            }

            var configuration = new MapperConfiguration(cfg =>
                                                        cfg.CreateMap <SalePost, PostVM>().ReverseMap());

            var postsQuery = this.FilterPosts(postFilter, this.salePostService.GetAll().ProjectTo <PostVM>(configuration));

            var paginatedPosts = this.PaginateList <PostVM>(pagination, postsQuery).ToList();

            foreach (var post in paginatedPosts)
            {
                post.Sneaker.PosterImageRelativeLink = FileManager.GetRelativeFilePath(post.Sneaker.PosterImageLink);
                post.Sneaker.OverallRating           = post.Sneaker.Ratings.Any() ? post.Sneaker.Ratings.Average(s => s.Rating.Score) : 0;
            }

            int totalPages = this.GetTotalPages(pagination.PageSize, postsQuery.Count());

            PostListVM postListViewModel = new PostListVM
            {
                Posts          = paginatedPosts,
                NextPage       = pagination.Page < totalPages ? pagination.Page + 1 : pagination.Page,
                PreviousPage   = pagination.Page > 1 ? pagination.Page - 1 : pagination.Page,
                CurrentPage    = pagination.Page,
                TotalPages     = totalPages,
                ShowPagination = totalPages > 1,
            };

            this.LoadListSneakersDropdowns(postFilter);

            return(this.View(postListViewModel));
        }
 public ActionResult Index(int pageNumber = 1)
 {
     try
     {
         int totalPages;
         IEnumerable <LibraryItem> items = commonAccessLogic.GetAll(pageNumber, 20, out totalPages);
         PaginationVM newModel           = new PaginationVM {
             TotalNumberOfPages = totalPages, Items = items, CurrentPage = pageNumber
         };
         return(View(newModel));
     }
     catch (System.Exception e)
     {
         if (e is DalException)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
         }
         else
         {
             logger.Warning("BL", e);
             return(RedirectToAction("Index", "Common"));
         }
     }
 }
Esempio n. 9
0
 public async Task <PageResultVM <ConditionVM> > GetAllConditionByIdPaging(int id, [FromQuery] PaginationVM paginationVM)
 {
     return(await _VehicleService.GetAllConditionByIdPaging(id, paginationVM));
 }
        public async Task <PageResultVM <ConditionVM> > GetAllConditionByIdPaging(int id, PaginationVM paginationVM)
        {
            var listConditionDTO = await _dbContextDTO.Set <ConditionDTO>().Where(x => x.VehicleId.Equals(id)).AsNoTracking().ToListAsync();

            var listConditionVM           = _mapper.Map <List <ConditionVM> >(listConditionDTO).OrderByDescending(x => x.CreateAt.Date);
            var listConditionVMPagination = listConditionVM.Skip((paginationVM.PageIndex - 1) * paginationVM.PageSize).Take(paginationVM.PageSize).ToList();

            return(new PageResultVM <ConditionVM>
            {
                Items = listConditionVMPagination,
                PageIndex = paginationVM.PageIndex,
                TotalRecord = listConditionVM.Count()
            });
        }
Esempio n. 11
0
 public async Task <PageResultVM <VehicleCrawlDataVM> > GetAllVehicleVinfastCrawlData([FromQuery] PaginationVM paginationVM)
 {
     return(await _vehicleCrawlDataService.GetAllVehicleVinfastCrawlData(paginationVM));
 }
 public Task <IViewComponentResult> InvokeAsync(PaginationVM paginationVM)
 {
     return(Task.FromResult((IViewComponentResult)View("Default", paginationVM)));
 }
Esempio n. 13
0
        /// <summary>
        /// Guff查询
        /// </summary>
        /// <param name="category">类别,可选,支持 text、image、audio、video、me(我的)、melaud(我点赞的)、mereply(我回复的)</param>
        /// <param name="q">搜索</param>
        /// <param name="nv">分类名/分类值</param>
        /// <param name="tag">标签</param>
        /// <param name="obj">对象</param>
        /// <param name="OwnerId">所属用户</param>
        /// <param name="UserId">登录用户</param>
        /// <param name="page">页码</param>
        /// <returns></returns>
        public static PageVM GuffQuery(string category, string q, string nv, string tag, string obj, int OwnerId, int UserId, int page = 1)
        {
            var ctype = EnumService.ConnectionType.GuffRecord.ToString();

            using var db = new ContextBase();

            IQueryable <GuffRecord> query = null;

            switch (category?.ToLower())
            {
            case "melaud":
            {
                query = from c in db.UserConnection
                        join a in db.GuffRecord on c.UconnTargetId equals a.GrId
                        join b in db.UserInfo on a.Uid equals b.UserId
                        where c.Uid == UserId && c.UconnTargetType == ctype && c.UconnAction == 1 && a.GrStatus == 1
                        orderby c.UconnCreateTime descending
                        select new GuffRecord
                {
                    GrId         = a.GrId,
                    GrTypeName   = a.GrTypeName,
                    GrTypeValue  = a.GrTypeValue,
                    GrObject     = a.GrObject,
                    GrContent    = a.GrContent,
                    GrContentMd  = a.GrContentMd,
                    GrImage      = a.GrImage,
                    GrAudio      = a.GrAudio,
                    GrVideo      = a.GrVideo,
                    GrFile       = a.GrFile,
                    GrRemark     = a.GrRemark,
                    GrTag        = a.GrTag,
                    GrCreateTime = a.GrCreateTime,
                    GrUpdateTime = a.GrUpdateTime,
                    GrOpen       = a.GrOpen,
                    GrReadNum    = a.GrReadNum,
                    GrReplyNum   = a.GrReplyNum,
                    GrLaud       = a.GrLaud,
                    GrMark       = a.GrMark,

                    Uid = a.Uid,

                    //已点赞
                    Spare1 = "laud",
                    //是我的
                    Spare2 = a.Uid == UserId ? "owner" : "",
                    //昵称
                    Spare3 = b.Nickname
                };
            }
            break;

            case "mereply":
            {
                query = from c in db.UserReply
                        join a in db.GuffRecord on c.UrTargetId equals a.GrId
                        join b in db.UserInfo on a.Uid equals b.UserId
                        where c.Uid == UserId && c.UrTargetType == ctype && a.GrStatus == 1
                        orderby c.UrCreateTime descending
                        select new GuffRecord
                {
                    GrId         = a.GrId,
                    GrTypeName   = a.GrTypeName,
                    GrTypeValue  = a.GrTypeValue,
                    GrObject     = a.GrObject,
                    GrContent    = a.GrContent,
                    GrContentMd  = a.GrContentMd,
                    GrImage      = a.GrImage,
                    GrAudio      = a.GrAudio,
                    GrVideo      = a.GrVideo,
                    GrFile       = a.GrFile,
                    GrRemark     = a.GrRemark,
                    GrTag        = a.GrTag,
                    GrCreateTime = a.GrCreateTime,
                    GrUpdateTime = a.GrUpdateTime,
                    GrOpen       = a.GrOpen,
                    GrReadNum    = a.GrReadNum,
                    GrReplyNum   = a.GrReplyNum,
                    GrLaud       = a.GrLaud,
                    GrMark       = a.GrMark,

                    Uid = a.Uid,

                    Spare2 = a.Uid == UserId ? "owner" : "",
                    Spare3 = b.Nickname
                };
            }
            break;

            case "me":
            case "top":
            case "text":
            case "image":
            case "audio":
            case "video":
            default:
            {
                query = from a in db.GuffRecord
                        join b in db.UserInfo on a.Uid equals b.UserId
                        where a.GrStatus == 1
                        select new GuffRecord
                {
                    GrId         = a.GrId,
                    GrTypeName   = a.GrTypeName,
                    GrTypeValue  = a.GrTypeValue,
                    GrObject     = a.GrObject,
                    GrContent    = a.GrContent,
                    GrContentMd  = a.GrContentMd,
                    GrImage      = a.GrImage,
                    GrAudio      = a.GrAudio,
                    GrVideo      = a.GrVideo,
                    GrFile       = a.GrFile,
                    GrRemark     = a.GrRemark,
                    GrTag        = a.GrTag,
                    GrCreateTime = a.GrCreateTime,
                    GrUpdateTime = a.GrUpdateTime,
                    GrOpen       = a.GrOpen,
                    GrReadNum    = a.GrReadNum,
                    GrReplyNum   = a.GrReplyNum,
                    GrLaud       = a.GrLaud,
                    GrMark       = a.GrMark,

                    Uid = a.Uid,

                    Spare2 = a.Uid == UserId ? "owner" : "",
                    Spare3 = b.Nickname
                };
            }
            break;
            }

            query = (category?.ToLower()) switch
            {
                "top" => query.OrderByDescending(x => x.GrLaud),
                "text" => query.OrderByDescending(x => x.GrCreateTime).Where(x => !string.IsNullOrEmpty(x.GrContent) && string.IsNullOrEmpty(x.GrImage) && string.IsNullOrEmpty(x.GrAudio) && string.IsNullOrEmpty(x.GrVideo)),
                "image" => query.OrderByDescending(x => x.GrCreateTime).Where(x => !string.IsNullOrEmpty(x.GrImage)),
                "audio" => query.OrderByDescending(x => x.GrCreateTime).Where(x => !string.IsNullOrEmpty(x.GrAudio)),
                "video" => query.OrderByDescending(x => x.GrCreateTime).Where(x => !string.IsNullOrEmpty(x.GrVideo)),
                _ => query.OrderByDescending(x => x.GrCreateTime),
            };

            //所属用户
            if (OwnerId != 0)
            {
                query = query.Where(x => x.Uid == OwnerId);
            }

            //未登录
            if (UserId == 0)
            {
                query = query.Where(x => x.GrOpen == 1);
            }
            else
            {
                //已登录:公开&登录用户的所有
                query = query.Where(x => x.GrOpen == 1 || x.Uid == UserId);
            }

            //分类名/分类值
            if (!string.IsNullOrWhiteSpace(nv))
            {
                if (!nv.Contains("/"))
                {
                    nv += "/";
                }

                var nvs = nv.Split('/').ToList();
                var n   = nvs.FirstOrDefault();
                var v   = nvs.LastOrDefault();

                //分类名
                if (!string.IsNullOrWhiteSpace(n))
                {
                    query = query.Where(x => x.GrTypeName == n);
                }

                //分类值
                if (!string.IsNullOrWhiteSpace(v))
                {
                    query = query.Where(x => x.GrTypeValue == v);
                }
            }

            //标签
            if (!string.IsNullOrWhiteSpace(tag))
            {
                query = query.Where(x => x.GrTag.Contains(tag));
            }

            //标签
            if (!string.IsNullOrWhiteSpace(tag))
            {
                query = query.Where(x => x.GrTag.Contains(tag));
            }

            //对象
            if (!string.IsNullOrWhiteSpace(obj))
            {
                query = query.Where(x => x.GrObject.Contains(obj));
            }

            if (!string.IsNullOrWhiteSpace(q))
            {
                query = query.Where(x => x.GrContent.Contains(q) || x.GrTag.Contains(q));
            }

            var pag = new PaginationVM
            {
                PageNumber = Math.Max(page, 1),
                PageSize   = 18
            };

            var dicQs = new Dictionary <string, string>
            {
                { "q", q }
            };

            pag.Total = query.Count();
            var list = query.Skip((pag.PageNumber - 1) * pag.PageSize).Take(pag.PageSize).ToList();

            var listid = list.Select(x => x.GrId).ToList();

            //点赞查询
            if (category != "melaud")
            {
                var listtid = db.UserConnection.Where(x => listid.Contains(x.UconnTargetId) && x.Uid == UserId && x.UconnTargetType == ctype && x.UconnAction == 1).Select(x => x.UconnTargetId).ToList();
                foreach (var item in list)
                {
                    if (listtid.Contains(item.GrId))
                    {
                        item.Spare1 = "laud";
                    }
                }
            }

            //查询记录
            var ormo = new OperationRecord()
            {
                OrId         = Core.UniqueTo.LongId().ToString(),
                OrType       = ctype,
                OrAction     = "query",
                OrSource     = string.Join(",", listid),
                OrCreateTime = DateTime.Now,
                OrMark       = "default"
            };

            db.OperationRecord.Add(ormo);
            db.SaveChanges();

            PageVM pageSet = new PageVM()
            {
                Rows        = list,
                Pag         = pag,
                QueryString = dicQs
            };

            return(pageSet);
        }
Esempio n. 14
0
        /// <summary>
        /// 获取关联的文章列表
        /// </summary>
        /// <param name="OwnerId">所属用户关联</param>
        /// <param name="connectionType">关联分类</param>
        /// <param name="action">动作</param>
        /// <param name="page"></param>
        /// <returns></returns>
        public static PageSetVM UserConnWritingQuery(int OwnerId, EnumAid.ConnectionType connectionType, int action, int page)
        {
            var pag = new PaginationVM
            {
                PageNumber = Math.Max(page, 1),
                PageSize   = 20
            };

            using (var db = new ContextBase())
            {
                IQueryable <UserWriting> query = null;

                switch (connectionType)
                {
                case EnumAid.ConnectionType.UserWriting:
                {
                    query = from a in db.UserConnection
                            join b in db.UserWriting on a.UconnTargetId equals b.UwId.ToString()
                                where a.Uid == OwnerId && a.UconnTargetType == connectionType.ToString() && a.UconnAction == action
                            orderby a.UconnCreateTime descending
                            select b;
                }
                break;
                }

                if (query == null)
                {
                    return(null);
                }

                pag.Total = query.Count();

                query = query.Skip((pag.PageNumber - 1) * pag.PageSize).Take(pag.PageSize);

                var list = query.ToList();

                //文章ID
                var listUwId = list.Select(x => x.UwId).ToList();

                //文章的所有的标签
                var listUwTags = (from a in db.Tags
                                  join b in db.UserWritingTags on a.TagName equals b.TagName
                                  where listUwId.Contains(b.UwId)
                                  select new
                {
                    b.UwId,
                    b.TagName,
                    a.TagIcon
                }).ToList();

                //文章人员ID
                var listUwUid = list.Select(x => x.UwLastUid).Concat(list.Select(x => x.Uid)).Distinct();

                //文章人员ID对应的信息
                var listUwUserInfo = db.UserInfo.Where(x => listUwUid.Contains(x.UserId)).Select(x => new { x.UserId, x.Nickname }).ToList();

                //把信息赋值到文章表的备用字段上
                foreach (var item in list)
                {
                    //标签
                    item.Spare1 = listUwTags.Where(x => x.UwId == item.UwId).Select(x => new { x.TagName, x.TagIcon }).ToJson();

                    if (item.UwLastUid > 0)
                    {
                        item.Spare2 = listUwUserInfo.FirstOrDefault(x => x.UserId == item.UwLastUid)?.Nickname;
                        item.Spare3 = item.UwLastUid.ToString();
                    }
                    if (string.IsNullOrWhiteSpace(item.Spare2))
                    {
                        item.Spare2 = listUwUserInfo.FirstOrDefault(x => x.UserId == item.Uid)?.Nickname;
                        item.Spare3 = item.Uid.ToString();
                    }
                }

                var vm = new PageSetVM()
                {
                    Rows = list,
                    Pag  = pag
                };

                return(vm);
            }
        }
Esempio n. 15
0
        /// <summary>
        /// Gist查询,按列权重排序
        /// </summary>
        /// <param name="q">搜索</param>
        /// <param name="lang">语言</param>
        /// <param name="OwnerId">所属用户</param>
        /// <param name="UserId">登录用户</param>
        /// <param name="page">页码</param>
        /// <returns></returns>
        public static PageSetVM GistQuery(string q, string lang, int OwnerId = 0, int UserId = 0, int page = 1)
        {
            using (var db = new ContextBase())
            {
                var query1 = from a in db.Gist
                             join b in db.UserInfo on a.Uid equals b.UserId
                             where a.GistStatus == 1
                             orderby a.GistCreateTime descending
                             select new
                {
                    a,
                    b.Nickname
                };

                if (!string.IsNullOrWhiteSpace(lang))
                {
                    query1 = query1.Where(x => x.a.GistLanguage == lang);
                }

                if (!string.IsNullOrWhiteSpace(q))
                {
                    query1 = query1.Where(x => x.a.GistFilename.Contains(q) || x.a.GistContent.Contains(q) || x.a.GistRemark.Contains(q));
                }

                //所属用户
                if (OwnerId != 0)
                {
                    query1 = query1.Where(x => x.a.Uid == OwnerId);
                }

                //未登录
                if (UserId == 0)
                {
                    query1 = query1.Where(x => x.a.GistOpen == 1);
                }
                else
                {
                    //已登录:公开&登录用户的所有
                    query1 = query1.Where(x => x.a.GistOpen == 1 || x.a.Uid == UserId);
                }

                var query2 = query1.Select(x => new
                {
                    SearchOrder = (x.a.GistFilename.Contains(q) ? 4 : 0) + (x.a.GistContent.Contains(q) ? 2 : 0) + (x.a.GistRemark.Contains(q) ? 1 : 0),
                    x.Nickname,
                    x.a
                });

                var query = query2.OrderByDescending(x => x.SearchOrder).Select(x => new Gist
                {
                    GistCode           = x.a.GistCode,
                    GistContentPreview = x.a.GistContentPreview,
                    GistCreateTime     = x.a.GistCreateTime,
                    GistFilename       = x.a.GistFilename,
                    GistId             = x.a.GistId,
                    GistLanguage       = x.a.GistLanguage,
                    GistRemark         = x.a.GistRemark,
                    GistRow            = x.a.GistRow,
                    GistTags           = x.a.GistTags,
                    GistTheme          = x.a.GistTheme,
                    Uid = x.a.Uid,

                    Spare3 = x.Nickname
                });

                var pag = new PaginationVM
                {
                    PageNumber = Math.Max(page, 1),
                    PageSize   = 10
                };

                var dicQs = new Dictionary <string, string>
                {
                    { "q", q }
                };

                pag.Total = query.Count();
                var list = query.Skip((pag.PageNumber - 1) * pag.PageSize).Take(pag.PageSize).ToList();

                PageSetVM pageSet = new PageSetVM()
                {
                    Rows        = list,
                    Pag         = pag,
                    QueryString = dicQs
                };

                return(pageSet);
            }
        }
Esempio n. 16
0
 public async Task <PageResultVM <VehicleVM> > GetAllVehicleBoughtPaging(DateTime fromDate, DateTime toDate, [FromQuery] PaginationVM paginationVM)
 {
     return(await _VehicleService.GetAllVehicleBoughtPaging(fromDate, toDate, paginationVM));
 }
        public async Task <PageResultVM <VehicleVM> > GetAllVehicleBoughtPaging(DateTime fromDate, DateTime toDate, PaginationVM paginationVM)
        {
            if (fromDate.Year != 0001 || toDate.Year != 0001)
            {
                var listVehicleDTO = await dbset.Where(x => x.isBought == true).Where(x => x.UpdateAt.Date >= fromDate.Date).Where(x => x.UpdateAt.Date <= toDate).ToListAsync();

                var listVehicleVM = await VehicleJoinQuery(listVehicleDTO);

                var listVehicleVMPagination = listVehicleVM.Skip((paginationVM.PageIndex - 1) * paginationVM.PageSize).Take(paginationVM.PageSize).OrderByDescending(x => x.UpdateAt).ToList();
                return(new PageResultVM <VehicleVM>
                {
                    Items = listVehicleVMPagination,
                    PageIndex = paginationVM.PageIndex,
                    TotalRecord = listVehicleVM.Count()
                });
            }
            else
            {
                var listVehicleDTO = await dbset.Where(x => x.isBought == true).ToListAsync();

                var listVehicleVM = await VehicleJoinQuery(listVehicleDTO);

                var listVehicleVMPagination = listVehicleVM.Skip((paginationVM.PageIndex - 1) * paginationVM.PageSize).Take(paginationVM.PageSize).OrderByDescending(x => x.UpdateAt).ToList();
                return(new PageResultVM <VehicleVM>
                {
                    Items = listVehicleVMPagination,
                    PageIndex = paginationVM.PageIndex,
                    PageSize = paginationVM.PageSize,
                    TotalRecord = listVehicleVM.Count()
                });
            }
        }
        public async Task <PageResultVM <ConditionVM> > GetAllConditionByIdPaging(string token, int id, PaginationVM paginationVM)
        {
            var client = _httpClientFactory.CreateClient();

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
            client.BaseAddress = new Uri(_configuration["UrlApi"]);
            var response = await client.GetAsync("/api/vehicles/" + id + "/conditions/paging/?pageIndex=" + paginationVM.PageIndex);

            var body = await response.Content.ReadAsStringAsync();

            return(JsonConvert.DeserializeObject <PageResultVM <ConditionVM> >(body));
        }
Esempio n. 19
0
        public async Task <PageResultVM <AppUserModelMVC> > GetAllPaging(string token, PaginationVM paginationVM)
        {
            var client = _httpClientFactory.CreateClient();

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
            client.BaseAddress = new Uri(_configuration["UrlApi"]);
            var response = await client.GetAsync("/api/users/paging/?pageIndex=" + paginationVM.PageIndex);

            var body = await response.Content.ReadAsStringAsync();

            var pageResult    = JsonConvert.DeserializeObject <PageResultVM <AppUserVM> >(body);
            var appuserroleVM = await _userRoleServiceApiClient.GetAll(token);

            var listAppUserModelMVC = (from _user in pageResult.Items
                                       join _userrole in appuserroleVM on _user.AppUserRolesId equals _userrole.Id into userroles
                                       from _userroles in userroles.DefaultIfEmpty()
                                       select new AppUserModelMVC
            {
                appUserRoleVM = _userroles,
                appUserVM = _user
            }).ToList();

            return(new PageResultVM <AppUserModelMVC>
            {
                Items = listAppUserModelMVC,
                PageIndex = pageResult.PageIndex,
                PageSize = pageResult.PageSize,
                TotalRecord = pageResult.TotalRecord
            });
        }
        public async Task <PageResultVM <VehicleVM> > GetAllVehicleBoughtPaging(string token, DateTime fromDate, DateTime toDate, PaginationVM paginationVM)
        {
            var client = _httpClientFactory.CreateClient();

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
            client.BaseAddress = new Uri(_configuration["UrlApi"]);
            var response = await client.GetAsync("/api/vehicles/vehicle-bought/paging/?pageIndex=" + paginationVM.PageIndex + "&fromDate=" + fromDate + "&toDate=" + toDate);

            var body = await response.Content.ReadAsStringAsync();

            return(JsonConvert.DeserializeObject <PageResultVM <VehicleVM> >(body));
        }
Esempio n. 21
0
 public IActionResult Index(PaginationVM pagination, string name)
 {
     return(View());
 }
 public async Task <PageResultVM <AppUserVM> > GetAllPaging([FromQuery] PaginationVM paginationVM)
 {
     return(await _userService.GetAllPaging(paginationVM));
 }
 public Task <PageResultVM <VehicleAppraisalVM> > GetAllPaging(PaginationVM paginationVM)
 {
     throw new NotImplementedException();
 }
 public async Task <PageResultVM <ModelVM> > GetAllPaging([FromQuery] PaginationVM paginationVM)
 {
     return(await _ModelService.GetAllPaging(paginationVM));
 }
Esempio n. 25
0
        /// <summary>
        /// 获取文章列表
        /// </summary>
        /// <param name="KeyWords"></param>
        /// <param name="page"></param>
        /// <param name="TagName"></param>
        /// <returns></returns>
        public static PageSetVM UserWritingQuery(string KeyWords, int page, string TagName = "")
        {
            KeyWords = KeyWords ?? "";

            var pag = new PaginationVM
            {
                PageNumber = Math.Max(page, 1),
                PageSize   = 20
            };

            var dicQs = new Dictionary <string, string>
            {
                { "k", KeyWords }
            };

            using (var db = new ContextBase())
            {
                IQueryable <UserWriting> query;

                if (!string.IsNullOrWhiteSpace(TagName))
                {
                    query = from a in db.UserWritingTags.Where(x => x.TagName == TagName)
                            join b in db.UserWriting on a.UwId equals b.UwId
                            select b;
                    query = query.Distinct();
                }
                else
                {
                    query = from a in db.UserWriting select a;
                }

                query = query.Where(x => x.UwOpen == 1 && x.UwStatus == 1);

                if (!string.IsNullOrWhiteSpace(KeyWords))
                {
                    query = query.Where(x => x.UwTitle.Contains(KeyWords));
                }

                pag.Total = query.Count();

                query = query.OrderByDescending(x => x.UwId).Skip((pag.PageNumber - 1) * pag.PageSize).Take(pag.PageSize);

                var list = query.ToList();

                //文章ID
                var listUwId = list.Select(x => x.UwId).ToList();

                //文章的所有的标签
                var listUwTags = (from a in db.Tags
                                  join b in db.UserWritingTags on a.TagName equals b.TagName into bg
                                  from b in bg.DefaultIfEmpty()
                                  where listUwId.Contains(b.UwId) || a.TagName == TagName
                                  select new
                {
                    UwId = b == null ? 0 : b.UwId,
                    TagName = b == null ? TagName : b.TagName,
                    a.TagIcon
                }).ToList();

                //文章人员ID
                var listUwUid = list.Select(x => x.UwLastUid).Concat(list.Select(x => x.Uid)).Distinct();

                //文章人员ID对应的信息
                var listUwUserInfo = db.UserInfo.Where(x => listUwUid.Contains(x.UserId)).Select(x => new { x.UserId, x.Nickname }).ToList();

                //把信息赋值到文章表的备用字段上
                foreach (var item in list)
                {
                    //标签
                    item.Spare1 = listUwTags.Where(x => x.UwId == item.UwId).Select(x => new { x.TagName, x.TagIcon }).ToJson();

                    if (item.UwLastUid > 0)
                    {
                        item.Spare2 = listUwUserInfo.FirstOrDefault(x => x.UserId == item.UwLastUid)?.Nickname;
                        item.Spare3 = item.UwLastUid.ToString();
                    }
                    if (string.IsNullOrWhiteSpace(item.Spare2))
                    {
                        item.Spare2 = listUwUserInfo.FirstOrDefault(x => x.UserId == item.Uid)?.Nickname;
                        item.Spare3 = item.Uid.ToString();
                    }
                }

                var vm = new PageSetVM()
                {
                    Rows        = list,
                    Pag         = pag,
                    QueryString = dicQs
                };

                if (!string.IsNullOrWhiteSpace(TagName))
                {
                    try
                    {
                        var jt = KeyValuesQuery(new List <string> {
                            TagName
                        }).FirstOrDefault().KeyValue.ToJObject();

                        var tags = new List <object>
                        {
                            new
                            {
                                TagName,
                                listUwTags.FirstOrDefault(x => x.TagName == TagName)?.TagIcon
                            }
                        };

                        vm.Temp = new
                        {
                            abs = new List <string>
                            {
                                jt["abstract"].ToString(),
                                jt["url"].ToString()
                            },
                            tags
                        }.ToJson();
                    }
                    catch (Exception)
                    {
                    }
                }

                return(vm);
            }
        }
        public async Task <PageResultVM <VehicleCrawlDataVM> > GetAllVehicleLexusCrawlData(PaginationVM paginationVM)
        {
            var vehicleCrawlDataDTOs = await dbset.Where(x => x.Name.Contains("Lexus")).ToListAsync();

            var vehicleCrawlDataVMs      = _mapper.Map <List <VehicleCrawlDataVM> >(vehicleCrawlDataDTOs);
            var vehicleCrawlDataVMPaging = vehicleCrawlDataVMs.Skip((paginationVM.PageIndex - 1) * paginationVM.PageSize).Take(paginationVM.PageSize).ToList();

            return(new PageResultVM <VehicleCrawlDataVM>
            {
                Items = vehicleCrawlDataVMPaging,
                PageIndex = paginationVM.PageIndex,
                TotalRecord = vehicleCrawlDataVMs.Count()
            });
        }
Esempio n. 27
0
        /// <summary>
        /// 获取一个目标ID的回复
        /// </summary>
        /// <param name="replyType">回复分类</param>
        /// <param name="UrTargetId">回复目标ID</param>
        /// <param name="pag">分页信息</param>
        /// <returns></returns>
        public static List <UserReply> ReplyOneQuery(EnumAid.ReplyType replyType, string UrTargetId, PaginationVM pag)
        {
            using (var db = new ContextBase())
            {
                var query = from a in db.UserReply
                            join b in db.UserInfo on a.Uid equals b.UserId into bg
                            from b1 in bg.DefaultIfEmpty()
                            where a.UrTargetType == replyType.ToString() && a.UrTargetId == UrTargetId
                            orderby a.UrCreateTime ascending
                            select new UserReply
                {
                    Uid             = a.Uid,
                    UrId            = a.UrId,
                    UrStatus        = a.UrStatus,
                    UrCreateTime    = a.UrCreateTime,
                    UrContent       = a.UrContent,
                    UrAnonymousLink = a.UrAnonymousLink,
                    UrAnonymousMail = a.UrAnonymousMail,
                    UrAnonymousName = a.UrAnonymousName,

                    UrTargetId = a.UrTargetId,

                    Spare1 = b1.Nickname,
                    Spare2 = b1.UserPhoto
                };

                pag.Total = query.Count();

                query = query.Skip((pag.PageNumber - 1) * pag.PageSize).Take(pag.PageSize);

                var list = query.ToList();

                return(list);
            }
        }
Esempio n. 28
0
        /// <summary>
        /// Run查询
        /// </summary>
        /// <param name="q">搜索</param>
        /// <param name="OwnerId">所属用户</param>
        /// <param name="UserId">登录用户</param>
        /// <param name="page">页码</param>
        /// <returns></returns>
        public static PageVM RunQuery(string q, int OwnerId = 0, int UserId = 0, int page = 1)
        {
            using var db = new ContextBase();
            var query = from a in db.Run
                        join b in db.UserInfo on a.Uid equals b.UserId
                        where a.RunStatus == 1
                        orderby a.RunCreateTime descending
                        select new Run
            {
                RunCode       = a.RunCode,
                RunCreateTime = a.RunCreateTime,
                RunId         = a.RunId,
                RunRemark     = a.RunRemark,
                RunTags       = a.RunTags,
                RunTheme      = a.RunTheme,
                Uid           = a.Uid,
                RunOpen       = a.RunOpen,

                Spare3 = b.Nickname,
            };

            //所属用户
            if (OwnerId != 0)
            {
                query = query.Where(x => x.Uid == OwnerId);
            }

            //未登录
            if (UserId == 0)
            {
                query = query.Where(x => x.RunOpen == 1);
            }
            else
            {
                //已登录:公开&登录用户的所有
                query = query.Where(x => x.RunOpen == 1 || x.Uid == UserId);
            }

            if (!string.IsNullOrWhiteSpace(q))
            {
                query = query.Where(x => x.RunTheme.Contains(q) || x.RunRemark.Contains(q));
            }

            var pag = new PaginationVM
            {
                PageNumber = Math.Max(page, 1),
                PageSize   = 4
            };

            var dicQs = new Dictionary <string, string>
            {
                { "q", q }
            };

            pag.Total = query.Count();
            var list = query.Skip((pag.PageNumber - 1) * pag.PageSize).Take(pag.PageSize).ToList();

            PageVM pageSet = new PageVM()
            {
                Rows        = list,
                Pag         = pag,
                QueryString = dicQs
            };

            return(pageSet);
        }
Esempio n. 29
0
        /// <summary>
        /// Draw查询
        /// </summary>
        /// <param name="q">搜索</param>
        /// <param name="OwnerId">所属用户</param>
        /// <param name="UserId">登录用户</param>
        /// <param name="page">页码</param>
        /// <returns></returns>
        public static PageSetVM DrawQuery(string q, int OwnerId = 0, int UserId = 0, int page = 1)
        {
            using (var db = new ContextBase())
            {
                var query = from a in db.Draw
                            join b in db.UserInfo on a.Uid equals b.UserId
                            where a.DrStatus == 1
                            orderby a.DrCreateTime descending
                            select new Draw
                {
                    DrId         = a.DrId,
                    Uid          = a.Uid,
                    DrType       = a.DrType,
                    DrName       = a.DrName,
                    DrRemark     = a.DrRemark,
                    DrCategory   = a.DrCategory,
                    DrOrder      = a.DrOrder,
                    DrCreateTime = a.DrCreateTime,
                    DrStatus     = a.DrStatus,
                    DrOpen       = a.DrOpen,

                    Spare3 = b.Nickname
                };

                //所属用户
                if (OwnerId != 0)
                {
                    query = query.Where(x => x.Uid == OwnerId);
                }

                //未登录
                if (UserId == 0)
                {
                    query = query.Where(x => x.DrOpen == 1);
                }
                else
                {
                    //已登录:公开&登录用户的所有
                    query = query.Where(x => x.DrOpen == 1 || x.Uid == UserId);
                }

                if (!string.IsNullOrWhiteSpace(q))
                {
                    query = query.Where(x => x.DrName.Contains(q) || x.DrRemark.Contains(q));
                }

                var pag = new PaginationVM
                {
                    PageNumber = Math.Max(page, 1),
                    PageSize   = 20
                };

                var dicQs = new Dictionary <string, string>
                {
                    { "q", q }
                };

                pag.Total = query.Count();
                var list = query.Skip((pag.PageNumber - 1) * pag.PageSize).Take(pag.PageSize).ToList();

                PageSetVM pageSet = new PageSetVM()
                {
                    Rows        = list,
                    Pag         = pag,
                    QueryString = dicQs
                };

                return(pageSet);
            }
        }