/// <summary> /// 票据信息(自动完成) /// </summary> /// <param name="paySn">票据编号</param> /// <param name="barcode">商品条码</param> /// <returns>list</returns> public static object GetSaleDetailInput(string paySn, string barcode) { var express = DynamicallyLinqHelper.Empty <SaleDetail>().And(o => o.Barcode == barcode, barcode.IsNullOrEmpty()).And(o => o.PaySN.StartsWith(paySn), paySn.IsNullOrEmpty()); var querySale = SaleOrdersService.CurrentRepository.QueryEntity; var queryDetail = CurrentRepository.QueryEntity.Where(express); var query = from x in querySale from y in queryDetail where x.PaySN == y.PaySN select new { y.PaySN, y.PurchaseNumber, y.SysPrice, x.CreateDT, x.ApiCode }; var apiList = DataCache.Get <List <ApiLibrary> >("apilib"); if (apiList == null) { apiList = ApiLibraryService.FindList(null); DataCache.Set("apilib", apiList); } var list = query.Take(20).ToList(); return(list.Select(o => new { ApiText = ApiText(o.ApiCode, apiList), o.CreateDT, o.PaySN, o.PurchaseNumber, o.SysPrice, })); }
public ActionResult GetProductInputBySupplierId(string supplierID) { var express = DynamicallyLinqHelper.Empty <VwProduct>().And(o => o.SupplierId == supplierID, supplierID.IsNullOrEmpty()); var list = BaseService <VwProduct> .FindList(express); return(ToDataGrid(list, list.Count)); }
//支付信息 订单 卡类型 public List <MemberCardPayDetailsViewModel> GetMemberCardPayDetailsByPageList(string cardType, DateTime?beginDate, DateTime?endDate, int?storeIds, string cardNo, out int count, ref object footer) { if (endDate.HasValue) { endDate = (DateTime)endDate.Value.AddDays(1); } var where = DynamicallyLinqHelper.Empty <Vw_MembershipCardPayDetails>().And(o => o.CompanyId == CommonService.CompanyId) .And(o => o.CreateDT >= beginDate, !beginDate.HasValue) .And(o => o.CreateDT < endDate, !endDate.HasValue) .And(o => o.CardTypeId == cardType, cardType.IsNullOrEmpty()) .And(o => o.StoreId == storeIds, !storeIds.HasValue) .And(o => o.CardSN == cardNo, cardNo.IsNullOrEmpty()); var result = CurrentRepository.Entities.Where(where).Select(o => new MemberCardPayDetailsViewModel() { Id = o.Id, OrderSN = o.OrderSN, CardSN = o.CardSN, CardType = o.CardType, CreateDT = o.CreateDT, Price = o.Price, StoreTitle = o.StoreTitle }); var payTotal = 0m; if (result.Count() > 0) { payTotal = result.Sum(o => o.Price); } footer = new List <object> { new { CardSN = "累计消费:", Price = payTotal } }; count = result.Count(); return(result.ToPageList()); }
public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var title = nvl["title"]; var classfyId = nvl["classfyId"].ToType <int>(); var BrandWhere = DynamicallyLinqHelper.Empty <ProductBrand>().And(o => o.Title.Contains(title.Trim()), title.IsNullOrEmpty()).And(o => o.ClassifyId == classfyId, classfyId <= 0); var queryPro = ProductRepository.GetQuery(); var queryBus = DataDictRepository.GetQuery(o => o.DicPSN == 5); var queryBrand = BrandRepository.GetQuery(BrandWhere); var queryTrader = TraderRepository.GetQuery(); var query = from x in queryBrand select new { x.Id, x.Source, x.State, x.Title, x.BrandSN, x.JianPin, StateTitle = x.State == 1?"可用":"禁用", ClassifyTitle = queryBus.Where(i => i.DicSN == x.ClassifyId).Select(i => i.Title).FirstOrDefault(), ProductCount = queryPro.Count(i => i.BrandSN == x.BrandSN), TraderTitle = queryTrader.Where(i => i.CID == x.Source).Select(o => o.Title).FirstOrDefault() }; recordCount = query.Count(); return(query.ToPageList()); }
/// <summary> /// 用于datagrid列表 /// </summary> /// <param name="nvl">传递条件</param> /// <param name="recordCount">返回总行数</param> /// <returns>list</returns> public static object FindPageList(NameValueCollection nvl, out int recordCount) { var query = BaseService <VwSupplier> .CurrentRepository.Entities.Where(o => o.CompanyId == CommonService.CompanyId); var sn = nvl["searchText"].Trim(); var state = nvl["state"].IsNullOrEmpty() ? -1 : short.Parse(nvl["state"]); var express = DynamicallyLinqHelper.True <VwSupplier>().And(o => (o.Title != null && o.Title.Contains(sn)) || (o.FullTitle != null && o.FullTitle.Contains(sn)) || (o.MobilePhone != null && o.MobilePhone.Contains(sn)) || (o.Linkman != null && o.Linkman.Contains(sn)), sn.IsNullOrEmpty()) .And(o => o.State == state, state == -1); var p = query.Where(express); var q = p.Where(o => o.BusinessType == 2); recordCount = q.Count(); var pages = q.ToPageList(nvl); var list = pages.Select(o => new { o.Id, o.Title, o.MasterAccount, o.Linkman, o.MobilePhone, o.Tel, o.ClassName, o.ApplyNum, o.Designeer, o.BusinessType }).ToList(); return(list); }
public static IEnumerable <dynamic> DetailPageList(NameValueCollection dicts, out int recordCount) { var categorys = new List <int>(); var suppliers = new List <string>(); if (!dicts["parentType"].IsNullOrEmpty()) { var categorysn = dicts["parentType"].Split(',').Select(o => int.Parse(o)).ToList(); categorys = ProductCategoryService.GetChildSNs(categorysn, true); } if (!dicts["supplierId"].IsNullOrEmpty()) { suppliers = dicts["supplierId"].Split(',').ToList(); } var start = dicts["StartDate"].ToType <DateTime?>(); var end = dicts["EndDate"].ToType <DateTime?>(); var bar = dicts["Barcode"]; var store = dicts["store"]; var balanceWhere = DynamicallyLinqHelper.Empty <InventoryBalance>().And(o => o.StoreId == store, store.IsNullOrEmpty()).And(o => o.CompanyId == CommonService.CompanyId) .And(o => o.BalanceDate >= start, !start.HasValue).And(o => o.BalanceDate <= end, !end.HasValue); var productWhere = DynamicallyLinqHelper.Empty <VwProduct>().And(o => categorys.Contains(o.CategorySN), !categorys.Any()).And(o => suppliers.Contains(o.SupplierId), !suppliers.Any()) .And(o => o.CompanyId == CommonService.CompanyId); var query1 = from x in BaseService <InventoryBalance> .CurrentRepository.QueryEntity.Where(balanceWhere) from y in BaseService <VwProduct> .CurrentRepository.QueryEntity.Where(productWhere) where (y.Barcode == x.Barcode || ("," + y.Barcodes + ",").Contains("," + x.Barcode + ",")) && x.Barcode == bar select new { x.Id, StoreTitle = WarehouseService.CurrentRepository.QueryEntity.Where(o => o.StoreId == x.StoreId && o.CompanyId == x.CompanyId).Select(o => o.Title).FirstOrDefault(), x.Barcode, y.Title, y.CategoryTitle, y.SubUnit, x.BalanceDate, x.StockAmount, x.Number, x.SaleAmount }; var query2 = from x in BaseService <InventoryBalance> .CurrentRepository.QueryEntity.Where(balanceWhere) join y in BaseService <Bundling> .CurrentRepository.QueryEntity on new { x.Barcode, x.CompanyId } equals new { Barcode = y.NewBarcode, y.CompanyId } where x.Barcode == bar select new { x.Id, StoreTitle = WarehouseService.CurrentRepository.QueryEntity.Where(o => o.StoreId == x.StoreId && o.CompanyId == x.CompanyId).Select(o => o.Title).FirstOrDefault(), x.Barcode, y.Title, CategoryTitle = "", SubUnit = "捆", x.BalanceDate, x.StockAmount, x.Number, x.SaleAmount }; var query = query1.Union(query2); recordCount = query.Count(); return(query.ToPageList()); }
public object MyReplyIndexPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var type = nvl["Type"].ToType <short>(); var status = nvl["Status"].ToType <short>(); var begin = nvl["CreateDT_begin"].ToType <DateTime?>(); var end = nvl["CreateDT_end"].ToType <DateTime?>(); if (end.HasValue) { end = end.Value.AddDays(1); } var search = (nvl["SearchText"] ?? "").Trim(); var detail = nvl["detail"];//是否已批复 var queryUser = UserRepository.GetQuery(); var queryDict = DictRepository.GetQuery(); var where = DynamicallyLinqHelper.Empty <Plans>().And(o => o.Type == type, type == 0).And(o => o.Status == status, status == 0) .And(o => o.CreateDT >= begin, !begin.HasValue).And(o => o.CreateDT < end, !end.HasValue).And(o => o.Content.Contains(search), search.IsNullOrEmpty()) .And(o => o.LeaderUID.Contains(CurrentUser.UID)).And(o => !(o.Summary == null || o.Summary == "")); if (detail.IsNullOrEmpty()) { where = where.And(o => !o.Replys.Any()); } else { where = where.And(o => o.Replys.Any()); } var query = PlanRepository.GetQuery(where).Include(o => o.Attachments).Include(o => o.Replys); var q = from x in query select new { x.Id, x.AssignerUID, Assigner = queryUser.Where(o => o.UserId == x.AssignerUID).Select(o => o.FullName).FirstOrDefault(), Creater = queryUser.Where(o => o.UserId == x.CreateUID).Select(o => o.FullName).FirstOrDefault(), x.Content, AttachCount = x.Attachments.Count, x.CreateDT, x.CreateUID, x.StartDate, x.EndDate, ReplyCount = x.Replys.Count, x.Status, x.Type, x.Summary, StatuTitle = queryDict.Where(o => o.DicSN == x.Status).Select(o => o.Title).FirstOrDefault(), TypeTitle = queryDict.Where(o => o.DicSN == x.Type).Select(o => o.Title).FirstOrDefault(), }; recordCount = q.Count(); var list = q.ToPageList(); return(list); }
public ActionResult GetSaleOrderInput(string searchName, int?maxRows) { if (searchName.IsNullOrEmpty()) { return(new EmptyResult()); } var express = DynamicallyLinqHelper.True <SaleOrders>().And(o => o.PaySN != null && o.PaySN.Contains(searchName) && o.State == 0 && o.Type == 0 && o.CompanyId == CommonService.CompanyId); var list = BaseService <SaleOrders> .FindList(express, takeNum : maxRows.HasValue?maxRows.Value : 20); return(ToDataGrid(list, 0)); }
/// <summary> /// 输入自动完成商品 /// </summary> /// <param name="searchName"></param> /// <param name="supplierID"></param> /// <returns></returns> public ActionResult GetStoreInput(string searchName, int?bigId) { var category = bigId.HasValue ? bigId.ToString() : ""; var express = DynamicallyLinqHelper.Empty <Warehouse>() .And(o => (o.StoreId.StartsWith(searchName)) || o.Title.Contains(searchName), searchName.IsNullOrEmpty()) .And(o => ("," + o.CategorySN + ",").Contains("," + category + ","), !bigId.HasValue); var list = BaseService <Warehouse> .FindList(express); return(ToDataGrid(list, 0)); }
public ActionResult GetBarcodeInput(string searchName, short?nature, short?valuationType, short?flag) { var express = DynamicallyLinqHelper.Empty <ProductRecord>() .And(o => o.ValuationType == valuationType.Value, !valuationType.HasValue).And(o => o.Barcode.Contains(searchName) || o.Title.Contains(searchName), searchName.IsNullOrEmpty()); if (flag == 1) { express = express.And(o => o.Nature != nature.Value, !nature.HasValue); } else { express = express.And(o => o.Nature == nature.Value, !nature.HasValue); } express = express.And(o => o.CompanyId == CommonService.CompanyId); var list = BaseService <ProductRecord> .FindList(express, takeNum : 20); return(ToDataGrid(list, list.Count)); }
//发件列表 public static object OutboxList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var query = CurrentRepository.QueryEntity.Include(o => o.Attachments).Where(o => o.SenderCode == Sys.CurrentUser.UserName && o.CompanyId == CommonService.CompanyId); var state = nvl["State"].IsNullOrEmpty()?-1:short.Parse(nvl["State"]); var title = nvl["searchText"].Trim(); query = query.Where(DynamicallyLinqHelper.Empty <SysMailSender>().And(o => o.State == state, state == -1).And(o => o.Title.StartsWith(title), title.IsNullOrEmpty())); recordCount = query.Count(); var list = query.ToPageList(); return(list.Select(o => new { o.Id, o.CreateDT, StateTitle = o.State == 0?"草稿":"已发送", o.Title, Receiver = o.ReceiverCodes, Attach = HasAttach(o.Attachments.Any()) })); }
public ActionResult GetProductInput(string searchName, string supplierID, string zp, string storeId, string order, short?getStockNum) { if (searchName.IsNullOrEmpty()) { return(new EmptyResult()); } var express = DynamicallyLinqHelper.Empty <VwProduct>() .And(o => (o.Barcode != null && o.Barcode.StartsWith(searchName)) || o.Title.Contains(searchName) || (o.Barcodes != null && o.Barcodes.Contains(searchName))) .And(o => o.IsAcceptOrder == 1, order.IsNullOrEmpty()).And(o => o.CompanyId == CommonService.CompanyId); if (!supplierID.IsNullOrEmpty()) { var sp = supplierID.Split(',').ToList(); var bars = BaseService <ProductMultSupplier> .FindList(o => sp.Contains(o.SupplierId)).Select(o => o.Barcode).Distinct().ToList(); express = express.And(o => (sp.Contains(o.SupplierId) || bars.Contains(o.Barcode)), supplierID.IsNullOrEmpty()); } if (!storeId.IsNullOrEmpty()) { var ware = WarehouseService.Find(o => o.StoreId == storeId && o.CompanyId == CommonService.CompanyId); if (ware != null) { var categorySNs = ware.CategorySN.Split(',').Select(o => int.Parse(o)).ToList(); var childs = ProductCategoryService.GetChildSNs(categorySNs, true); express = express.And(o => childs.Contains(o.CategorySN)); } } var list = BaseService <VwProduct> .FindList(express, takeNum : 20); list = ProductService.SetAssistBarcode(list); ProductService.SetSysPrice <VwProduct>(storeId, list, supplierId: supplierID); if (getStockNum == 1) { ProductService.SetStockNum(storeId, list); } return(ToDataGrid(list, 20)); }
public static object GetUsers(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var result = UserInfoService.CurrentRepository.QueryEntity.Where(o => o.CompanyId == CommonService.CompanyId); var organizationId = nvl["organizationId"].IsNullOrEmpty() ? -1 : int.Parse(nvl["organizationId"]); var departmentId = nvl["departmentId"].IsNullOrEmpty() ? -1 : int.Parse(nvl["departmentId"]); var roleGroupsId = nvl["roleGroupsId"]; var searchText = nvl["searchText"]; var express = DynamicallyLinqHelper.True <SysUserInfo>().And(o => o.BranchId == organizationId, organizationId == -1).And(o => o.BumenId == departmentId, departmentId == -1) .And(o => o.RoleIds != null && o.RoleIds.Contains(roleGroupsId), roleGroupsId.IsNullOrEmpty()).And(o => (o.FullName.Contains(searchText) || o.LoginName.Contains(searchText)), searchText.IsNullOrEmpty()); result = result.Where(express); recordCount = result.Count(); var list = result.ToPageList(); var orgIds = list.Select(o => o.BranchId).Distinct().ToList(); var deptIds = list.Select(o => o.BumenId).Distinct().ToList(); var roleIds = list.Where(o => o.RoleIds != null).SelectMany(o => o.RoleIds.Split(',')).Select(o => int.Parse(o)).Distinct().ToList(); var orgs = DepartmentInfoService.FindList(o => orgIds.Contains(o.Id)); var depts = DepartmentInfoService.FindList(o => deptIds.Contains(o.Id)); var roles = RoleInfoService.FindList(o => roleIds.Contains(o.Id)); return(list.Select(o => new { o.Id, o.FullName, o.LoginName, o.BranchId, o.BumenId, o.RoleIds, o.PositionId, Sex = o.Sex ? "男" : "女", PositionName = o.PositionId, OrganizationName = OrganizationName(o.BranchId, orgs), DepartmentName = DepartmentName(o.BumenId, orgs), RolesName = RolesName(o.RoleIds, roles), })); }
//收件列表 public static object InboxList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var query = BaseService <SysMailReceive> .CurrentRepository.QueryEntity.Include(o => o.Attachments).Where(o => o.ReceiveCode == Sys.CurrentUser.UserName && o.CompanyId == CommonService.CompanyId); var state = nvl["State"].IsNullOrEmpty() ? -1 : short.Parse(nvl["State"]); var title = nvl["searchText"].Trim(); query = query.Where(DynamicallyLinqHelper.Empty <SysMailReceive>().And(o => o.State == state, state == -1).And(o => o.Title.StartsWith(title), title.IsNullOrEmpty())); recordCount = query.Count(); var list = query.ToPageList(); var uids = list.Select(o => o.SenderCode).Distinct().ToList(); var users = UserInfoService.FindList(o => uids.Contains(o.LoginName) && o.CompanyId == CommonService.CompanyId); return(list.Select(o => new { o.Id, o.CreateDT, StateTitle = o.State == 0 ? "未读" : "已读", Content = Title(o.Title, o.Body, o.State), Sender = Sender(users, o.SenderCode, o.State), Attach = HasAttach(o.Attachments.Any()), o.State })); }
public ActionResult StoreSelect(string storeId, short?state, string date, string checkBatch) { var express = DynamicallyLinqHelper.True <TreasuryLocks>().And(o => o.LockStoreID == storeId, storeId.IsNullOrEmpty()) .And(o => o.State == state, !state.HasValue).And(o => o.CompanyId == CommonService.CompanyId); if (!date.IsNullOrEmpty()) { var start = DateTime.Parse(date); var end = start.AddMonths(1); express = express.And(o => o.LockDate >= start && o.LockDate < end); } var list = BaseService <TreasuryLocks> .FindList(express).OrderByDescending(o => o.LockDate).Select(o => new DropdownItem(o.CheckBatch)).ToList(); if (!checkBatch.IsNullOrEmpty()) { list.Where(o => o.Value == checkBatch).Each(o => o.IsSelected = true); } list.Insert(0, new DropdownItem("", "请选择", checkBatch.IsNullOrEmpty())); var users = _userBLL.GetStoreUser(storeId, null, 0).Select(o => new DropdownItem(o.UID, o.FullName)).ToList(); users.Insert(0, new DropdownItem("", "请选择", true)); return(new JsonNetResult(new { batchs = list, users = users })); }
public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var text = nvl["searchText"]; var category = nvl["category"]; var assigner = nvl["assigner"]; var searchField = nvl["searchField"]; var state = nvl["state"]; var queryDev = DevicesRepository.GetQuery(); var queryDict = DictRepository.GetQuery(); var queryUser = UserRepository.GetQuery(); var where = DynamicallyLinqHelper.Empty <DeviceAuthorize>(); if (!text.IsNullOrEmpty()) { int cid = 0; text = text.Trim(); int.TryParse(text, out cid); if (searchField == "Cid") { where = where.And(o => o.CID == cid); } else if (searchField == "DeviceNo") { where = where.And(o => o.DeviceNo != null && o.DeviceNo.StartsWith(text)); } else if (searchField == "ContractNo") { where = where.And(o => o.ContractNo != null && o.ContractNo.StartsWith(text)); } } if (!state.IsNullOrEmpty()) { var st = short.Parse(state); where = where.And(o => o.Status == st); } if (!assigner.IsNullOrEmpty()) { where = where.And(o => o.AssignerUID == assigner); } var queryDevAuth = DeviceAuthorRepository.GetQuery(where); var query = from x in queryDevAuth join y in queryDev on x.DeviceId equals y.DeviceId select new { x.Id, x.CID, x.Title, x.Source, Category = queryDict.Where(o => o.DicSN == y.CategoryId).Select(o => o.Title).FirstOrDefault(), y.Spec, y.Brand, x.DeviceNo, x.StoreName, x.EffectiveDT, x.ValidityNum, x.ExpirationDT, x.ContractNo, x.Status, y.CategoryId, x.CreateDT, x.MachineNo, Assigner = queryUser.Where(o => o.UserId == x.AssignerUID).Select(o => o.FullName).FirstOrDefault() }; if (!category.IsNullOrEmpty()) { var st = short.Parse(category); query = query.Where(o => o.CategoryId == st); } recordCount = query.Count(); return(query.ToPageList()); }
/// <summary> /// 获取品类/具体商品/品牌列表 /// </summary> /// <param name="recordCount">总数</param> /// <returns>品类/具体商品/品牌列表</returns> public object LoadTypeList(int Id, int type, out int recordCount) { recordCount = 0; if (Id == 0) { return(null); } var dal = new Pharos.Logic.DAL.MakingCouponCardDAL(); var obj = BaseService <MakingCouponCard> .FindById(Id); int proTypes = -1; string proCodes = ""; if (obj != null) { proTypes = obj.ProductTypes; proCodes = obj.ProductCode; } if (proTypes == 2 && proTypes == type)//指定品类 { var dt = dal.GetCategoryList(proCodes); var list = dt.AsEnumerable().Select(dr => new { BigCategoryTitle = dr["BigCategoryTitle"], MidCategoryTitle = dr["MidCategoryTitle"], SubCategoryTitle = dr["SubCategoryTitle"], CategorySN = dr["CategorySN"] }).ToList(); recordCount = list.Count; return(list); } else if (proTypes == 3 && proTypes == type)//具体商品 { var proList = proCodes.Split(',').ToList(); //var query = queryProduct.Where(o => proList.Contains(o.Barcode)); var list = new List <VwProduct>(); for (int i = 0; i < proList.Count(); i++) { var item = proList[i]; if (!string.IsNullOrEmpty(item)) { var express = DynamicallyLinqHelper.Empty <VwProduct>() .And(o => ((o.CompanyId == CommonService.CompanyId) && ((o.Barcode == item) || ("," + o.Barcodes + ",").Contains("," + item + ",")))); var model = BaseService <VwProduct> .FindList(express); list.AddRange(model); } } recordCount = list.Count; return(list); } else if (proTypes == 4 && proTypes == type)//指定品牌 { var dt = dal.GetBrandList(proCodes); var list = dt.AsEnumerable().Select(dr => new { Id = dr["Id"], BrandSN = dr["BrandSN"], Title = dr["Title"], JianPin = dr["JianPin"], Num = dr["Num"], ClassifyTitle = dr["ClassifyTitle"] }).ToList(); recordCount = list.Count; return(list); } else { return(null); } }
public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int count) { var treeId = nvl["treeId"].ToType <int?>(); var ids = nvl["ids"].ToIntArray(); var role = nvl["role"]; var status = nvl["status"].ToIntArray(); var searchField = nvl["searchField"]; var searchText = nvl["searchText"]; int userCode = 0; int.TryParse(searchText, out userCode); var where = DynamicallyLinqHelper.Empty <SysUser>().And(o => status.Contains(o.Status), status == null || !status.Any()) .And(o => o.DeptId == treeId, treeId == 0 || !treeId.HasValue) .And(o => ids.Contains(o.Id), ids == null || !ids.Any()) .And(o => ("," + o.RoleIds + ",").Contains("," + role + ","), role.IsNullOrEmpty()) .And(o => o.FullName != null && o.FullName.Contains(searchText), searchField != "1" || searchText.IsNullOrEmpty()) .And(o => o.UserCode >= userCode, searchField != "2" || userCode <= 0) .And(o => o.LoginName != null && o.LoginName.Contains(searchText), searchField != "3" || searchText.IsNullOrEmpty()); var queryUser = UserRepository.GetQuery(where); var queryPosition = PositionRepository.GetQuery(); var queryDept = DepartRepository.GetQuery(); var query = from x in queryUser select new { x.Id, x.UserCode, x.FullName, x.LoginName, x.DeptId, x.PositId, DeptTitle = queryDept.Where(o => o.DeptId == x.DeptId).Select(o => o.Title).FirstOrDefault(), PositionTitle = queryPosition.Where(o => o.PositId == x.PositId).Select(o => o.Title).FirstOrDefault(), x.CreateDT, x.LoginDT, x.Status, x.IsSuper, x.RoleIds }; count = query.Count(); var list = query.ToPageList(); var roleIds = list.Where(o => !o.RoleIds.IsNullOrEmpty()).SelectMany(o => o.RoleIds.Split(',')).Where(o => !o.IsNullOrEmpty()).Select(o => int.Parse(o)).Distinct(); var rolels = RoleRepository.GetQuery(o => roleIds.Contains(o.RoleId)).ToList(); return(list.Select(x => new { x.Id, x.UserCode, FullName = x.FullName + (x.IsSuper?" (超管)":""), x.LoginName, x.DeptId, x.PositId, x.CreateDT, x.LoginDT, x.Status, x.IsSuper, x.RoleIds, x.DeptTitle, x.PositionTitle, RoleTitles = GetRoleTitles(x.RoleIds, rolels) })); }
public object IndexPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var type = nvl["Type"].ToType <short>(); var status = nvl["Status"].ToType <short>(); var begin = nvl["CreateDT_begin"].ToType <DateTime?>(); var end = nvl["CreateDT_end"].ToType <DateTime?>(); if (end.HasValue) { end = end.Value.AddDays(1); } var search = (nvl["SearchText"] ?? "").Trim(); var assignerUID = (nvl["AssignerUID"] ?? "").Trim(); var all = nvl["all"];//是否所有计划 var assigers = assignerUID.Split(',').ToList(); var queryUser = UserRepository.GetQuery(); var queryDict = DictRepository.GetQuery(); var where = DynamicallyLinqHelper.Empty <Plans>().And(o => o.Type == type, type == 0).And(o => o.Status == status, status == 0) .And(o => o.CreateDT >= begin, !begin.HasValue).And(o => o.CreateDT < end, !end.HasValue).And(o => o.Content.Contains(search), search.IsNullOrEmpty()); if (all.IsNullOrEmpty()) { where = where.And(o => (o.CreateUID == CurrentUser.UID || o.AssignerUID == CurrentUser.UID)); } else { if (CurrentUser.HasPermiss(255))//查看所有人员 { where = where.And(o => (o.Summary == null || o.Summary == "")); } else if (CurrentUser.HasPermiss(99))//查看本部门及以下 { var users = CurrentUser.GetAllCreateUIDByDeptId(CurrentUser.DeptId); where = where.And(o => (users.Contains(o.CreateUID) || o.LeaderUID.Contains(CurrentUser.UID)) && (o.Summary == null || o.Summary == "")); } else { where = where.And(o => o.LeaderUID.Contains(CurrentUser.UID)).And(o => (o.Summary == null || o.Summary == "")); } where = where.And(o => assigers.Contains(o.AssignerUID), assignerUID.IsNullOrEmpty()); } var query = PlanRepository.GetQuery(where).Include(o => o.Attachments).Include(o => o.Replys); var q = from x in query select new { x.Id, x.AssignerUID, Assigner = queryUser.Where(o => o.UserId == x.AssignerUID).Select(o => o.FullName).FirstOrDefault(), Creater = queryUser.Where(o => o.UserId == x.CreateUID).Select(o => o.FullName).FirstOrDefault(), x.Content, AttachCount = x.Attachments.Count, x.CreateDT, x.CreateUID, x.StartDate, x.EndDate, ReplyCount = x.Replys.Count, x.Status, x.Type, x.Summary, StatuTitle = queryDict.Where(o => o.DicSN == x.Status).Select(o => o.Title).FirstOrDefault(), TypeTitle = queryDict.Where(o => o.DicSN == x.Type).Select(o => o.Title).FirstOrDefault(), }; recordCount = q.Count(); var list = q.ToPageList(); return(list); }
public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var text = nvl["searchText"]; var searchField = nvl["searchField"]; var state = nvl["state"]; var Assigner = nvl["Assigner"]; var Way = nvl["Way"]; var OpenVersionId = nvl["OpenVersionId"]; var ValidityNum = nvl["ValidityNum"]; var queryUser = UserRepository.GetQuery(); var queryDict = DataDictRepository.GetQuery(); var queryProductVer = ProductVerRepository.GetQuery(); var bussinessList = BusinessRepository.GetQuery().ToList(); var where = DynamicallyLinqHelper.Empty <CompanyAuthorize>(); if (!text.IsNullOrEmpty()) { int cid = 0; text = text.Trim(); int.TryParse(text, out cid); if (searchField == "Cid") { where = where.And(o => o.CID == cid); } else if (searchField == "Title") { where = where.And(o => o.Title.Contains(text)); } else if (searchField == "ContractNo") { where = where.And(o => o.ContractNo != null && o.ContractNo.StartsWith(text)); } } short way = 0, st = 0, verid = 0, validnum = 0; short.TryParse(Way, out way); short.TryParse(state, out st); short.TryParse(OpenVersionId, out verid); short.TryParse(ValidityNum, out validnum); where = where.And(o => o.AssignerUID == Assigner, Assigner.IsNullOrEmpty()).And(o => o.Way == way, Way.IsNullOrEmpty()).And(o => o.Status == st, state.IsNullOrEmpty()) .And(o => o.OpenVersionId == verid, OpenVersionId.IsNullOrEmpty()).And(o => o.ValidityNum == validnum, ValidityNum.IsNullOrEmpty()); var query = CompanyAuthorRepository.GetQuery(where); var q = from x in query join y in queryProductVer on x.OpenVersionId equals y.ProductId select new { x.Id, x.CreateDT, x, BusinessModeTitle = queryDict.Where(o => o.DicSN == x.BusinessMode).Select(o => o.Title).FirstOrDefault(), Assigner = queryUser.Where(o => o.UserId == x.AssignerUID).Select(o => o.FullName).FirstOrDefault(), y.ProductId, y.SysName }; recordCount = q.Count(); var list = q.ToPageList(); return(list.Select(o => new{ o.x.Id, o.x.CID, o.x.Source, o.x.Way, o.x.AppProper, o.x.StoreProper, o.x.Title, o.x.ContractNo, o.x.EffectiveDT, o.x.ExpirationDT, o.x.ValidityNum, o.x.UserNum, o.x.StoreNum, o.x.PosMinorDisp, o.x.MemberShared, o.x.OpenVersionId, o.x.Status, o.x.SupperAccount, o.x.CreateDT, o.x.OpenScopeId, o.BusinessModeTitle, o.Assigner, OpenVersionTitle = "(" + o.ProductId + ")" + o.SysName, StatusTitle = Enum.GetName(typeof(CompanyAuthorizeState), o.x.Status), OpenScopeTitle = o.x.OpenScopeId.IsNullOrEmpty() ? "" : string.Join(",", bussinessList.Where(i => o.x.OpenScopeId.Split(',').Contains(i.ById)).Select(i => i.Title)) })); }
/// <summary> /// 用于datagrid列表 /// </summary> /// <param name="searchText">传递条件</param> /// <param name="recordCount">返回总行数</param> /// <returns>list</returns> public static IEnumerable <dynamic> FindMemberPageList(NameValueCollection nvl, ref int rowCount, ref object footer) { var StoreId = nvl["StoreId"]; var MemberGroupId = nvl["MemberGroupId"]; var cityInfo = nvl["CurrentCityId_0"]; int?currentProvinceID = null; int?currentCityId = null; int?currentcountyId = null; if (cityInfo.Contains(",")) { var cityInfoArry = cityInfo.Split(','); currentProvinceID = cityInfoArry[0].ToType <int?>(); currentCityId = cityInfoArry[1].ToType <int?>(); if (cityInfoArry.Length == 3) { currentcountyId = cityInfoArry[2].ToType <int?>(); } } else { currentProvinceID = cityInfo.ToType <int?>(); } //var CurrentCityId = nvl["CurrentCityId"].ToType<int?>(); var MemberLevelId = nvl["MemberLevelId"]; var date1 = nvl["date1"].ToType <DateTime?>(); var date2 = nvl["date2"].ToType <DateTime?>(); if (date2.HasValue) { date2 = date2.Value.AddDays(1); } var searchField = nvl["searchField"]; var searchText = nvl["searchText"].Replace(" ", ""); var whereMember = DynamicallyLinqHelper.Empty <Members>().And(o => o.CompanyId == CommonService.CompanyId).And(o => o.StoreId == StoreId, StoreId.IsNullOrEmpty()) .And(o => o.MemberGroupId == MemberGroupId, MemberGroupId.IsNullOrEmpty()) .And(o => o.CurrentProvinceId == currentProvinceID, !currentProvinceID.HasValue) .And(o => o.CurrentCityId == currentCityId, !currentCityId.HasValue) .And(o => o.CurrentCountyId == currentcountyId, !currentcountyId.HasValue) .And(o => o.MemberLevelId == MemberLevelId, MemberLevelId.IsNullOrEmpty()) .And(o => o.CreateDT >= date1, !date1.HasValue) .And(o => o.CreateDT < date2, !date2.HasValue) .And(o => o.MemberNo != null && o.MemberNo.Contains(searchText), searchField != "1" || searchText.IsNullOrEmpty()) .And(o => o.RealName != null && o.RealName.Contains(searchText), searchField != "2" || searchText.IsNullOrEmpty()) .And(o => o.MobilePhone != null && o.MobilePhone.Contains(searchText), searchField != "4" || searchText.IsNullOrEmpty()) .And(o => o.Weixin != null && o.Weixin.Contains(searchText), searchField != "5" || searchText.IsNullOrEmpty()) .And(o => o.Zhifubao != null && o.Zhifubao.Contains(searchText), searchField != "6" || searchText.IsNullOrEmpty()) .And(o => o.Email != null && o.Email.Contains(searchText), searchField != "7" || searchText.IsNullOrEmpty()) .And(o => o.QQ != null && o.QQ.Contains(searchText), searchField != "8" || searchText.IsNullOrEmpty()) .And(o => o.CompanyId == CommonService.CompanyId); var whereCard = DynamicallyLinqHelper.Empty <MembershipCard>().And(o => o.CardSN != null && o.CardSN.Contains(searchText), searchField != "3" || searchText.IsNullOrEmpty()); var query = from x in CurrentRepository.QueryEntity.Where(whereMember) where searchField != "3" || (searchField == "3" && !(searchText == null || searchText == "") && BaseService <MembershipCard> .CurrentRepository.QueryEntity.Any(o => o.CardSN != null && o.CardSN.Contains(searchText) && o.MemberId == x.MemberId)) select new { x.Id, x.StoreId, x.MemberNo, x.RealName, x.Sex, x.UsableBalance, x.UsableIntegral, x.RechargeTotal, x.ConsumeTotal, x.MemberGroupId, x.MemberLevelId, x.DefaultPreferentialId, x.DefaultIntegrationId, x.IDNumber, x.Birthday, x.MobilePhone, x.Weixin, x.Zhifubao, x.Email, x.Status, x.CreateUID, x.CreateDT, StoreTitle = WarehouseService.CurrentRepository.QueryEntity.Where(o => o.StoreId == x.StoreId && o.CompanyId == x.CompanyId).Select(o => o.Title).FirstOrDefault(), CurrentCity = BaseService <Area> .CurrentRepository.QueryEntity.Where(o => o.AreaID == x.CurrentCityId).Select(o => o.Title).FirstOrDefault(), FullName = UserInfoService.CurrentRepository.QueryEntity.Where(o => o.UID == x.CreateUID).Select(o => o.FullName).FirstOrDefault(), Referrer = UserInfoService.CurrentRepository.QueryEntity.Where(o => o.UID == x.ReferrerUID).Select(o => o.FullName).FirstOrDefault(), MemberLevel = BaseService <MemberLevel> .CurrentRepository.QueryEntity.Where(o => o.MemberLevelId == x.MemberLevelId).Select(o => o.LevelTitle).FirstOrDefault(), MemberGroup = BaseService <Grouping> .CurrentRepository.QueryEntity.Where(o => o.GroupId == x.MemberGroupId).Select(o => o.Title).FirstOrDefault(), MemberCards = BaseService <MembershipCard> .CurrentRepository.QueryEntity.Where(o => o.CompanyId == x.CompanyId && o.MemberId == x.MemberId).Select(o => o.CardSN).FirstOrDefault(), Coupons = BaseService <CouponCardDetail> .CurrentRepository.QueryEntity.Count(o => o.UsePerson == x.MemberId) }; rowCount = query.Count(); return(query.ToPageList()); }