Exemplo n.º 1
0
        public IEnumerable <BackendActionLog> Save(IEnumerable <BackendActionLog> logs)
        {
            IEnumerable <BackendActionLogDAL> toSave = MapperFacade.BackendActionLogMapper.GetDalList(logs.ToList());
            var saved = DefaultRepository.SimpleSaveBulk(toSave);

            return(MapperFacade.BackendActionLogMapper.GetBizList(saved.ToList()));
        }
Exemplo n.º 2
0
        internal static void SaveAppSettings(IEnumerable <AppSettingsItem> values)
        {
            var result = values.Select(n => new AppSettingsDAL()
            {
                Key = n.Key, Value = n.Value
            }).ToList();

            DefaultRepository.SimpleSaveBulk(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Сохранить записи в таблице union_contents
        /// </summary>
        internal static void RecreateUserQuerySourcesInfo(Content uqVirtualContent)
        {
            var virtualContentId = uqVirtualContent.Id;

            RemoveUserQuerySourcesInfo(uqVirtualContent);
            DefaultRepository.SimpleSaveBulk(uqVirtualContent.UserQueryContentViewSchema.SelectUniqContentIDs().Select(id => new UserQueryContentsDAL
            {
                IsIdSource       = false,
                RealContentId    = id,
                VirtualContentId = virtualContentId
            }));
        }
Exemplo n.º 4
0
        private static void CreateDefaultStatuses(Site site)
        {
            var statuses = new StatusTypeDAL[]
            {
                GetNewBuiltInStatus(site, 10, "Created", "Article has been created"),
                GetNewBuiltInStatus(site, 50, "Approved", "Article has been approved"),
                GetNewBuiltInStatus(site, 100, "Published", "Article has been published"),
                GetNewBuiltInStatus(site, 0, "None", "No Status has been assigned")
            };

            DefaultRepository.SimpleSaveBulk(statuses);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Сохранить записи в таблице union_contents
        /// </summary>
        internal static void RecreateUnionSourcesInfo(Content virtualContent, IEnumerable <int> unionSourceContentIDs)
        {
            try
            {
                ChangeUnionContentTriggerState(false);
                var virtualContentId = virtualContent.Id;
                var context          = QPContext.EFContext;
                var recToRemove      = context.UnionContentsSet.Where(u => u.VirtualContentId == virtualContentId).ToArray();

                DefaultRepository.SimpleDeleteBulk(recToRemove, context);
                DefaultRepository.SimpleSaveBulk(unionSourceContentIDs.Select(id => new UnionContentsDAL {
                    VirtualContentId = virtualContentId, UnionContentId = id
                }));
            }
            finally
            {
                ChangeUnionContentTriggerState(true);
            }
        }
Exemplo n.º 6
0
        internal static ContentConstraint Update(ContentConstraint constraint)
        {
            if (constraint == null)
            {
                throw new ArgumentNullException(nameof(constraint));
            }

            if (constraint.IsNew)
            {
                throw new ArgumentException("Метод вызван для несуществующего в БД ContentConstraint");
            }

            // если нет правил, то удалить ограничение
            if (constraint.Rules == null || !constraint.Rules.Any())
            {
                Delete(constraint);
                return(null);
            }


            using (var scope = new QPConnectionScope())
            {
                try
                {
                    if (QPContext.DatabaseType == DatabaseType.SqlServer)
                    {
                        ChangeContentIndexesTriggerState(scope.DbConnection, false);
                    }

                    var context          = QPContext.EFContext;
                    var oldConstraintDal = context.ContentConstraintSet.Include(n => n.Rules)
                                           .Single(d => d.Id == constraint.Id);
                    Common.DropComplexIndex(scope.DbConnection, oldConstraintDal);

                    // удалить все правила которые уже есть
                    DefaultRepository.SimpleDeleteBulk(oldConstraintDal.Rules.ToArray(), context);

                    // создать новые записи для правил
                    foreach (var rule in constraint.Rules)
                    {
                        rule.ConstraintId = constraint.Id;
                    }

                    var newDalList = MapperFacade.ContentConstraintRuleMapper.GetDalList(constraint.Rules.ToList());
                    var list       = DefaultRepository.SimpleSaveBulk(newDalList.AsEnumerable()).ToList();
                    constraint.Rules = MapperFacade.ContentConstraintRuleMapper.GetBizList(list).ToArray();

                    if (constraint.IsComplex)
                    {
                        var dal = MapperFacade.ContentConstraintMapper.GetDalObject(constraint);
                        Common.CreateComplexIndex(QPContext.EFContext, scope.DbConnection, dal);
                    }
                }
                finally
                {
                    if (QPContext.DatabaseType == DatabaseType.SqlServer)
                    {
                        ChangeContentIndexesTriggerState(scope.DbConnection, true);
                    }
                }
            }

            return(constraint);
        }