internal static void RebuildUnionAttrs(Content unionContent) { var dbUnionContent = ContentRepository.GetById(unionContent.Id); var baseFields = VirtualContentRepository.GetFieldsOfContents(dbUnionContent.UnionSourceContentIDs).Select(f => new { f.Id, Name = f.Name.ToLowerInvariant() }).ToArray(); var virtualFields = dbUnionContent.Fields.Select(f => new { f.Id, Name = f.Name.ToLowerInvariant() }).ToArray(); var newUnionAttr = from sf in baseFields join uf in virtualFields on sf.Name equals uf.Name select new UnionAttr { VirtualFieldId = uf.Id, BaseFieldId = sf.Id }; // сохранить новые привязки IEnumerable <UnionAttrDAL> records = MapperFacade.UnionAttrMapper.GetDalList(newUnionAttr.ToList()); using (var scope = new QPConnectionScope()) { Common.BatchInsertUnionAttrs(scope.DbConnection, records); } }
internal static IEnumerable <EntityObject> GetList(string entityTypeCode, IList <int> ids) { if (entityTypeCode.Equals(EntityTypeCode.CustomerCode, StringComparison.InvariantCultureIgnoreCase) && ids.Any()) { return(new EntityObject[] { new CustomerObject { Id = ids.First(), Modified = DateTime.MinValue, IsReadOnly = true } }); } if (entityTypeCode.Equals(EntityTypeCode.Site, StringComparison.InvariantCultureIgnoreCase)) { return(SiteRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.Content, StringComparison.InvariantCultureIgnoreCase)) { return(ContentRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.Field, StringComparison.InvariantCultureIgnoreCase)) { return(FieldRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.Article, StringComparison.InvariantCultureIgnoreCase)) { return(ArticleRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.Notification, StringComparison.InvariantCultureIgnoreCase)) { return(NotificationRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.VisualEditorPlugin, StringComparison.InvariantCultureIgnoreCase)) { return(VisualEditorRepository.GetPluginList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.VisualEditorCommand, StringComparison.InvariantCultureIgnoreCase)) { return(VisualEditorRepository.GetCommandList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.VisualEditorStyle, StringComparison.InvariantCultureIgnoreCase)) { return(VisualEditorRepository.GetStyleList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.StatusType, StringComparison.InvariantCultureIgnoreCase)) { return(StatusTypeRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.Workflow, StringComparison.InvariantCultureIgnoreCase)) { return(WorkflowRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.PageTemplate, StringComparison.InvariantCultureIgnoreCase)) { return(PageTemplateRepository.GetPageTemplateList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.User, StringComparison.InvariantCultureIgnoreCase)) { return(UserRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.UserGroup, StringComparison.InvariantCultureIgnoreCase)) { return(UserGroupRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.TemplateObjectFormat, StringComparison.InvariantCultureIgnoreCase)) { return(FormatRepository.GetList(ids, false)); } if (entityTypeCode.Equals(EntityTypeCode.PageObjectFormat, StringComparison.InvariantCultureIgnoreCase)) { return(FormatRepository.GetList(ids, true)); } if (entityTypeCode.Equals(EntityTypeCode.PageObject, StringComparison.InvariantCultureIgnoreCase) || entityTypeCode.Equals(EntityTypeCode.TemplateObject, StringComparison.InvariantCultureIgnoreCase)) { return(ObjectRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.VirtualContent, StringComparison.InvariantCultureIgnoreCase)) { return(VirtualContentRepository.GetList(ids)); } if (entityTypeCode.Equals(EntityTypeCode.Page, StringComparison.InvariantCultureIgnoreCase)) { return(PageRepository.GetList(ids)); } return(Enumerable.Empty <EntityObject>()); }