public ActionResult Copy(int templateId, bool newVersion = false) { CopyRequestModel model = new CopyRequestModel() { TemplateId = templateId, NewVersion = newVersion }; if (newVersion) { var template = this.tdb.Templates.Single(y => y.Id == templateId); var newVersionImplementationGuide = this.tdb.ImplementationGuides.SingleOrDefault(y => y.PreviousVersionImplementationGuideId == template.OwningImplementationGuideId); if (newVersionImplementationGuide == null) { throw new Exception("A new version of the template's implementation guide does not exist yet."); } else if (!CheckPoint.Instance.GrantEditImplementationGuide(newVersionImplementationGuide.Id)) { throw new Exception("You are not authorized to edit the new version of the implementation guide!"); } } return(View("Copy", model)); }
public ActionResult CopyInfo(CopyRequestModel model) { if (!string.IsNullOrWhiteSpace(model.DeptId) && !string.IsNullOrWhiteSpace(model.Id)) { //先查询出授权信息 MenuAuthorizeEntity entity = authorizeBLL.GetEntity(model.Id); if (entity != null) { DepartmentBLL departmentBll = new DepartmentBLL(); var deptIdArry = model.DeptId.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var deptCodeArry = model.DeptCode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var deptNameArry = model.DeptName.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); //菜单授权信息 DeptMenuAuthBLL deptMenuAuthBll = new DeptMenuAuthBLL(); List <DeptMenuAuthEntity> deptMenuAuthList = deptMenuAuthBll.GetList(entity.DepartId); //界面设置 List <AppMenuSettingEntity> appMenuSettingEntities = new AppMenuSettingBLL().GetListByDeptId(entity.DepartId); //栏目与菜单的关联关系 List <AppSettingAssociationEntity> appSettingAssociationList = new AppSettingAssociationBLL().GetList(entity.DepartId); List <DeptMenuAuthEntity> insetDeptMenuAuthList = new List <DeptMenuAuthEntity>(); List <MenuAuthorizeEntity> authorizeEntities = new List <MenuAuthorizeEntity>(); //复制之后要保存到数据库中的单位授权数据 List <AppMenuSettingEntity> insertMenuSettingEntities = new List <AppMenuSettingEntity>(); //界面设置 List <AppSettingAssociationEntity> insertAssociationEntities = new List <AppSettingAssociationEntity>(); //关联关系 for (int i = 0; i < deptIdArry.Length; i++) { //1、先复制单位的授权信息 DepartmentEntity deptEntity = departmentBll.GetEntity(deptIdArry[i]); MenuAuthorizeEntity insertEntity = new MenuAuthorizeEntity() { Id = Guid.NewGuid().ToString(), DepartId = deptIdArry[i], DepartCode = deptCodeArry[i], DepartName = deptNameArry[i], DisplayName = deptNameArry[i], BZApiUrl = entity.BZApiUrl, CreateDate = entity.CreateDate, CreateUserId = entity.CreateUserId, CreateUserName = entity.CreateUserName, CulturalUrl = entity.CulturalUrl, ModifyDate = entity.ModifyDate, ModifyUserId = entity.ModifyUserId, ModifyUserName = entity.ModifyUserName, PXApiUrl = entity.PXApiUrl, RegistCode = entity.RegistCode, SKApiUrl = entity.SKApiUrl, TerminalCode = entity.TerminalCode, ThemeType = entity.ThemeType, VersionCode = entity.VersionCode, ParentId = deptEntity != null? deptEntity.ParentId : "", ParentName = deptEntity != null && deptEntity.ParentId == "0" ? "" : departmentBll.GetEntity(deptEntity.ParentId).FullName }; authorizeEntities.Add(insertEntity); //2、复制界面设置 appMenuSettingEntities.ForEach(setting => { AppMenuSettingEntity appMenu = setting.Clone(deptIdArry[i], deptNameArry[i], deptCodeArry[i], appSettingAssociationList, insertAssociationEntities); insertMenuSettingEntities.Add(appMenu); }); //3、 复制关联关系 //appSettingAssociationList.ForEach(e => //{ // AppSettingAssociationEntity association = e.Clone(deptIdArry[i], ,insetDeptMenuAuthList); // insertAssociationEntities.Add(association); //}); //4、复制菜单授权信息 deptMenuAuthList.ForEach(p => { DeptMenuAuthEntity deptMenu = p.Clone(deptIdArry[i], deptCodeArry[i], deptNameArry[i]); insetDeptMenuAuthList.Add(deptMenu); }); } authorizeBLL.InsertEntity(authorizeEntities.ToArray()); new AppMenuSettingBLL().InsertList(insertMenuSettingEntities); new AppSettingAssociationBLL().InsertList(insertAssociationEntities); new DeptMenuAuthBLL().InsertList(insetDeptMenuAuthList); } } return(Success("操作成功")); }