示例#1
0
        public ActionResult GetStalls(StallsSearchDTO req)
        {
            int total = 0;
            var list  = StallsRepository.GetList(out total, req);

            return(Json(new { rows = list, total = total }, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public ActionResult GetStalls(StallsSearchDTO req)
        {
            if (req.ListType == 1)
            {
                req.offset = (req.offset - 1) * req.limit;
            }

            var list = _stallsRepository.GetList(out int total, req);

            return(Json(new { rows = list, total = total, code = 0, msg = "" }, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public List <StallsListDTO> GetList(out int total, StallsSearchDTO req)
        {
            using (var db = new SqlSugarClient(Connection))
            {
                int    totalCount         = 0;
                string order              = "Id desc";
                List <StallsListDTO> list = new List <StallsListDTO>();

                if (!string.IsNullOrEmpty(req.Sort))
                {
                    if (req.Sort.Equals("id", StringComparison.OrdinalIgnoreCase))
                    {
                        order = "Id desc";
                    }
                    else
                    {
                        order = string.Format("{0} {1}", req.Sort, req.Order);
                    }
                }
                var data = db.Queryable <R_Stall>()
                           .JoinTable <Printer>((S, P) => P.Id == S.Print_Id && P.IsDelete == false, JoinType.Left)
                           .Select(@"S.*, P.Name AS PrinterName, 
                              MainProjectNum=(select count(0) from R_ProjectStall where R_Stall_Id=S.Id AND BillType = 2), 
                              DetailProjectNum=(select count(0) from R_ProjectStall where R_Stall_Id=S.Id AND BillType = 1)")
                           .Where(" S.IsDelete = 0 ").ToDataTable();

                if (data != null && data.Rows.Count > 0)
                {
                    DataView dtv = data.DefaultView;
                    dtv.Sort   = order;
                    data       = dtv.ToTable();
                    totalCount = data.Rows.Count;
                    var rows    = data.Rows.Cast <DataRow>();
                    var curRows = rows.Skip(req.offset).Take(req.limit).ToArray();

                    foreach (DataRow item in curRows)
                    {
                        list.Add(new StallsListDTO()
                        {
                            Id               = Convert.ToInt32(item["id"]),
                            Name             = item["Name"].ToString(),
                            Description      = item["Description"].ToString(),
                            MainProjectNum   = Convert.ToInt32(item["MainProjectNum"]),
                            DetailProjectNum = Convert.ToInt32(item["DetailProjectNum"]),
                            PrinterName      = item["PrinterName"].ToString()
                        });
                    }
                }

                total = totalCount;
                return(list);
            }
        }