/// <summary> /// Adds a vm. /// </summary> /// <param name="vm"></param> /// <param name="parentId"></param> public void AddVM(BaseSpecificModelElementViewModel vm, Guid parentId) { if (vm == null) { throw new ArgumentNullException("vm"); } if (vm.Element == null) { return; } string key = GetKey(vm); if (!mapping.ContainsKey(key)) { mapping.Add(key, vm); } if (!mappingElements.ContainsKey(key)) { mappingElements.Add(key, new List <Guid>()); } //if( !mappingElements[key].Contains(parentId) ) mappingElements[key].Add(parentId); }
/// <summary> /// Adds a vm. /// </summary> /// <param name="vm"></param> /// <param name="parentId"></param> public void AddVM(BaseSpecificModelElementViewModel vm, Guid parentId) { if (vm == null) throw new ArgumentNullException("vm"); if (vm.Element == null) return; string key = GetKey(vm); if( !mapping.ContainsKey(key) ) mapping.Add(key, vm); if (!mappingElements.ContainsKey(key)) mappingElements.Add(key, new List<Guid>()); //if( !mappingElements[key].Contains(parentId) ) mappingElements[key].Add(parentId); }
/// <summary> /// Verifies if a vm is still in use. /// </summary> /// <param name="vm"></param> /// <returns></returns> public bool IsVMInUse(BaseSpecificModelElementViewModel vm) { if (vm == null) { throw new ArgumentNullException("vm"); } if (vm.Element == null) { return(false); } string key = GetKey(vm); if (mappingElements.ContainsKey(key)) { if (mappingElements[key].Count > 0) { return(true); } } return(false); }
/// <summary> /// Removes a vm. /// </summary> /// <param name="vm"></param> /// <param name="parentId"></param> public void RemoveVM(BaseSpecificModelElementViewModel vm, Guid parentId) { if (vm == null) { throw new ArgumentNullException("vm"); } if (vm.Element == null) { return; } string key = GetKey(vm); if (mappingElements.ContainsKey(key)) { mappingElements[key].Remove(parentId); if (mappingElements[key].Count == 0) { mapping.Remove(key); mappingElements.Remove(key); } } }
/// <summary> /// Removes a vm. /// </summary> /// <param name="vm"></param> /// <param name="parentId"></param> public void RemoveVM(BaseSpecificModelElementViewModel vm, Guid parentId) { if (vm == null) throw new ArgumentNullException("vm"); if (vm.Element == null) return; string key = GetKey(vm); if (mappingElements.ContainsKey(key)) { mappingElements[key].Remove(parentId); if (mappingElements[key].Count == 0) { mapping.Remove(key); mappingElements.Remove(key); } } }
/// <summary> /// Creates and returns a key for given vm. /// </summary> /// <param name="vm"></param> /// <returns></returns> private string GetKey(BaseSpecificModelElementViewModel vm) { return vm.GetType().FullName + "_" + vm.Element.Id; }
/// <summary> /// Verifies if a vm is still in use. /// </summary> /// <param name="vm"></param> /// <returns></returns> public bool IsVMInUse(BaseSpecificModelElementViewModel vm) { if (vm == null) throw new ArgumentNullException("vm"); if (vm.Element == null) return false; string key = GetKey(vm); if (mappingElements.ContainsKey(key)) if (mappingElements[key].Count > 0) return true; return false; }
/// <summary> /// Creates and returns a key for given vm. /// </summary> /// <param name="vm"></param> /// <returns></returns> private string GetKey(BaseSpecificModelElementViewModel vm) { return(vm.GetType().FullName + "_" + vm.Element.Id); }