Kudu.Core.Deployment.DeploymentManager.GetPurgeTemporaryDeployments C# (CSharp) Method

GetPurgeTemporaryDeployments() private static method

private static GetPurgeTemporaryDeployments ( IEnumerable results ) : IEnumerable
results IEnumerable
return IEnumerable
        private static IEnumerable<DeployResult> GetPurgeTemporaryDeployments(IEnumerable<DeployResult> results)
        {
            var toDelete = new List<DeployResult>();

            // more than one pending/building, remove all temporary pending
            var pendings = results.Where(r => r.Status != DeployStatus.Failed && r.Status != DeployStatus.Success);
            if (pendings.Count() > 1)
            {
                if (pendings.Any(r => !r.IsTemporary))
                {
                    // if there is non-temporary, remove all pending temporary
                    toDelete.AddRange(pendings.Where(r => r.IsTemporary));
                }
                else
                {
                    if (pendings.First().Id == results.First().Id)
                    {
                        pendings = pendings.Skip(1);
                    }

                    // if first item is not pending temporary, remove all pending temporary
                    toDelete.AddRange(pendings);
                }
            }

            return toDelete;
        }