Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeDirectionExpression.cs
- HttpProfileGroupBase.cs
- ObjectDataSourceFilteringEventArgs.cs
- XmlTextEncoder.cs
- XPathDocumentIterator.cs
- PerCallInstanceContextProvider.cs
- Stack.cs
- FloaterBaseParagraph.cs
- Stylesheet.cs
- MenuRenderer.cs
- PolicyVersionConverter.cs
- MediaPlayer.cs
- DBCSCodePageEncoding.cs
- FormatConvertedBitmap.cs
- CellCreator.cs
- WebMessageEncoderFactory.cs
- XmlNode.cs
- TcpPortSharing.cs
- Processor.cs
- ConnectionConsumerAttribute.cs
- QueryExpression.cs
- PropertyChangeTracker.cs
- Collection.cs
- FileDialog.cs
- XmlHierarchicalEnumerable.cs
- ElementNotEnabledException.cs
- ProfileSettingsCollection.cs
- UriGenerator.cs
- ChildDocumentBlock.cs
- Schema.cs
- BuildManager.cs
- CTreeGenerator.cs
- SystemSounds.cs
- ModelPerspective.cs
- KeyValuePair.cs
- ContentElementAutomationPeer.cs
- Run.cs
- ToolStripSettings.cs
- BindingExpression.cs
- ScrollEventArgs.cs
- MonikerUtility.cs
- FormCollection.cs
- DrawListViewItemEventArgs.cs
- LinkArea.cs
- XmlSchemaSimpleContentRestriction.cs
- CodeSnippetTypeMember.cs
- DataTableCollection.cs
- FixUpCollection.cs
- DynamicRendererThreadManager.cs
- FontWeights.cs
- TransformGroup.cs
- DrawingContextWalker.cs
- SafeRightsManagementSessionHandle.cs
- validationstate.cs
- BaseDataList.cs
- WeakReferenceEnumerator.cs
- ThreadStateException.cs
- XmlRootAttribute.cs
- SystemWebCachingSectionGroup.cs
- ScrollChrome.cs
- NamespaceTable.cs
- InstanceLockLostException.cs
- RadialGradientBrush.cs
- AppDomainAttributes.cs
- DeviceContext.cs
- ObjectDataProvider.cs
- ActivityCodeGenerator.cs
- AnonymousIdentificationModule.cs
- ToolStripItemGlyph.cs
- BamlRecords.cs
- ListViewUpdateEventArgs.cs
- UriTemplateLiteralPathSegment.cs
- EmbossBitmapEffect.cs
- TypeToken.cs
- Parser.cs
- NavigationWindowAutomationPeer.cs
- AvTraceFormat.cs
- ResourceLoader.cs
- PipelineModuleStepContainer.cs
- util.cs
- SpotLight.cs
- VisualBrush.cs
- ContextMenuService.cs
- SchemeSettingElementCollection.cs
- ISO2022Encoding.cs
- SqlClientFactory.cs
- WorkflowOperationFault.cs
- ExtendedProtectionPolicyElement.cs
- StateDesigner.LayoutSelectionGlyph.cs
- ListBindableAttribute.cs
- SwitchAttribute.cs
- Console.cs
- Parameter.cs
- ExpressionBindingCollection.cs
- oledbmetadatacollectionnames.cs
- XmlSchemaSet.cs
- Match.cs
- ReturnEventArgs.cs
- SettingsProviderCollection.cs
- WebServiceClientProxyGenerator.cs