public CombinationDingdanData SearchDingdansByMengzhu (DateTime startTime,DateTime endTime, long lastId) { var result = new CombinationDingdanData(); using (var db = DbContextFactory.CreateDbContext()) { var xk = db.Xiakes.FirstOrDefault(a => a.XiakeName == Thread.CurrentPrincipal.Identity.Name); if (xk == null || (xk.UserType != XiakeType.Mengzhu && xk.UserType != XiakeType.Tangzhu && xk.UserType != XiakeType.Xiaoer)) throw new FaultException("非管理员不可调用"); IQueryable<Dingdan> dingdans = db.Dingdans.Include(a => a.Dianpu) .Include(a => a.Biaoshi).Include(a => a.Biaoshi.Biaoju) .Include(a => a.Dianpu).Include(a => a.Dianpu.Zhanggui) .OrderByDescending(a => a.Id); if (lastId != 0) dingdans = dingdans.Where(a => a.Id < lastId); dingdans = dingdans.Where(a => a.DateTime >= startTime); dingdans = dingdans.Where(a => a.DateTime <= endTime); if (lastId == 0) result.TotalCount = dingdans.Count(); dingdans = dingdans.Take(DomainDefinition.PAGE_SIZE); foreach (var dingdan in dingdans) { result.Items.Add(new DingdanData() { ID = dingdan.Id, Goods = dingdan.Goods, ZhangguiMarkType = dingdan.ZhangguiMarkType, ZhangguiMarkInfo = dingdan.ZhangguiMarkInfo, BiaojuMarkType = dingdan.BiaojuMarkType, BiaojuMarkInfo = dingdan.BiaojuMarkInfo, SrcId = dingdan.SrcId, Price = dingdan.Price, Salary = dingdan.Salary , Time = dingdan.DateTime, BiaojuQQ = dingdan.Biaoshi.Biaoju.QQ, Dianpu = dingdan.Dianpu.Name, Biaoju = dingdan.Biaoshi.Biaoju.XiakeName, Zhanggui = dingdan.Dianpu.Zhanggui.XiakeName, Biaoshi = dingdan.Biaoshi.Title, BiaojuId = dingdan.Biaoshi.Biaoju.Id, BangpaiType = dingdan.Bangpai, ZhangguiId = dingdan.Dianpu.Zhanggui.Id }); } if (result.Items.Count < DomainDefinition.PAGE_SIZE) result.IsLoadedAllData = true; } return result; }
public CombinationDingdanData SearchDingdansByBiaoju (long[] biaoshiIds, MarkType[] markTypes , DateTime startTime,DateTime endTime, long lastId) { var rv = new CombinationDingdanData(); using (var db = DbContextFactory.CreateDbContext()) { var xk = db.Xiakes.FirstOrDefault(a => a.XiakeName == Thread.CurrentPrincipal.Identity.Name); if (xk == null || xk.UserType != XiakeType.Biaoju) throw new FaultException("非镖局身份不可调用"); IQueryable<Dingdan> dingdans; if (lastId == 0) dingdans = db.Dingdans.Include(a => a.Biaoshi).Include(a => a.Dianpu).OrderByDescending(a => a.Id); else dingdans = db.Dingdans.Include(a => a.Biaoshi).Include(a => a.Dianpu).OrderByDescending(a => a.Id).Where(a => a.Id < lastId ); dingdans = dingdans.Where(a => biaoshiIds.Contains(a.Biaoshi.Id)); if (markTypes.Count() == 6) dingdans = dingdans.Where(a => a.BiaojuMarkType.HasValue == false || (a.BiaojuMarkType.HasValue == true && markTypes.Contains(a.BiaojuMarkType.Value))); else dingdans = dingdans.Where(a => (a.BiaojuMarkType.HasValue == true && markTypes.Contains(a.BiaojuMarkType.Value))); dingdans = dingdans.Where(a => a.DateTime >= startTime); dingdans = dingdans.Where(a => a.DateTime <= endTime); if (lastId == 0) rv.TotalCount = dingdans.Count(); dingdans = dingdans.Take(DomainDefinition.PAGE_SIZE); foreach (var dingdan in dingdans) { rv.Items.Add(new DingdanData() { ID = dingdan.Id, Goods = dingdan.Goods, BiaojuMarkType = dingdan.BiaojuMarkType, BiaojuMarkInfo = dingdan.BiaojuMarkInfo, SrcId = dingdan.SrcId, Price = dingdan.Price, Salary = dingdan.Salary , Time = dingdan.DateTime, Biaoshi = dingdan.Biaoshi.Title, BangpaiType = dingdan.Bangpai }); } if (rv.Items.Count < DomainDefinition.PAGE_SIZE) rv.IsLoadedAllData = true; } return rv; }