AutoMerge.BranchesViewModel.CalculateTopFolder C# (CSharp) Méthode

CalculateTopFolder() private static méthode

private static CalculateTopFolder ( IList changes ) : string
changes IList
Résultat string
        private static string CalculateTopFolder(IList<Change> changes)
        {
            if (changes == null || changes.Count == 0)
                throw new ArgumentNullException("changes");

            string topFolder = null;
            if (changes.Count == 1 &&
                (changes[0].ChangeType.HasFlag(ChangeType.Edit)
                && !changes[0].ChangeType.HasFlag(ChangeType.Add)
                && !changes[0].ChangeType.HasFlag(ChangeType.Branch)))
            {
                topFolder = changes[0].Item.ServerItem;
            }
            else
            {
                foreach (var change in changes)
                {
//                    if (SkipChange(change.ChangeType, change.Item))
//                        continue;

//                    if (topFolder != null)
//                    {
//                        if (!IsNeedCalculateTopFolder(change.ChangeType, change.Item) change.Item.ServerItem.Contains(topFolder) && change.Item.ServerItem != topFolder)
//                            continue;
//                    }

                    var changeFolder = ExtractFolder(change.ChangeType, change.Item);
                    if (changeFolder != topFolder)
                        topFolder = FindShareFolder(topFolder, changeFolder);
                }
            }

            if (topFolder != null && topFolder.EndsWith("/"))
            {
                topFolder = topFolder.Substring(0, topFolder.Length - 1);
            }

            return topFolder;
        }