public async Task <PageDataDTO <List <Order> > > GetByFilter(string shopId, string menberId, int orderStatus, int pageSize, int pageIndex) { IQueryable <Order> query = CurrentDbSet.Where(c => c.ShopId == shopId); if (!string.IsNullOrEmpty(menberId)) { query = query.Where(c => c.MemberId == menberId); } if (orderStatus >= 0 && orderStatus <= 5) { query = query.Where(c => c.OrderStatus == orderStatus); } int count = await query.CountAsync(); if (pageSize > 0) { query = query.Skip(pageSize * (pageIndex - 1)).Take(pageSize); } return(new PageDataDTO <List <Order> > { Total = count, Data = await query.OrderBy(g => g.CreateTime).ToListAsync() }); }
public async Task <bool> DeleteAndAddSKU(List <GoodInfoSKU> skuList) { bool res = false; using (IDbContextTransaction transaction = Database.BeginTransaction(IsolationLevel.ReadCommitted)) { try { List <GoodInfoSKU> removeList = await CurrentDbSet .Where(sku => sku.ShopId == skuList[0].ShopId && sku.GoodInfoId == skuList[0].GoodInfoId) .ToListAsync(); CurrentDbSet.RemoveRange(removeList); await CurrentDbSet.AddRangeAsync(skuList); SaveChanges(); transaction.Commit(); res = true; } catch { transaction.Rollback(); res = false; } } return(res); }
/// <summary> /// Assign values to specified property of Model from local DbSet and propagate changes to DGV. /// </summary> /// <typeparam name="T">Type of Model property</typeparam> /// <param name="prop">Name of properrty of Model or Column from dgv</param> /// <param name="val">Value</param> public void FillDbSetValues <T>(string prop, T val) { try { CellValueChanged -= RDataGridView_CellValueChanged; foreach (var i in SelectedCells.OfType <DataGridViewCell>().Select(c => c.RowIndex).Where(c => c >= 0).Distinct()) { var m = CurrentDbSet.Where(mm => mm.Id == (int)Rows[i].Cells["Id"].Value).FirstOrDefault(); if (m == null) { continue; } var setPropValue = m.GetType().GetProperty(prop).GetSetMethod(); setPropValue.Invoke(m, new object[] { val }); CurrentDbSet.Update(m); } SaveChanges(); Refresh(); CellValueChanged += RDataGridView_CellValueChanged; } catch (Exception ex) { Report.Notify(new RCM.Message(Codes.ERR_UI_WF_FILL_DB_VAL) { DetailedText = string.Join(Environment.NewLine, prop, ex.Message) }); } }
public PageEntity GetByPath(string path, bool isPreView) { if (path != "/" && path.EndsWith("/")) { path = path.Substring(0, path.Length - 1); } if (path == "/") { path = "/index"; } if (!path.StartsWith("~")) { path = "~" + path; } var result = CurrentDbSet .Where(m => m.Url == path && m.IsPublishedPage == !isPreView) .OrderByDescending(m => m.PublishDate) .FirstOrDefault(); //if (result != null && result.ExtendFields != null) //{ // /*! // * http://www.zkea.net/ // * Copyright 2017 ZKEASOFT // * http://www.zkea.net/licenses // */ // ((List<ExtendFieldEntity>)result.ExtendFields).Add(new ExtendFieldEntity { Title = "meta_support", Value = "ZKEASOFT" }); //} return(result); }
public virtual IList <T> Get(Expression <Func <T, bool> > filter, Pagination pagination) { pagination.RecordCount = Count(filter); IQueryable <T> result; if (filter != null) { result = CurrentDbSet.Where(filter); } else { result = CurrentDbSet; } if (pagination.OrderBy != null || pagination.OrderByDescending != null) { if (pagination.OrderBy != null) { result = result.OrderBy(pagination.OrderBy); } else { result = result.OrderByDescending(pagination.OrderByDescending); } } return(result.Skip(pagination.PageIndex * pagination.PageSize).Take(pagination.PageSize).ToList()); }
public virtual void Remove(Expression <Func <T, bool> > filter) { CurrentDbSet.RemoveRange(CurrentDbSet.Where(filter)); if (!isWaitingSave) { SaveChanges(); } }
public virtual IEnumerable <T> Get(Expression <Func <T, bool> > filter) { if (filter == null) { return(GetAll()); } return(CurrentDbSet.Where(filter)); }
public virtual int Count(Expression <Func <T, bool> > filter) { if (filter != null) { return(CurrentDbSet.Where(filter).Count()); } return(CurrentDbSet.Count()); }
/// <summary> /// 根据省份获取城市 /// </summary> /// <param name="Id"></param> /// <returns></returns> public PagerEntity <AreaEntity> QueryCityByProvinceAsync(string Id) { var entity = CurrentDbSet.Where(it => it.ParentId == Id); return(new PagerEntity <AreaEntity> { Entity = entity.ToList() }); }
public IEnumerable <ZoneEntity> GetZonesByPageId(string pageId) { var page = PageService.Get(pageId); using (var layoutService = _serviceProvder.GetService <ILayoutService>()) { var layout = layoutService.Get(page.LayoutId); return(CurrentDbSet.Where(m => m.LayoutId == layout.ID).OrderBy(m => m.ID).ToList()); } }
public virtual IEnumerable <T> Get(Expression <Func <T, bool> > filter, Pagination pagination) { pagination.RecordCount = Count(filter); if (filter != null) { return(CurrentDbSet.Where(filter).Skip(pagination.PageIndex * pagination.PageSize).Take(pagination.PageSize)); } else { return(CurrentDbSet.Skip(pagination.PageIndex * pagination.PageSize).Take(pagination.PageSize)); } }
/// <summary> /// 获取商品信息 /// </summary> /// <param name="shopId">店铺ID</param> /// <param name="categoryId">分类ID</param> /// <param name="status">状态:是否上线 0:下线 1:上线 其他:所有</param> /// <param name="recommendStatus">推荐状态:是否推荐 0:未推荐 1:推荐 其他:所有</param> public PageDataDTO <List <GoodInfo> > GetByFilter(string shopId, string categoryId, int status, int recommendStatus, int pageSize, int pageIndex) { IQueryable <GoodInfo> query = CurrentDbSet.Where(c => c.ShopId == shopId); if (!string.IsNullOrEmpty(categoryId)) { ///未分类 if (categoryId == "-1") { var categoryList = goodsCategoryDbSet.Where(c => c.ShopId == shopId).ToList(); List <string> categoryIdList = new List <string>(); foreach (var item in categoryList) { categoryIdList.Add(item.Id); } query = query.Where(c => !categoryIdList.Contains(c.CategoryId)); } else { query = query.Where(c => c.CategoryId == categoryId); } } if (status == 0 || status == 1) { query = query.Where(c => c.Status == (status == 1 ? true : false)); } if (recommendStatus == 0 || recommendStatus == 1) { query = query.Where(c => c.RecommendStatus == (recommendStatus == 1 ? true : false)); } int count = query.Count(); if (pageSize > 0 && pageIndex > 0) { query = query.Skip(pageSize * (pageIndex - 1)).Take(pageSize); } return(new PageDataDTO <List <GoodInfo> > { Total = count, Data = query.OrderBy(g => g.ShowIndex).ToList() }); }
/// <summary> /// 分页查询 + 条件查询 + 排序 /// </summary> /// <param name="pager">分页对象</param> /// <param name="condition">过滤条件</param> /// <returns></returns> public PagerEntity <DictionaryDetailEntity> QueryDictionaryDetailByPagers(PagerInfo pager, List <SearchCondition> condition = null) { var entity = CurrentDbSet.Where(it => true); //动态增加过滤条件 if (condition != null && condition.Count > 0) { var parser = new LambdaParser <DictionaryDetailEntity>(); entity = entity.Where(parser.ParserConditions(condition)); } var total = entity.Count(); entity = pager.Sort == "ASC" ? entity.OrderBy(pager.SortFiled) : entity.OrderByDescending(pager.SortFiled); entity = entity.Skip(pager.PageSize * (pager.PageIndex - 1)) .Take(pager.PageSize); return(new PagerEntity <DictionaryDetailEntity> { Entity = entity.ToList(), Total = total }); }
/// <summary> /// 获取模块按钮树形 /// </summary> /// <returns></returns> public List <ModuleEntity> QueryAllModule() { var btnentity = CurrentDbContext.Button.Where(it => true); List <ModuleEntity> moduleEntity = CurrentDbSet.Where(it => true).ToList(); foreach (var item in moduleEntity) { foreach (var item2 in btnentity) { if (item.Id == item2.ModuleId) { if (item.ButtonEntities == null) { item.ButtonEntities = new List <ModuleEntity.ButtonEntity>(); } item.ButtonEntities.Add(item2); } } } List <ModuleEntity> s = moduleEntity; return(moduleEntity); }
public IEnumerable <LayoutHtml> GetByLayoutID(string layoutId) { return(CurrentDbSet.Where(m => m.LayoutId == layoutId).OrderBy(m => m.LayoutHtmlId)); }
public virtual IList <T> Get(Expression <Func <T, bool> > filter) { return(CurrentDbSet.Where(filter).ToList()); }
public IQueryable <T> GetByCriteria(Func <T, bool> where) { return(CurrentDbSet.Where(where).AsQueryable()); }
public Task <List <GoodInfoSKU> > GetByGoodId(string shopId, string goodId) { return(CurrentDbSet.Where(sku => sku.ShopId == shopId && sku.GoodInfoId == goodId) .OrderBy(sku => sku.ShowIndex) .ToListAsync()); }
public IEnumerable <ZoneEntity> GetZonesByLayoutId(string layoutId) { return(CurrentDbSet.Where(m => m.LayoutId == layoutId).OrderBy(m => m.ID)); }
/// <summary> /// Returns average track rating for the specified track. /// </summary> /// <param name="trackId"> /// The track id. /// </param> /// <returns> /// The average track rating for the specified track. /// </returns> public double GetAverageMark(int trackId) { return(CurrentDbSet.Any(v => v.TrackId == trackId) ? CurrentDbSet.Where(v => v.TrackId == trackId).Average(v => v.Mark) : 0d); }
/// <summary> /// 获取所有地区不分页 /// </summary> /// <returns></returns> public List <AreaEntity> QueryAll() { var entity = CurrentDbSet.Where(it => true); return(entity.ToList()); }
public ArticleEntity GetNext(ArticleEntity article) { return(CurrentDbSet.Where(m => m.IsPublish && m.ArticleTypeID == article.ArticleTypeID && m.PublishDate > article.PublishDate).OrderBy(m => m.PublishDate).ThenBy(m => m.ID).Take(1).FirstOrDefault()); }
public List <GoodsCategory> GetByShopId(string shopId) { return(CurrentDbSet.Where(c => c.ShopId == shopId).OrderBy(c => c.ShowIndex).ToList()); }
public virtual void Remove(Expression <Func <T, bool> > filter) { CurrentDbSet.RemoveRange(CurrentDbSet.Where(filter)); DbContext.SaveChanges(); }
public ArticleEntity GetPrev(ArticleEntity article) { return(CurrentDbSet.Where(m => m.IsPublish && m.ArticleTypeID == article.ArticleTypeID && m.PublishDate < article.PublishDate && m.ID != article.ID).OrderByDescending(m => m.PublishDate).ThenByDescending(m => m.ID).FirstOrDefault()); }