public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var query = ProductVerRepository.GetQuery(); var queryUse = ProductModuleVerRepository.GetQuery().Select(o => o.ProductId) .Union(ProductDictionaryVerRepository.GetQuery().Select(o => o.ProductId)) .Union(ProductDataVerRepository.GetQuery().Select(o => o.ProductId)) .Union(ProductRoleVerRepository.GetQuery().Select(o => o.ProductId)); var queryUser = UserRepository.GetQuery(); var code = nvl["code"].ToType <int?>(); var state = nvl["state"]; var q = from x in query select new { x.Id, x.ProductId, x.Name, x.SysName, x.Alias, x.CreateDT, x.CreateUID, x.Status, HasUse = queryUse.Any(o => o == x.ProductId) ? "√" : "--", StatusTitle = x.Status == 1 ? "已生效" : x.Status == 2 ? "已失效" : "未生效", x.Memo, Creater = queryUser.Where(o => o.UserId == x.CreateUID).Select(o => o.FullName).FirstOrDefault() }; if (code.HasValue) { q = q.Where(o => o.ProductId == code); } if (!state.IsNullOrEmpty()) { var st = state.Split(',').Select(o => short.Parse(o)).ToList(); q = q.Where(o => st.Contains(o.Status)); } recordCount = q.Count(); return(q.ToPageList()); }
public OpResult SaveVer(Entity.ProductPublishVer obj) { if (ProductPublishVerRepository.IsExists(o => o.ProductId == obj.ProductId && o.VerStatus == 0 && o.Id != obj.Id)) { return(OpResult.Fail("已存在未发布的版本")); } if (obj.HasModelId == "1") { if (obj.ModuleId.IsNullOrEmpty()) { var model = ProductModuleVerRepository.GetOfficialLast(obj.ProductId); if (model == null) { return(OpResult.Fail("功能升级未发布正式版!")); } obj.ModuleId = model.ModuleId; } } else { obj.ModuleId = ""; } if (obj.HasRoleId == "1") { if (obj.RoleId.IsNullOrEmpty()) { var model = ProductRoleVerRepository.GetOfficialLast(obj.ProductId); if (model == null) { return(OpResult.Fail("角色升级未发布正式版!")); } obj.RoleId = model.RoleVerId; } } else { obj.RoleId = ""; } if (obj.HasDictId == "1") { if (obj.DictId.IsNullOrEmpty()) { var model = ProductDictionaryVerRepository.GetOfficialLast(obj.ProductId); if (model == null) { return(OpResult.Fail("字典升级未发布正式版!")); } obj.DictId = model.DictId; } } else { obj.DictId = ""; } if (obj.HasDataId == "1") { if (obj.DataId.IsNullOrEmpty()) { var model = ProductDataVerRepository.GetOfficialLast(obj.ProductId); if (model == null) { return(OpResult.Fail("初始数据升级未发布正式版!")); } obj.DataId = model.DataId; } } else { obj.DataId = ""; } return(SaveOrUpdate(obj)); }