Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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>());
        }