示例#1
0
        protected override MultistepActionSettings CreateActionSettings(int parentId, int id)
        {
            var result = new MultistepActionSettings()
            {
                ParentId = parentId
            };

            result.Stages.Add(Command.GetStageSettings());
            return(result);
        }
示例#2
0
        protected virtual MultistepActionSettings CreateActionSettings(int parentId, int id)
        {
            var result = new MultistepActionSettings()
            {
                ParentId = parentId
            };

            foreach (var cmd in Commands)
            {
                result.Stages.Add(cmd.GetStageSettings());
            }
            return(result);
        }
        public MultistepActionSettings SetupAction(int contentId, int fieldId)
        {
            if (HasAlreadyRun())
            {
                throw new ApplicationException(MultistepActionStrings.ActionHasAlreadyRun);
            }

            var flds = GetFields(fieldId);

            if (flds.Item1.BaseImageId != null)
            {
                var articleData = RecreateDynamicImagesRepository.GetDataToProcess(flds.Item1.BaseImageId.Value);
                var dataRows    = articleData as DataRow[] ?? articleData.ToArray();
                var context     = new RecreateDynamicImagesContext
                {
                    FieldId     = fieldId,
                    ContentId   = contentId,
                    ArticleData = dataRows.Select(r => Tuple.Create(Converter.ToInt32(r.Field <decimal>("ID")), r.Field <string>("DATA"))).ToList(),
                };

                HttpContext.Session.SetValue(HttpContextSession.RecreateDynamicImagesServiceProcessingContext, context);

                var itemCount = dataRows.Length;
                var stepCount = MultistepActionHelper.GetStepCount(itemCount, ItemsPerStep);
                var result    = new MultistepActionSettings();
                result.Stages.Add(new MultistepStageSettings
                {
                    Name      = FieldStrings.RecreateDynamicImagesStageName,
                    StepCount = stepCount,
                    ItemCount = itemCount
                }
                                  );
                return(result);
            }

            return(null);
        }
示例#4
0
        public MultistepActionSettings SetupAction(int contentId, int fieldId)
        {
            var field = FieldRepository.GetById(fieldId);

            if (field == null)
            {
                throw new ApplicationException(string.Format(FieldStrings.FieldNotFound, fieldId));
            }

            var contentItemIdsToProcess = FieldDefaultValueRepository.GetItemIdsToProcess(contentId, fieldId, field.DefaultValue, field.IsBlob, field.ExactType == FieldExactTypes.M2MRelation);
            var itemIdsToProcess        = contentItemIdsToProcess as int[] ?? contentItemIdsToProcess.ToArray();
            var itemCount = itemIdsToProcess.Length;
            var stepCount = MultistepActionHelper.GetStepCount(itemCount, ItemsPerStep);
            var context   = new FieldDefaultValueContext
            {
                ProcessedContentItemIds = itemIdsToProcess.ToList(),
                ContentId       = contentId,
                FieldId         = fieldId,
                IsBlob          = field.IsBlob,
                IsM2M           = field.ExactType == FieldExactTypes.M2MRelation,
                DefaultArticles = field.DefaultArticleIds.ToList(),
                Symmetric       = field.ContentLink.Symmetric
            };

            HttpContext.Session.SetValue(HttpContextSession.FieldDefaultValueServiceProcessingContext, context);
            var result = new MultistepActionSettings();

            result.Stages.Add(new MultistepStageSettings()
            {
                Name      = FieldStrings.ApplyDefaultValueStageName,
                StepCount = stepCount,
                ItemCount = itemCount
            }
                              );
            return(result);
        }