using CZFW.Framework.Logic; using CZFW.Framework.Model.Entity; using CZFW.Framework.Model.ViewModel; using CZKJ.GBRS2.Entity; using CZKJ.GBRS2.Interface; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CZKJ.GBRS2.Logic { public class MappingLogic : LogicBase, IMapping { public ResultModel AddMapping(int module, IList idList) { if(idList!=null) { IList list = new List(); foreach(var item in idList) { var entity = new MappingEntity { Module = module, RefId = item }; list.Add(entity); } return AddEntities(list); } return new ResultModel { Success = true }; } public IList GetProductTableList(int module, int pageIndex, int pageSize, out int rowsCount) { var queryable = Queryable.Where(x => x.Module == module); rowsCount = queryable.Count(); queryable = queryable.Skip((pageIndex - 1) * pageSize).Take(pageSize); var result = from a in queryable join p in DbContext.Set() on a.RefId equals p.Id join b in DbContext.Set() on p.TypeId equals b.Id into temp from t in temp.DefaultIfEmpty() select new { Id = p.Id, Title = p.Title, TypeName = t.Name, Image = p.Image, Summary = p.Summary, PublishTime = p.PublishTime }; return result.ToList().Select(x => new ProductEntity { Id = x.Id, Title=x.Title, TypeName=x.TypeName, Image=x.Image, Summary=x.Summary, PublishTime=x.PublishTime }).ToList(); } public ResultModel RemoveMapping(int module, int refId) { var entity = GetEntity(x=>x.Module==module&&x.RefId==refId); if(entity ==null) { return new ResultModel { Success = false, Message = "未删除任何数据" }; } return RemoveEntity(entity.Id); } public IList GetArticleTableList(int module, int pageIndex, int pageSize, out int rowsCount) { var queryable = Queryable.Where(x => x.Module == module); rowsCount = queryable.Count(); queryable = queryable.Skip((pageIndex - 1) * pageSize).Take(pageSize); var result = from x in queryable join ai in DbContext.Set() on x.RefId equals ai.Id join ty in DbContext.Set() on ai.TypeId equals ty.Id select new { Id = ai.Id, Title = ai.Title, Image = ai.Image, Summary = ai.Summary, Detail = ai.Detail, PublishTime = ai.PublishTime, TypeName = ty.Name }; return result.ToList().Select(x => new ArticleEntity { Id = x.Id, Title = x.Title, Image = x.Image, Summary = x.Summary, Detail = x.Detail, PublishTime = x.PublishTime, TypeName = x.TypeName }).ToList(); } } }