Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Metadata / ObjectLayer / LoadMessageLogger.cs / 1305376 / LoadMessageLogger.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Data.Entity;
namespace System.Data.Metadata.Edm
{
internal class LoadMessageLogger
{
private Action _logLoadMessage;
private Dictionary _messages = new Dictionary();
internal LoadMessageLogger(Action logLoadMessage)
{
this._logLoadMessage = logLoadMessage;
}
internal void LogLoadMessage(string message, EdmType relatedType)
{
if (_logLoadMessage != null)
{
_logLoadMessage(message);
}
LogMessagesWithTypeInfo(message, relatedType);
}
internal string CreateErrorMessageWithTypeSpecificLoadLogs(string errorMessage, EdmType relatedType)
{
return new StringBuilder(errorMessage)
.AppendLine(this.GetTypeRelatedLogMessage(relatedType)).ToString();
}
private string GetTypeRelatedLogMessage(EdmType relatedType)
{
Debug.Assert(relatedType != null, "have to pass in a type to get the message");
if (this._messages.ContainsKey(relatedType))
{
return new StringBuilder()
.AppendLine()
.AppendLine(Strings.ExtraInfo)
.AppendLine(this._messages[relatedType].ToString()).ToString();
}
else
{
return string.Empty;
}
}
private void LogMessagesWithTypeInfo(string message, EdmType relatedType)
{
Debug.Assert(relatedType != null, "have to have a type with this message");
if (this._messages.ContainsKey(relatedType))
{
// if this type already contains loading message, append the new message to the end
this._messages[relatedType].AppendLine(message);
}
else
{
this._messages.Add(relatedType, new StringBuilder(message));
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Data.Entity;
namespace System.Data.Metadata.Edm
{
internal class LoadMessageLogger
{
private Action _logLoadMessage;
private Dictionary _messages = new Dictionary();
internal LoadMessageLogger(Action logLoadMessage)
{
this._logLoadMessage = logLoadMessage;
}
internal void LogLoadMessage(string message, EdmType relatedType)
{
if (_logLoadMessage != null)
{
_logLoadMessage(message);
}
LogMessagesWithTypeInfo(message, relatedType);
}
internal string CreateErrorMessageWithTypeSpecificLoadLogs(string errorMessage, EdmType relatedType)
{
return new StringBuilder(errorMessage)
.AppendLine(this.GetTypeRelatedLogMessage(relatedType)).ToString();
}
private string GetTypeRelatedLogMessage(EdmType relatedType)
{
Debug.Assert(relatedType != null, "have to pass in a type to get the message");
if (this._messages.ContainsKey(relatedType))
{
return new StringBuilder()
.AppendLine()
.AppendLine(Strings.ExtraInfo)
.AppendLine(this._messages[relatedType].ToString()).ToString();
}
else
{
return string.Empty;
}
}
private void LogMessagesWithTypeInfo(string message, EdmType relatedType)
{
Debug.Assert(relatedType != null, "have to have a type with this message");
if (this._messages.ContainsKey(relatedType))
{
// if this type already contains loading message, append the new message to the end
this._messages[relatedType].AppendLine(message);
}
else
{
this._messages.Add(relatedType, new StringBuilder(message));
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PerspectiveCamera.cs
- SplashScreenNativeMethods.cs
- RadioButton.cs
- StringHelper.cs
- ButtonChrome.cs
- ResourceType.cs
- EmptyStringExpandableObjectConverter.cs
- UriTemplateLiteralQueryValue.cs
- DataGridView.cs
- WebEvents.cs
- ButtonColumn.cs
- WindowsListViewItemStartMenu.cs
- MinMaxParagraphWidth.cs
- DefaultAsyncDataDispatcher.cs
- Native.cs
- RevocationPoint.cs
- ButtonFieldBase.cs
- SystemException.cs
- NameValuePair.cs
- CatalogZone.cs
- ManagedFilter.cs
- ConfigurationManagerHelper.cs
- InputReport.cs
- NullableLongSumAggregationOperator.cs
- SapiInterop.cs
- Vertex.cs
- Rect.cs
- Assert.cs
- PasswordTextNavigator.cs
- UniqueConstraint.cs
- Translator.cs
- AudioException.cs
- OleAutBinder.cs
- AssemblyName.cs
- DetailsViewInsertedEventArgs.cs
- ArrangedElement.cs
- HeaderCollection.cs
- SqlAliaser.cs
- CallId.cs
- Panel.cs
- InstanceCreationEditor.cs
- InstanceData.cs
- ClosureBinding.cs
- ItemCheckedEvent.cs
- DesigntimeLicenseContext.cs
- IsolatedStorageException.cs
- RSAPKCS1KeyExchangeFormatter.cs
- SqlCrossApplyToCrossJoin.cs
- IItemContainerGenerator.cs
- ObjectDataSourceEventArgs.cs
- mda.cs
- ApplicationServiceManager.cs
- EntityContainer.cs
- SystemWebCachingSectionGroup.cs
- SafeRightsManagementSessionHandle.cs
- UnsafeNativeMethodsMilCoreApi.cs
- SizeConverter.cs
- StringCollection.cs
- BitSet.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- InputMethodStateTypeInfo.cs
- RbTree.cs
- XmlDataSource.cs
- HMACSHA384.cs
- IntSecurity.cs
- RequestQueue.cs
- BindingSource.cs
- DeferredElementTreeState.cs
- XmlSchemaAttributeGroup.cs
- WindowsRegion.cs
- XmlEntity.cs
- DbProviderSpecificTypePropertyAttribute.cs
- SpanIndex.cs
- ComplexLine.cs
- FontWeight.cs
- IsolatedStorageFile.cs
- DataGridViewDesigner.cs
- XmlFormatWriterGenerator.cs
- Ref.cs
- HierarchicalDataSourceControl.cs
- WorkflowApplicationCompletedException.cs
- ZoneButton.cs
- ChtmlTextWriter.cs
- ValidationContext.cs
- QueryRelOp.cs
- SourceFileBuildProvider.cs
- InternalResources.cs
- SafeFileHandle.cs
- InstancePersistence.cs
- AssociationSetMetadata.cs
- ItemAutomationPeer.cs
- TemplateFactory.cs
- Menu.cs
- reliableinputsessionchannel.cs
- DataGridColumn.cs
- OperandQuery.cs
- WebPartManager.cs
- WebServiceHandler.cs
- xdrvalidator.cs
- EntityStoreSchemaGenerator.cs