/// <summary>Notifies that branch was created externally.</summary> /// <param name="branchData">Created branch data.</param> /// <returns>Created branch.</returns> internal Branch NotifyCreated(BranchData branchData) { var branch = ObjectFactories.CreateBranch(Repository, branchData); AddObject(branch); return(branch); }
/// <summary>Perform initial load of branches.</summary> /// <param name="branchDataList">List of branch data containers.</param> internal void Load(IEnumerable <BranchData> branchDataList) { ObjectStorage.Clear(); if (branchDataList != null) { foreach (var branchData in branchDataList) { AddObject(ObjectFactories.CreateBranch(Repository, branchData)); } } }
/// <summary>Updates branch cache.</summary> /// <param name="branches">Actual branch data.</param> private void RefreshInternal(IEnumerable <BranchData> branches) { lock (SyncRoot) { CacheUpdater.UpdateObjectDictionary( ObjectStorage, null, null, branches, branchData => ObjectFactories.CreateBranch(Repository, branchData), ObjectFactories.UpdateBranch, InvokeObjectAdded, InvokeObjectRemoved, true); } }