예제 #1
0
        private void codeActivity1_ExecuteCode(object sender, EventArgs e)
        {
            DataEntityToken  token  = (DataEntityToken)this.EntityToken;
            IMediaFileFolder folder = (IMediaFileFolder)token.Data;

            string storeId    = folder.StoreId;
            string parentPath = folder.Path;

            StoreIdFilterQueryable <IMediaFileFolder> folderQueryable = new StoreIdFilterQueryable <IMediaFileFolder>(DataFacade.GetData <IMediaFileFolder>(), storeId);
            StoreIdFilterQueryable <IMediaFile>       fileQueryable   = new StoreIdFilterQueryable <IMediaFile>(DataFacade.GetData <IMediaFile>(), storeId);

            string innerElementsPathPrefix = string.Format("{0}/", parentPath);

            bool anyFiles =
                (from item in fileQueryable
                 where item.FolderPath.StartsWith(innerElementsPathPrefix) || item.FolderPath == parentPath
                 select item).Any();

            bool anyFolders =
                (from item in folderQueryable
                 where item.Path.StartsWith(innerElementsPathPrefix)
                 select item).Any();


            if ((anyFiles == false) && (anyFolders == false))
            {
                this.Bindings.Add("MessageText", StringResourceSystemFacade.GetString("Composite.Management", "Website.Forms.Administrative.DeleteMediaFolder.Text"));
            }
            else
            {
                this.Bindings.Add("MessageText", StringResourceSystemFacade.GetString("Composite.Management", "Website.Forms.Administrative.DeleteMediaFolder.HasChildringText"));
            }
        }
        private void codeActivity1_ExecuteCode(object sender, EventArgs e)
        {
            var token  = (DataEntityToken)this.EntityToken;
            var folder = (IMediaFileFolder)token.Data;

            string storeId    = folder.StoreId;
            string parentPath = folder.Path;

            var folderQueryable = new StoreIdFilterQueryable <IMediaFileFolder>(DataFacade.GetData <IMediaFileFolder>(), storeId);
            var fileQueryable   = new StoreIdFilterQueryable <IMediaFile>(DataFacade.GetData <IMediaFile>(), storeId);

            string innerElementsPathPrefix = $"{parentPath}/";

            bool anyFiles =
                (from item in fileQueryable
                 where item.FolderPath.StartsWith(innerElementsPathPrefix) || item.FolderPath == parentPath
                 select item).Any();

            bool anyFolders =
                (from item in folderQueryable
                 where item.Path.StartsWith(innerElementsPathPrefix)
                 select item).Any();

            var message = !anyFiles && !anyFolders
                ? Texts.Website_Forms_Administrative_DeleteMediaFolder_Text
                : Texts.Website_Forms_Administrative_DeleteMediaFolder_HasChildringText;

            this.Bindings.Add("MessageText", message);
        }
        private void HasDataReferences(object sender, ConditionalEventArgs e)
        {
            DataEntityToken token = (DataEntityToken)this.EntityToken;
            IMediaFileFolder folder = (IMediaFileFolder)token.Data;

            string storeId = folder.StoreId;
            string parentPath = folder.Path;

            string innerElementsPathPrefix = string.Format("{0}/", parentPath);

            var fileQueryable = new StoreIdFilterQueryable<IMediaFile>(DataFacade.GetData<IMediaFile>(), storeId);
            IEnumerable<IMediaFile> childFiles =
                (from item in fileQueryable
                 where item.FolderPath.StartsWith(innerElementsPathPrefix) || item.FolderPath == parentPath
                 select item).Evaluate();

            var brokenReferences = new List<IData>();

            foreach (IMediaFile mediaFile in childFiles)
            {
                List<IData> references = DataReferenceFacade.GetNotOptionalReferences(mediaFile);
                foreach (IData reference in references)
                {
                    if (brokenReferences.Any(data => data.DataSourceId.Equals(reference.DataSourceId)))
                    {
                        continue;
                    }
                    brokenReferences.Add(reference);
                }
            }

            e.Result = brokenReferences.Count > 0;
            if (brokenReferences.Count == 0)
            {
                return;
            }

            Bindings.Add("ReferencedData", DataReferenceFacade.GetBrokenReferencesReport(brokenReferences));
        }
예제 #4
0
        private void HasDataReferences(object sender, ConditionalEventArgs e)
        {
            DataEntityToken  token  = (DataEntityToken)this.EntityToken;
            IMediaFileFolder folder = (IMediaFileFolder)token.Data;

            string storeId    = folder.StoreId;
            string parentPath = folder.Path;

            string innerElementsPathPrefix = string.Format("{0}/", parentPath);

            var fileQueryable = new StoreIdFilterQueryable <IMediaFile>(DataFacade.GetData <IMediaFile>(), storeId);
            IEnumerable <IMediaFile> childFiles =
                (from item in fileQueryable
                 where item.FolderPath.StartsWith(innerElementsPathPrefix) || item.FolderPath == parentPath
                 select item).Evaluate();

            var brokenReferences = new List <IData>();

            foreach (IMediaFile mediaFile in childFiles)
            {
                List <IData> references = DataReferenceFacade.GetNotOptionalReferences(mediaFile);
                foreach (IData reference in references)
                {
                    if (brokenReferences.Any(data => data.DataSourceId.Equals(reference.DataSourceId)))
                    {
                        continue;
                    }
                    brokenReferences.Add(reference);
                }
            }

            e.Result = brokenReferences.Count > 0;
            if (brokenReferences.Count == 0)
            {
                return;
            }

            Bindings.Add("ReferencedData", DataReferenceFacade.GetBrokenReferencesReport(brokenReferences));
        }
        private void codeActivity1_ExecuteCode(object sender, EventArgs e)
        {
            DataEntityToken token = (DataEntityToken)this.EntityToken;
            IMediaFileFolder folder = (IMediaFileFolder)token.Data;

            string storeId = folder.StoreId;
            string parentPath = folder.Path;

            StoreIdFilterQueryable<IMediaFileFolder> folderQueryable = new StoreIdFilterQueryable<IMediaFileFolder>(DataFacade.GetData<IMediaFileFolder>(), storeId);
            StoreIdFilterQueryable<IMediaFile> fileQueryable = new StoreIdFilterQueryable<IMediaFile>(DataFacade.GetData<IMediaFile>(), storeId);

            string innerElementsPathPrefix = string.Format("{0}/", parentPath);

            bool anyFiles =
                (from item in fileQueryable
                 where item.FolderPath.StartsWith(innerElementsPathPrefix) || item.FolderPath == parentPath
                 select item).Any();

            bool anyFolders =
                (from item in folderQueryable
                 where item.Path.StartsWith(innerElementsPathPrefix)
                 select item).Any();


            if ((anyFiles == false) && (anyFolders == false))
            {
                this.Bindings.Add("MessageText", StringResourceSystemFacade.GetString("Composite.Management", "Website.Forms.Administrative.DeleteMediaFolder.Text"));
            }
            else
            {
                this.Bindings.Add("MessageText", StringResourceSystemFacade.GetString("Composite.Management", "Website.Forms.Administrative.DeleteMediaFolder.HasChildringText"));
            }
        }