public ActionResult GetPayMethods(PayMethodSearchDTO req) { if (req.ListType == 1) { req.offset = (req.offset - 1) * req.limit; } var list = _payMethodRepository.GetList(out int total, req); return(Json(new { rows = list, total = total, code = 0, msg = "" }, JsonRequestBehavior.AllowGet)); }
public List <PayMethodListDTO> GetList(out int total, PayMethodSearchDTO req) { var companyId = OperatorProvider.Provider.GetCurrent().CompanyId.ToInt(); using (var db = new SqlSugarClient(Connection)) { int totalCount = 0; string order = string.Empty; List <PayMethodListDTO> list = new List <PayMethodListDTO>(); if (req.Sort.Equals("id", StringComparison.OrdinalIgnoreCase) || string.IsNullOrEmpty(req.Sort)) { order = "s1.Id desc"; } else { order = string.Format("{0} {1}", req.Sort, req.Order); } //var data = db.Queryable<R_PayMethod>() // .JoinTable<R_PayMethod>((s1, s2) => s1.Pid == s2.Id && s2.IsDelete == false) // .Select<PayMethodListDTO>("s1.*,s2.Name as ParentName"); var data = db.Sqlable().From <R_PayMethod>("s1") .Join <R_PayMethod>("s2", "s1.Pid", "s2.Id", JoinType.Left) .Where("s1.IsDelete = 0"); data = data.Where("(s1.IsSystem=1 or s1.R_Company_Id=" + companyId + ")"); if (!string.IsNullOrWhiteSpace(req.Name)) { data = data.Where("s1.Name like '%" + req.Name + "%'"); } if (req.Pid > 0) { data = data.Where("s1.Pid=" + req.Pid + ""); } totalCount = data.Count(); list = data.SelectToPageList <PayMethodListDTO>( "s1.*,s2.Name as ParentName", order, (req.offset / req.limit) + 1, req.limit, null); total = totalCount; return(list); } }