public IQueryable <InnerBoxExtraModel> GetInnerBoxesExtra(SearchInnerBoxExtraParam p, bool canCheckAll) { var result = from ibe in db.InnerBoxesExtra join ib in db.InneBoxes on ibe.inner_box_id equals ib.inner_box_id join o in db.OuterBoxes on ib.outer_box_id equals o.outer_box_id into ot from ob in ot.DefaultIfEmpty() where ibe.create_date >= p.beginDate && ibe.create_date <= p.endDate && ibe.account == p.account && (ibe.item_model.Contains(p.itemInfo) || ibe.item_name.Contains(p.itemInfo)) && (canCheckAll || (ibe.user_name + "A").Contains(p.userName)) && ((p.hasUsed == "所有") || (p.hasUsed == "已使用" && ob.bill_id != null) || (p.hasUsed == "未使用" && ob.bill_id == null)) && ((p.hasRelated == "所有") || (p.hasRelated == "已关联" && ib.outer_box_id != null) || (p.hasRelated == "未关联" && ib.outer_box_id == null)) && ib.box_number_long.Contains(p.innerBoxNumber) && (p.outerBoxNumber == "" || ob.box_number_long.Contains(p.outerBoxNumber)) orderby ibe.create_date descending select new InnerBoxExtraModel() { ib = ib, extra = ibe, hasRelated = ib.outer_box_id == null ? "未关联" : "已关联", hasUsed = ob == null ? "未使用" : (ob.bill_id == null ? "未使用" : "已使用"), outerBoxNumber = ob == null ? "" : ob.box_number }; return(result); }
public JsonResult GetInnerBoxexExtra(FormCollection fc) { SearchInnerBoxExtraParam p = new SearchInnerBoxExtraParam(); MyUtils.SetFieldValueToModel(fc, p); p.endDate = p.endDate.AddDays(1); p.account = currentAccount; p.itemInfo = p.itemInfo ?? ""; p.userName = currentUser.userName; p.innerBoxNumber = p.innerBoxNumber ?? ""; p.outerBoxNumber = p.outerBoxNumber ?? ""; var result = new BoxSv().GetInnerBoxesExtra(p, canCheckAll); int total = result.Count(); return(Json(new { suc = true, total = total, result = result.Skip((p.page - 1) * p.rows).Take(p.rows).ToList() })); }