namespace YLErp.Modules.UnderlyingModule { /// /// 板块性质服务 /// public class UnderlyingBlockService : YLBaseService { public UnderlyingBlockService(OptUserInfo userInfo) : base(userInfo) { } /// /// 获取所有板块名称 /// public IEnumerable GetBlocks(int? group) { var predicate = PredicateBuilder.Create(n => n.Group > 0); if (group.HasValue) { predicate = predicate.And(n => n.Group == group.Value); } return DbContext.UnderlyingBlockConfig.AsNoTracking() .Where(predicate).OrderByDescending(n => n.id).ToArray(); } public int SaveData(UnderlyingBlockConfig model) { UnderlyingBlockConfig dbModel; if (model.id > 0) { dbModel = DbContext.UnderlyingBlockConfig.Find(model.id); if (DbContext.UnderlyingBlockConfig.Any(n => n.id != model.id && n.Group == dbModel.Group && n.Name == model.Name)) { throw new ServiceException("板块性质名称不能重复"); } if (dbModel == null) { throw new ServiceException("数据不存在"); } dbModel.Name = model.Name; dbModel.OptId = model.OptId; dbModel.OptName = model.OptName; } else if (model.Group < 1 || model.Group > 5) { throw new ServiceException("group参数无效:" + model.Group); } else if (DbContext.UnderlyingBlockConfig.Any(n => n.id != model.id && n.Group == model.Group && n.Name == model.Name)) { throw new ServiceException("板块性质名称不能重复"); } else { DbContext.UnderlyingBlockConfig.Add(dbModel = model); } dbModel.OptDate = DateTime.Now; return DbContext.SaveChanges(); } public int RemoveDatas(int optId, string optName, params int[] ids) { if (ids == null || !ids.Any()) return 0; var datas = DbContext.UnderlyingBlockConfig.Where(n => ids.Contains(n.id)).ToArray(); foreach (var data in datas) { data.Group = -1; data.OptId = optId; data.OptName = optName; data.OptDate = DateTime.Now; } return DbContext.SaveChanges(); } } }