public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var query = ProductModelVerRepository.GetQuery(); var queryProduct = ProductVerRepository.GetQuery(); var queryUser = UserRepository.GetQuery(); var productId = nvl["productId"].ToType <int?>(); var state = nvl["state"]; var verstate = nvl["verstate"]; var q = from x in query join y in queryProduct on x.ProductId equals y.ProductId select new { x.Id, x.CreateDT, x.ProductId, x.Status, x.VerStatus, x, MenuCount = x.ProductMenuLimits.Count(o => o.Type != 3), LimitCount = x.ProductMenuLimits.Count(o => o.Type == 3), y.SysName, Updater = queryUser.Where(o => o.UserId == x.UpdateUID).Select(o => o.FullName).FirstOrDefault(), Publisher = queryUser.Where(o => o.UserId == x.PublishUID).Select(o => o.FullName).FirstOrDefault() }; if (productId.HasValue) { q = q.Where(o => o.ProductId == productId); } if (!state.IsNullOrEmpty()) { var st = state.Split(',').Select(o => short.Parse(o)).ToList(); q = q.Where(o => st.Contains(o.Status)); } if (!verstate.IsNullOrEmpty()) { var st = verstate.Split(',').Select(o => short.Parse(o)).ToList(); q = q.Where(o => st.Contains(o.VerStatus)); } recordCount = q.Count(); return(q.ToPageList().Select(x => new{ x.Id, x.x.ModuleId, x.ProductId, x.SysName, x.x.VerCode, x.CreateDT, x.x.CreateUID, x.Status, x.VerStatus, x.x.UpdateDT, x.x.PublishDT, x.x.StatusTitle, x.x.VerStatusTitle, x.MenuCount, x.LimitCount, x.Updater, x.Publisher })); }
public List <Entity.ProductVer> GetProductVers() { var queryProduct = ProductVerRepository.GetQuery(); var queryModel = ProductModelVerRepository.GetQuery(); var query = from x in queryProduct where !queryModel.Any(o => o.ProductId == x.ProductId) && x.Status == 1 select x; return(query.ToList()); }
public OpResult Deletes(int[] ids) { var list = ProductModelVerRepository.GetQuery(o => ids.Contains(o.Id)).Include(o => o.ProductMenuLimits).ToList(); if (list.Any(o => o.VerStatus > 0)) { return(OpResult.Fail("该状态不允许删除!")); } ProductMenuLimitRepository.RemoveRange(list.SelectMany(o => o.ProductMenuLimits).ToList(), false); //ProductUpdateLogRepository.RemoveRange(list.SelectMany(o => o.ProductUpdateLogs).ToList(), false); ProductModelVerRepository.RemoveRange(list); return(OpResult.Success()); }
public OpResult Publish(string modelId, short state) { var obj = Get(modelId); if (obj != null) { if (!obj.ProductMenuLimits.Any(o => o.Type != 3)) { return(OpResult.Fail("请先配置菜单!")); } if (!obj.ProductMenuLimits.Any(o => o.Type == 3)) { return(OpResult.Fail("请先配置权限!")); } obj.VerStatus = state; var list = ProductModelVerRepository.GetQuery(o => o.ProductId == obj.ProductId && o.ModuleId != obj.ModuleId).ToList(); list.Where(o => o.VerStatus == obj.VerStatus).Each(o => o.Status = 2); if (state == 1)//测试 { obj.PublishDT = DateTime.Now; obj.PublishUID = CurrentUser.UID; obj.Status = 1; var source = list.OrderByDescending(o => o.VerCode).FirstOrDefault(o => o.VerCode > 0); if (source == null) { obj.VerCode = 1; } else { obj.VerCode = source.VerCode + 0.1m; } } ProductVerRepository.SaveChanges(); return(OpResult.Success()); } return(OpResult.Fail()); }
public Entity.ProductModuleVer Get(string modelId) { return(ProductModelVerRepository.GetQuery(o => o.ModuleId == modelId).Include(o => o.ProductMenuLimits).FirstOrDefault()); }