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
- LinqDataSourceView.cs
- NameValueConfigurationCollection.cs
- Grid.cs
- ProcessRequestArgs.cs
- HostProtectionException.cs
- Dictionary.cs
- AssemblyBuilderData.cs
- followingsibling.cs
- List.cs
- ListenerHandler.cs
- HtmlEmptyTagControlBuilder.cs
- ComplexType.cs
- StylusButtonCollection.cs
- SystemInformation.cs
- OledbConnectionStringbuilder.cs
- WindowsListViewItem.cs
- TextTreeNode.cs
- Animatable.cs
- TextContainer.cs
- cache.cs
- DataGridViewTextBoxEditingControl.cs
- AppSettingsExpressionBuilder.cs
- DateTimeFormat.cs
- DataException.cs
- Adorner.cs
- DbSetClause.cs
- GroupItemAutomationPeer.cs
- XPathSelectionIterator.cs
- SkinIDTypeConverter.cs
- XmlAggregates.cs
- BrowserDefinitionCollection.cs
- safex509handles.cs
- XhtmlBasicSelectionListAdapter.cs
- WebPartConnectionsConfigureVerb.cs
- SqlRowUpdatingEvent.cs
- SQLRoleProvider.cs
- SslStream.cs
- UrlSyndicationContent.cs
- documentsequencetextcontainer.cs
- CodeGeneratorAttribute.cs
- Tokenizer.cs
- WindowsListViewItemStartMenu.cs
- NetworkInformationException.cs
- Location.cs
- odbcmetadatacolumnnames.cs
- DateTimePicker.cs
- MemberProjectedSlot.cs
- BindingCollectionElement.cs
- HostingEnvironmentSection.cs
- NonceToken.cs
- OperationCanceledException.cs
- OutputScopeManager.cs
- SQlBooleanStorage.cs
- SessionStateContainer.cs
- CodeCommentStatementCollection.cs
- DataRowCollection.cs
- MouseGestureConverter.cs
- Socket.cs
- SID.cs
- SamlSecurityToken.cs
- SqlWorkflowInstanceStore.cs
- CqlWriter.cs
- AssemblyCollection.cs
- EngineSite.cs
- MessageBuilder.cs
- TileBrush.cs
- TagMapCollection.cs
- TagPrefixCollection.cs
- DisplayInformation.cs
- PrinterResolution.cs
- LayoutTable.cs
- FlowNode.cs
- SamlDoNotCacheCondition.cs
- ExpressionPrinter.cs
- GridSplitter.cs
- OrderPreservingSpoolingTask.cs
- AppDomainAttributes.cs
- WSTrust.cs
- RegistryKey.cs
- LinqDataSourceContextData.cs
- ImageSourceConverter.cs
- FontStyleConverter.cs
- DataControlLinkButton.cs
- KeyValuePairs.cs
- GroupStyle.cs
- ConfigurationPermission.cs
- ZipIOExtraFieldElement.cs
- ScalarRestriction.cs
- SortKey.cs
- X509SecurityTokenAuthenticator.cs
- InkSerializer.cs
- SeekableReadStream.cs
- XmlSchemaExporter.cs
- RbTree.cs
- ServerValidateEventArgs.cs
- HScrollProperties.cs
- DllHostInitializer.cs
- SpellerInterop.cs
- ReadOnlyDataSource.cs
- TableLayoutCellPaintEventArgs.cs