Example #1
0
        public async Task <Message> ChangeState(string postId, PublishState state)
        {
            var post = await GetAsync(postId);

            post.State = state;
            return(await EditAsync(post));
        }
        internal PageCollection GetRootChildren(int pageTypeId, PublishState pageState)
        {
            Predicate <PageIndexItem> match = t => t.ParentId == Guid.Empty && t.PageTypeId == pageTypeId;

            match = AddPredicateForPageState(pageState, match);

            return(GetPagesByCriteriaSorted(match, SortOrder.SortIndex, SortDirection.Ascending));
        }
        private static Predicate <PageIndexItem> AddPredicateForPageState(PublishState pageState, Predicate <PageIndexItem> match)
        {
            var publishStatePredicate = GetPublishStatePredicate(pageState);

            match = match.And(publishStatePredicate);

            return(match);
        }
Example #4
0
        internal PageCollection GetRootChildren(int pageTypeId, PublishState pageState)
        {
            Predicate <PageIndexItem> match = t => t.ParentId == Guid.Empty && t.PageTypeId == pageTypeId;

            match = AddPredicateForPageState(pageState, match);
            var site = SiteFactory.CurrentSite <CmsSite>();

            return(GetPagesByCriteriaSorted(match, site.ChildSortOrder, site.ChildSortDirection));
        }
Example #5
0
            public PublishInfo(ITaskItem item)
            {
                this.key = item.ItemSpec != null?item.ItemSpec.ToLowerInvariant() : null;

                this.group       = item.GetMetadata("Group");
                this.state       = StringToPublishState(item.GetMetadata("PublishState"));
                this.includeHash = item.GetMetadata("IncludeHash");
                this.targetPath  = item.GetMetadata(ItemMetadataNames.targetPath);
            }
Example #6
0
 /// <summary>
 /// 修改项目发布状态
 /// </summary>
 /// <param name="projectId">项目id</param>
 /// <param name="state">项目状态</param>
 /// <returns></returns>
 public bool ChangeProjectState(int projectId, PublishState state)
 {
     Model.Project project = dal.GetModel(projectId);
     project.PublishState = state;
     if (dal.Update(project) > 0)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
        internal static Predicate <PageIndexItem> GetPublishStatePredicate(PublishState pageState)
        {
            Predicate <PageIndexItem> publishState = t => true;

            switch (pageState)
            {
            case PublishState.Published:
                publishState = IsPublished;
                break;

            case PublishState.Unpublished:
                publishState = IsUnpublished;
                break;
            }
            return(publishState);
        }
Example #8
0
        public void CreatePackage(string apiKey, Stream packageStream, IObserver<int> progressObserver, IPackageMetadata metadata = null)
        {
            var state = new PublishState {
                PublishKey = apiKey,
                PackageMetadata = metadata,
                ProgressObserver = progressObserver
            };

            var url = new Uri(String.Format(CultureInfo.InvariantCulture, "{0}/{1}/{2}/nupkg", _baseGalleryServerUrl, CreatePackageService, apiKey));

            WebClient client = new WebClient();
            client.Proxy = _cachedProxy;
            client.Headers[HttpRequestHeader.ContentType] = "application/octet-stream";
            client.Headers[HttpRequestHeader.UserAgent] = _userAgent;
            client.UploadProgressChanged += OnUploadProgressChanged;
            client.UploadDataCompleted += OnCreatePackageCompleted;
            client.UploadDataAsync(url, "POST", packageStream.ReadAllBytes(), state);
        }
Example #9
0
        public void CreatePackage(string apiKey, Stream packageStream, IObserver <int> progressObserver, IPackageMetadata metadata = null)
        {
            var state = new PublishState {
                PublishKey       = apiKey,
                PackageMetadata  = metadata,
                ProgressObserver = progressObserver
            };

            var url = new Uri(String.Format(CultureInfo.InvariantCulture, "{0}/{1}/{2}/nupkg", _baseGalleryServerUrl, CreatePackageService, apiKey));

            WebClient client = new WebClient();

            client.Proxy = _cachedProxy;
            client.Headers[HttpRequestHeader.ContentType] = "application/octet-stream";
            client.Headers[HttpRequestHeader.UserAgent]   = _userAgent;
            client.UploadProgressChanged += OnUploadProgressChanged;
            client.UploadDataCompleted   += OnCreatePackageCompleted;
            client.UploadDataAsync(url, "POST", packageStream.ReadAllBytes(), state);
        }
Example #10
0
            public static PublishFlags GetSatelliteFlags(PublishState state, CultureInfo satelliteCulture, CultureInfo targetCulture, bool includeAllSatellites)
            {
                bool includedByDefault = IsSatelliteIncludedByDefault(satelliteCulture, targetCulture, includeAllSatellites);
                bool isDataFile        = false;
                bool isPrerequisite    = false;
                bool isPublished       = false;

                switch (state)
                {
                case PublishState.Auto:
                    isPrerequisite = false;
                    isPublished    = includedByDefault;
                    break;

                case PublishState.Include:
                    isPrerequisite = false;
                    isPublished    = true;
                    break;

                case PublishState.Exclude:
                    isPrerequisite = false;
                    isPublished    = false;
                    break;

                case PublishState.DataFile:
                    Debug.Fail(String.Format(CultureInfo.CurrentCulture, "PublishState.DataFile is invalid for an assembly"));
                    break;

                case PublishState.Prerequisite:
                    isPrerequisite = true;
                    isPublished    = false;
                    break;

                default:
                    Debug.Fail(String.Format(CultureInfo.CurrentCulture, "Unhandled value PublishFlags.{0}", state.ToString()));
                    break;
                }
                return(new PublishFlags(isDataFile, isPrerequisite, isPublished));
            }
Example #11
0
            public static PublishFlags GetFileFlags(PublishState state, string fileExtension, bool includedByDefault)
            {
                bool isDataFile     = false;
                bool isPrerequisite = false;
                bool isPublished    = false;

                switch (state)
                {
                case PublishState.Auto:
                    isDataFile  = includedByDefault && PathUtil.IsDataFile(fileExtension);
                    isPublished = includedByDefault;
                    break;

                case PublishState.Include:
                    isDataFile  = false;
                    isPublished = true;
                    break;

                case PublishState.Exclude:
                    isDataFile  = false;
                    isPublished = false;
                    break;

                case PublishState.DataFile:
                    isDataFile  = true;
                    isPublished = true;
                    break;

                case PublishState.Prerequisite:
                    Debug.Fail(String.Format(CultureInfo.CurrentCulture, "PublishState.Prerequisite is invalid for a file"));
                    break;

                default:
                    Debug.Fail(String.Format(CultureInfo.CurrentCulture, "Unhandled value PublishFlags.{0}", state.ToString()));
                    break;
                }
                return(new PublishFlags(isDataFile, isPrerequisite, isPublished));
            }
Example #12
0
            public static PublishFlags GetAssemblyFlags(PublishState state, bool copyLocal)
            {
                bool isDataFile     = false;
                bool isPrerequisite = false;
                bool isPublished    = false;

                switch (state)
                {
                case PublishState.Auto:
                    isPrerequisite = !copyLocal;
                    isPublished    = copyLocal;
                    break;

                case PublishState.Include:
                    isPrerequisite = false;
                    isPublished    = true;
                    break;

                case PublishState.Exclude:
                    isPrerequisite = false;
                    isPublished    = false;
                    break;

                case PublishState.DataFile:
                    Debug.Fail(String.Format(CultureInfo.CurrentCulture, "PublishState.DataFile is invalid for an assembly"));
                    break;

                case PublishState.Prerequisite:
                    isPrerequisite = true;
                    isPublished    = false;
                    break;

                default:
                    Debug.Fail(String.Format(CultureInfo.CurrentCulture, "Unhandled value PublishFlags.{0}", state.ToString()));
                    break;
                }
                return(new PublishFlags(isDataFile, isPrerequisite, isPublished));
            }
Example #13
0
        private void PublishPackage(PublishState state)
        {
            var url = new Uri(String.Format(CultureInfo.InvariantCulture, "{0}/{1}", _baseGalleryServerUrl, PublishPackageService));

            using (Stream requestStream = new MemoryStream()) {
                var data = new PublishData {
                    Key     = state.PublishKey,
                    Id      = state.PackageMetadata.Id,
                    Version = state.PackageMetadata.Version.ToString()
                };

                var jsonSerializer = new DataContractJsonSerializer(typeof(PublishData));
                jsonSerializer.WriteObject(requestStream, data);
                requestStream.Seek(0, SeekOrigin.Begin);

                WebClient client = new WebClient();
                client.Proxy = _cachedProxy;
                client.Headers[HttpRequestHeader.ContentType] = "application/json";
                client.Headers[HttpRequestHeader.UserAgent]   = _userAgent;
                client.UploadProgressChanged += OnUploadProgressChanged;
                client.UploadDataCompleted   += OnPublishPackageCompleted;
                client.UploadDataAsync(url, "POST", requestStream.ReadAllBytes(), state);
            }
        }
 public PublishInfo(ITaskItem item)
 {
     this.key = item.ItemSpec != null ? item.ItemSpec.ToLowerInvariant() : null;
     this.group = item.GetMetadata("Group");
     this.state = StringToPublishState(item.GetMetadata("PublishState"));
     this.includeHash = item.GetMetadata("IncludeHash");
     this.targetPath = item.GetMetadata(ItemMetadataNames.targetPath);
 }
 public static PublishFlags GetAssemblyFlags(PublishState state, bool copyLocal)
 {
     bool isDataFile = false;
     bool isPrerequisite = false;
     bool isPublished = false;
     switch (state)
     {
         case PublishState.Auto:
             isPrerequisite = !copyLocal;
             isPublished = copyLocal;
             break;
         case PublishState.Include:
             isPrerequisite = false;
             isPublished = true;
             break;
         case PublishState.Exclude:
             isPrerequisite = false;
             isPublished = false;
             break;
         case PublishState.DataFile:
             Debug.Fail(String.Format(CultureInfo.CurrentCulture, "PublishState.DataFile is invalid for an assembly"));
             break;
         case PublishState.Prerequisite:
             isPrerequisite = true;
             isPublished = false;
             break;
         default:
             Debug.Fail(String.Format(CultureInfo.CurrentCulture, "Unhandled value PublishFlags.{0}", state.ToString()));
             break;
     }
     return new PublishFlags(isDataFile, isPrerequisite, isPublished);
 }
        internal PageCollection GetPageTreeFromPage(Guid pageId, PublishState pageState)
        {
            Predicate <PageIndexItem> match = GetPublishStatePredicate(pageState);

            return(GetPageTreeByCriteria(pageId, match));
        }
        internal PageCollection GetChildren(Guid pageId, int pageTypeId, PublishState pageState)
        {
            var match = AddPredicateForPageState(pageState, (t => t.PageTypeId == pageTypeId));

            return(GetChildrenByCriteria(pageId, match));
        }
Example #18
0
 private void SetState(PublishState newState)
 {
     state = newState;
 }
Example #19
0
 internal static Predicate<PageIndexItem> GetPublishStatePredicate(PublishState pageState) {
     Predicate<PageIndexItem> publishState = t => true;
     switch (pageState) {
         case PublishState.Published:
             publishState = IsPublished;
             break;
         case PublishState.Unpublished:
             publishState = IsUnpublished;
             break;
     }
     return publishState;
 }
Example #20
0
        internal PageCollection GetRootChildren(int pageTypeId, PublishState pageState) {
            Predicate<PageIndexItem> match = t => t.ParentId == Guid.Empty && t.PageTypeId == pageTypeId;

            match = AddPredicateForPageState(pageState, match);

            return GetPagesByCriteriaSorted(match, SortOrder.SortIndex, SortDirection.Ascending);
        }
Example #21
0
        internal PageCollection GetChildren(Guid pageId, PublishState pageState) {
            var match = GetPublishStatePredicate(pageState);

            return GetChildrenByCriteria(pageId, match);
        }
 public static PublishFlags GetFileFlags(PublishState state, string fileExtension, bool includedByDefault)
 {
     bool isDataFile = false;
     bool isPrerequisite = false;
     bool isPublished = false;
     switch (state)
     {
         case PublishState.Auto:
             isDataFile = includedByDefault && PathUtil.IsDataFile(fileExtension);
             isPublished = includedByDefault;
             break;
         case PublishState.Include:
             isDataFile = false;
             isPublished = true;
             break;
         case PublishState.Exclude:
             isDataFile = false;
             isPublished = false;
             break;
         case PublishState.DataFile:
             isDataFile = true;
             isPublished = true;
             break;
         case PublishState.Prerequisite:
             Debug.Fail(String.Format(CultureInfo.CurrentCulture, "PublishState.Prerequisite is invalid for a file"));
             break;
         default:
             Debug.Fail(String.Format(CultureInfo.CurrentCulture, "Unhandled value PublishFlags.{0}", state.ToString()));
             break;
     }
     return new PublishFlags(isDataFile, isPrerequisite, isPublished);
 }
Example #23
0
        internal PageCollection GetPageTreeFromPage(Guid pageId, PublishState pageState) {
            Predicate<PageIndexItem> match = GetPublishStatePredicate(pageState);

            return GetPageTreeByCriteria(pageId, match);
        }
Example #24
0
 private void SetState(PublishState newState)
 {
     state = newState;
 }
Example #25
0
        private static Predicate<PageIndexItem> AddPredicateForPageState(PublishState pageState, Predicate<PageIndexItem> match) {
            var publishStatePredicate = GetPublishStatePredicate(pageState);
            match = match.And(publishStatePredicate);

            return match;
        }
Example #26
0
        private static IQueryable <Product> FilterByPublishState(IQueryable <Product> query, PublishState state)
        {
            var now = DateTime.Now.AddMinutes(3);

            switch (state)
            {
            case PublishState.NotPublished: return(query.Where(x => x.PublishDateTime > now || !x.IsVisible));

            case PublishState.Published:
                return(query.Where(x => x.PublishDateTime < now && x.IsVisible));

            default: return(query);
            }
        }
Example #27
0
        internal PageCollection GetPageTreeFromPage(Guid rootPageId, Guid leafPageId, PublishState pageState) {
            var pageCollection = new PageCollection();
            Predicate<PageIndexItem> match = GetPublishStatePredicate(pageState);
            var stack = new Stack();
            int currentId;
            int index = 0;

            PageCollection pagePath = GetPagePath(leafPageId);

            if (rootPageId == Guid.Empty) {
                currentId = 0;
            }
            else {
                PageIndexItem firstPage = GetPageIndexItem(rootPageId);
                if (firstPage == null) {
                    throw new ArgumentException("Page with id " + rootPageId + " not found!");
                }
                currentId = firstPage.FirstChild;
            }

            while (currentId > -1) {
                PageIndexItem item = _pageIndex[currentId];

                if (match(item)) {
                    pageCollection.Add(item.PageId);

                    if (item.NextPage > -1) {
                        stack.Push(item.NextPage);
                    }

                    if (pagePath.Contains(item.PageId)) {
                        currentId = item.FirstChild;
                    }
                    else {
                        currentId = -1;
                    }
                }
                else {
                    currentId = item.NextPage;
                }

                if ((currentId == -1) && (stack.Count > 0)) {
                    currentId = (int)stack.Pop();
                }

                if (index > _pageIndex.Count) {
                    // TODO: This should never happen, to be removed..
                    throw new Exception("Unending whileloop detected");
                }
                index++;
            }
            return pageCollection;
        }
 public static PublishFlags GetSatelliteFlags(PublishState state, CultureInfo satelliteCulture, CultureInfo targetCulture, bool includeAllSatellites)
 {
     bool includedByDefault = IsSatelliteIncludedByDefault(satelliteCulture, targetCulture, includeAllSatellites);
     bool isDataFile = false;
     bool isPrerequisite = false;
     bool isPublished = false;
     switch (state)
     {
         case PublishState.Auto:
             isPrerequisite = false;
             isPublished = includedByDefault;
             break;
         case PublishState.Include:
             isPrerequisite = false;
             isPublished = true;
             break;
         case PublishState.Exclude:
             isPrerequisite = false;
             isPublished = false;
             break;
         case PublishState.DataFile:
             Debug.Fail(String.Format(CultureInfo.CurrentCulture, "PublishState.DataFile is invalid for an assembly"));
             break;
         case PublishState.Prerequisite:
             isPrerequisite = true;
             isPublished = false;
             break;
         default:
             Debug.Fail(String.Format(CultureInfo.CurrentCulture, "Unhandled value PublishFlags.{0}", state.ToString()));
             break;
     }
     return new PublishFlags(isDataFile, isPrerequisite, isPublished);
 }
Example #29
0
        internal PageCollection GetChildren(Guid pageId, int pageTypeId, PublishState pageState) {
            var match = AddPredicateForPageState(pageState, (t => t.PageTypeId == pageTypeId));

            return GetChildrenByCriteria(pageId, match);
        }
Example #30
0
        private void PublishPackage(PublishState state)
        {
            var url = new Uri(String.Format(CultureInfo.InvariantCulture, "{0}/{1}", _baseGalleryServerUrl, PublishPackageService));

            using (Stream requestStream = new MemoryStream()) {
                var data = new PublishData {
                    Key = state.PublishKey,
                    Id = state.PackageMetadata.Id,
                    Version = state.PackageMetadata.Version.ToString()
                };

                var jsonSerializer = new DataContractJsonSerializer(typeof(PublishData));
                jsonSerializer.WriteObject(requestStream, data);
                requestStream.Seek(0, SeekOrigin.Begin);

                WebClient client = new WebClient();
                client.Proxy = _cachedProxy;
                client.Headers[HttpRequestHeader.ContentType] = "application/json";
                client.Headers[HttpRequestHeader.UserAgent] = _userAgent;
                client.UploadProgressChanged += OnUploadProgressChanged;
                client.UploadDataCompleted += OnPublishPackageCompleted;
                client.UploadDataAsync(url, "POST", requestStream.ReadAllBytes(), state);
            }
        }