void RemoveModuleObjectDetail(ModuleObjectDetailBase moduleObjectDetailBase) { if (moduleObjectDetailBase is ModuleObjectDetail) { var moduleObjectDetail = (ModuleObjectDetail)moduleObjectDetailBase; _modulesByKey.Remove(moduleObjectDetail.EditObject.Key); RemoveFromModulesByTypeIfNeeded(moduleObjectDetail.GetModuleTypeKey()); } else { _modulesByKey.Remove(moduleObjectDetailBase.GetType()); } }
void AddModuleObjectDetail(ModuleObjectDetailBase moduleObjectDetailBase) { if (moduleObjectDetailBase is ModuleObjectDetail) { var moduleObjectDetail = (ModuleObjectDetail)moduleObjectDetailBase; _modulesByKey.Add(moduleObjectDetail.EditObject.Key, moduleObjectDetailBase); GetModulesForType(moduleObjectDetail.GetModuleTypeKey()).Add(moduleObjectDetail); } else { _modulesByKey.Add(moduleObjectDetailBase.GetType(), moduleObjectDetailBase); } }