using System; using System.Collections.Generic; using System.Data; using System.Linq; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Wx; using WX.CRM.Model.Entity; namespace WX.CRM.BLL.Wx { public class WX_SZZYORDER2_BL : DbContextRepository, IWX_SZZYORDER2 { public List GetList2(ref Pager pager, string resId, string contractCode, string szzyOrderId, decimal productId, decimal subProductId, decimal orderType, string stime, string etime, string orderStatus, string ostime, string oetime, string fcText, string cName) { using (var db = new crmContext()) { var queryData = db.WX_SZZYORDER2.AsQueryable(); if (!string.IsNullOrWhiteSpace(resId)) { resId = resId.Trim(); queryData = queryData.Where(m => m.RESID == resId); } if (!string.IsNullOrWhiteSpace(szzyOrderId)) { szzyOrderId = szzyOrderId.Trim(); var id = Convert.ToDecimal(szzyOrderId); queryData = queryData.Where(m => m.SZZYORDERID == id); } if (!string.IsNullOrWhiteSpace(contractCode)) { contractCode = contractCode.Trim(); queryData = queryData.Where(m => m.CONTRACTCODE == contractCode); } if (subProductId > 0) { queryData = queryData.Where(m => m.SUBPRODUCTID == subProductId); } else { if (productId > 0) { queryData = queryData.Where(m => m.PRODUCTID == productId); } } if (orderType > 0) { queryData = queryData.Where(m => m.ORDERTYPE == orderType); } if (!string.IsNullOrWhiteSpace(stime)) { DateTime time1 = Convert.ToDateTime(stime); queryData = queryData.Where(m => m.ARRIVALTIME >= time1); } if (!string.IsNullOrWhiteSpace(etime)) { DateTime time2 = Convert.ToDateTime(etime).AddDays(1); queryData = queryData.Where(m => m.ARRIVALTIME < time2); } if (!string.IsNullOrWhiteSpace(orderStatus)) { orderStatus = orderStatus.Trim(); queryData = queryData.Where(m => m.ORDERSTATUS == orderStatus); } if (!string.IsNullOrWhiteSpace(ostime)) { DateTime time1 = Convert.ToDateTime(ostime); queryData = queryData.Where(m => m.OTIME >= time1); } if (!string.IsNullOrWhiteSpace(oetime)) { DateTime time2 = Convert.ToDateTime(oetime).AddDays(1); queryData = queryData.Where(m => m.OTIME < time2); } if (!string.IsNullOrWhiteSpace(fcText)) { fcText = fcText.Trim(); queryData = queryData.Where(m => m.FCTEXT.Contains(fcText)); } if (!string.IsNullOrEmpty(cName)) { queryData = queryData.Where(m => m.CNAME.Contains(cName)); } queryData = queryData.OrderByDescending(m => m.CTIME).OrderByDescending(m => m.OPERATETIME); WX_SZZYORDER2 orderSum = new WX_SZZYORDER2() { RESID = "合计", NEEDPAY = queryData.Sum(p => p.NEEDPAY), FINALPAY = queryData.Sum(p => p.FINALPAY), ARRIVALPAY = queryData.Sum(p => p.ARRIVALPAY), ORDERTYPE = 0, ORDERSTATUS = string.Empty }; PagerUtil.SetPager(ref queryData, ref pager); var list = queryData.ToList(); list.Add(orderSum); return list; } } } }