示例#1
0
        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());
        }
示例#2
0
 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));
 }