MSharp.Framework.Core
Created from a persisted Document to prevent unnecessary file loading when it's not actually changed.
So that if an entity is being updated, while its original file is not changed,
we don't do an unnecessary file operation.
Provides an utility for handling Binary property types.
In Test projects particularly, having files save themselves on the disk can waste space.
To prevent that, apply this setting in the config file.
Initializes a new instance of the class.
Initializes a new Document instance with the specified data and file name.
Initializes a new Document instance with the specified file name.
Initializes a new Document instance, for the specified file on disk.
Gets the address of the property owning this document in the format: Type/ID/Property
Optimizes the image based on the settings in the arguments.
Optimizes the image based on the settings in the arguments.
Gets an empty document object.
Gets or sets the data of this document.
Gets all fall-back paths for this Document
Gets the Url of this document.
Gets the content
Gets a Url to this document.
Gets a Url to this document.
Returns the Url of this document, or the provided default Url if this is Empty.
Gets a cache safe URL to this document.
Determines whether this is an empty document.
Determines whether this document has any content.
Creates a clone of this document.
Attaches this Document to a specific record's file property.
Attaches this Document to a specific record's file property.
Detaches this Document.
Deletes this document from the disk.
Saves this file on the disk.
Gets the mime type based on the file extension.
Determines if this document's file extension is for audio or video.
Gets the physical path root.
This will return the document object linked to the correct entity.
Expected format: Type/Id/Property.
Gets the local physical path of this file.
Gets a list of unsafe file extensions.
Determines whether the extension of this file is potentially unsafe.
Gets this document if it has a value, otherwise another specified document.
Compares this document versus a specified other document.
Compares this document versus a specified other document.
This is to be configured in Global.asax if a different provider is needed for specific files.
Example: MSharp.Framework.DocumentStorageProviderFactory.Add("Customer.Logo", new MySpecialStorageProvider);
In the format: {type}.{property} e.g. Customer.Logo.
This interface can be implemented on any entity which has a property of type Document.
Gets the path to the physical folder containing files for the specified document property.
If you don't need to implement this specific method, simply return NULL.
Gets the URL to the virtual folder containing files for the specified document property.
If you don't need to implement this specific method, simply return NULL.
Gets the name of the file used for the specified document property, without extension.
If you don't need to implement this specific method, simply return NULL.
Gets the fallback paths for the specified document.
Gets the url of the specified document.
Represents an instance of Automated task entity type.
Initializes a new instance of the AutomatedTask class.
Gets the CurrentExecutionDuration property.
Gets or sets the value of CurrentStartTime on this Automated task instance.
Gets the LastRunDuration property.
Gets or sets the value of LastRunEnd on this Automated task instance.
Gets or sets the value of LastRunStart on this Automated task instance.
Gets or sets the value of Name on this Automated task instance.
Gets or sets the value of NextTry on this Automated task instance.
Gets or sets a value indicating whether this Automated task instance Record failure.
Gets or sets a value indicating whether this Automated task instance Record success.
Gets or sets the Delay of this AutomatedTask.
Gets or sets the SyncGroup of this AutomatedTask.
Gets or sets the Priority of this AutomatedTask.
Returns a textual representation of this Automated task.
A string value that represents this Automated task instance.
Validates the data for the properties of this Automated task.
It throws a ValidationException if an error is detected.
Creates a new AutomatedTask instance.
Starts this automated task.
Restarts this task.
Represents an instance of Automated Task Status entity type.
Gets or sets the value of Name on this Automated Task Status instance.
Returns a textual representation of this Automated Task Status.
A string value that represents this Automated Task Status instance.
Creates a new AutomatedTaskStatus instance.
A data-reader style interface for reading Csv files.
Reads a CSV document into a data table. Note use the CastTo() method on the returned DataTable to gain fully-typed objects.
Reads a CSV file into a data table. Note use the CastTo() method on the returned DataTable to gain fully-typed objects.
Reads a CSV piece of string into a data table using OleDb. Note use the CastTo() method on the returned DataTable to gain fully-typed objects.
Reads a CSV piece of string into a data table. Note use the CastTo() method on the returned DataTable to gain fully-typed objects.
Gets the column names on the specified CSV document.
Gets the column names on the specified CSV content.
Each attachment will be XML in the form of: <Attachment FileName="myFile.pdf">
<Bytes>Base64 here</Bytes>
</Attachment>
Gets the mandatory placeholder tokens for this template.
Ensures the mandatory placeholders are all specified in this template.
Merges the subjcet of this email template with the specified data.
An anonymouse object. All property names should correspond to the placeholder names.
For example: new {FirstName = GetFirstName() , LastName = "john"}
Merges the body of this email template with the specified data.
An anonymouse object. All property names should correspond to the placeholder names.
For example: new {FirstName = GetFirstName() , LastName = "john"}
Merges the specified template with the provided.
Attaches a file to this email.
Attaches a file to this email.
The path of the attachment file.
This must be the physical path of a file inside the running application.
Attaches the specified byte array content to this email as an attachment.
Will send an email and returns true for successful sending.
Records an unsuccessful attempt to send this email.
Provides email sending services.
Gets the Attachment objects to be attached to this email.
Gets the Linked Resource objects to be attached to this email.
Specifies a factory to instantiate EmailQueueItem objects.
Provides a message which can dispatch an email message.
Returns whether the message was sent successfully.
Occurs when the smtp mail message for this email is sent. Sender is the IEmailQueueItem instance that was sent.
Occurs when the smtp mail message for this email is about to be sent.
Occurs when an exception happens when sending an email. Sender parameter will be the IEmailQueueItem instance that couldn't be sent.
Raises the Sending event.
Raises the Sent event.
Tries to sends all emails.
Tries to sends all emails.
The category of the emails to send. Use "*" to indicate "all emails".
Tries to sends all emails.
The time to wait in between sending each outstanding email.
Tries to sends all emails.
The category of the emails to send. Use "*" to indicate "all emails".
Will try to send the specified email and returns true for successful sending.
Gets the email items which have been sent (marked as soft deleted).
Creates an SMTP mail message for a specified mail item.
Creates a VCalendar text with the specified parameters.
This uniquely identifies the meeting and is used for changes / cancellations. It is recommended to use the ID of the owner object.
Represents an email generated by the application.
Gets or sets the body of this email.
Gets or sets the Date of this email.
Gets or sets whether SSL is enabled.
Gets or sets whether this email is HTML.
Gets or sets the Sender Address of this email.
Gets or sets the Sender Name for this email.
Gets or sets the Subject of this email.
Gets or sets the recipient of this email.
Gets or sets the Attachments information for this email.
Gets or sets the Bcc recipients of this email.
Gets or sets the Bcc recipients of this email.
Gets or sets the number of times sending this email has been tried.
Gets or sets the VCalendar View of this email.
Gets or sets the Username to use for sending this email.
Gets or sets the Password to use for sending this email.
Gets or sets the Smtp host address to use for sending this email.
Gets or sets the Smtp port to use for sending this email.
Gets or sets the Category for sending this email.
Represents an instance of Email template entity type.
Gets or sets the value of Body on this Email template instance.
Gets or sets the value of Key on this Email template instance.
Gets or sets the value of MandatoryPlaceholders on this Email template instance.
Gets or sets the value of Subject on this Email template instance.
Provides secure password hashing service based on PBKDF2.
Creates a salted PBKDF2 hash of the password.
Validates a password given a hash of the correct one.
Initializes a new instance of the class.
Gets or sets the text of this cell.
Gets or sets the type of this cell.
Determines if this cell has the same style as the specifying one.
Provides styles for excel cells.
Initializes a new instance of the class.
Gets or sets the horizontal alignment of this style.
Gets or sets the vertical alignment of this style.
Gets or sets the cell orientation of this style.
Gets or sets the size of the font.
Gets or sets the background color of this style.
Gets or sets the border color of this style.
Gets or sets the width of the border.
Gets or sets the font name of this style.
Gets or sets the Number format of this style.
Gets or sets if font should be bold.
Gets or sets if the text should be wrapped.
Gets or sets if font should be Italic.
Gets or sets the background color of this style.
Gets or sets the Style of this ExcelColumn.
Use ExcelExporter.Style.[Item] to add styles to this.
Use ExcelExporter.Style.[Item] to add styles.
Gets a unique ID for this style.
Creates a new ExcelExporter instance.
Creates a new ExcelExporter instance.
Specifies the type of output file.
Gets or sets a Workbook Unique integer ID to use for creating styles.
Creates a new ExcelColumn instance.
Sets the specified row style attribute.
Sets the specified header style attribute.
Gets or sets the style of this columns's header cell.
Gets or sets the style of this columns's data cells.
Gets or sets the HeaderText of this ExcelColumn.
Gets or sets the Type of this ExcelColumn.
Gets or sets the Formula of this ExcelColumn.
Gets or sets the group name of this ExcelColumn.
Customizes this column.
enumeration items to select from
Gets or sets the Name of this ExcelDropDownColumn.
Creates a new ExcelExporter instance.
Creates a new ExcelExporter instance for a data table.
It automatically configures the exporter for all columns and rows of the data table.
Gets or sets the DocumentName of this ExcelExporter.
Gets or sets the HeaderBackGroundColor of this ExcelExporter.
Gets or sets the HeaderFontName of this ExcelExporter.
Gets or sets the HeaderGroupBackgroundColor of this ExcelExporter.
Gets or sets the IncludeHeader of this ExcelExporter.
Adds a header cell.
Adds a header cell.
Adds a header cell.
Removes the column with the specified header text.
Removes the column at the specified index.
Adds a data row to the excel output.
Either ExcelCell instances or value objects.
Generates the content of the output Excel file.
Generates Hidden Worksheets that contain Possible Values for each DropDown
DataValidation assigns a DropDown for each cell and restrics possible values to that drop down
Gets the file extension for a specified output format.
Provides location services.
By default it will return the config value of "Google.Maps.Api.Client.Key".
You can redefine this function in your app to provide a dynamic way to obtain the key.
By default it will return the config value of "Google.Maps.Api.Client.Signature".
You can redefine this function in your app to provide a dynamic way to obtain the key.
Gets the Geo Location of a specified postcode using Google API.
This method has daily usage limit of 25000 calls.
Gets the distance between 2 locations in miles.
Returns the traveling distance in miles using the Google Maps API.
Response returned by Google API for each auto-detect language request
ISO Code
Confidence [0;1] about the detection
Language detected based on iso639-1
Initialize a new Google auto-detect response
Creates a new TranslationDownloadedEventArgs instance.
Gets or sets the Word of this TranslationDownloadedEventArgs.
Gets or sets the Language of this TranslationDownloadedEventArgs.
Gets or sets the Translation of this TranslationDownloadedEventArgs.
Provides translation services.
Length of the query without the phrase
Maximum number of characters for each request to Google API
Maximum number of characters for each phrase that can be sent to Google Translate
Message returned by Google if suspected terms of service abuse.
HTML tag for a line break
Unicode value of a HTML line break
Gets the language of the current user from cookie.
If no language is specified, then the default language will be used as configured in the database.
Occurs when a translation is requested.
Occurs when a word's translation is downloaded off the Internet.
Check the configuration status of Google Translate
Set the status of Google Translate as well configured
Uses Google Translate service to translate a specified phrase to the specified language.
Detect the language of a phrase.
The API can translate multiple piece of text in the same time, if needed create a function with parameter "params string phrase" and return a list of GoogleAutoDetectLanguage.
Stores one item requested for processing via an external service.
The name of the integration service used for processing this item.
The body of the request being sent to the integration service.
The response generated by the remote service.
The error encountered in processing this item.
Specifies the date and time when this item was picked for processing.
If it's null, it means this item has not been picked yet.
Specifies the date and time when this item was first requested and added to the queue.
Specifies the date when the response was retrieved from the remote service.
Provides services for integration services.
Key = TRequest|TResponse
Value = TService
Will find a Service Registered to process the item.
Uses the right Integration Service to process the outstanding items in all queues.
This should be called as an Automated Task in the application.
Uses the right Integration Service to process the next item in that queue.
Registers an integration service.
Inserts a queu item to call this service and waits until the item is processed.
Then it will return the response.
Inserts a request in the queue and immediately returns without waiting for a response.
It will return the token string for this request, that can be queried later on for a response (using Await Response).
It will wait until a response is provided by another thread to the integration queue item specified by its token.
Injects an asyncronous waiter which will inject the provided response for one potential future request.
It will check every 5 milliseconds to see if a request item is inserted in the queue, and in that case respond to it.
Inserts a queu item to call this service and waits until the item is processed.
Then it will return the response.
Registers an integration service implementor.
Injects an asyncronous waiter which will inject the provided response for one potential future request.
It will check every 5 milliseconds to see if a request item is inserted in the queue, and in that case respond to it.
It will wait until a response is provided by another thread to the integration queue item specified by its token.
Inserts a request in the queue and immediately returns without waiting for a response.
It will return the token string for this request, that can be queried later on for a response (using Await Response).
It will process the specified request, send it to the remote service, and return the response.
This class provides a unique file path in a temporary folder (i.e. in the application temp folder
in the system by default and can be provided in Config of the application through a setting with key "Application.TemporaryFilesPath")
After this instance is disposed any possibly created file in the path will be deleted physically.
If this class fails to dispose an application event will be added to the projects database.
Creates a new instance of temporary file. The file will have "dat" extension by default.
Creates a new instance of temporary file.
with the given extension. Extension can either have "." or not
Finds a proper folder path for temporary files
Gets or sets the FilePath of this TemporaryFile.
Disposes this instance of temporary file and deletes the file if provided
When serializing objects it ignores all properties unless they have [Exposed] attribute.
Provides PDF services.
Creates an instance of Html 2 PDF converter service.
Creates a new Profiler instance.
Represents a sendable SMS item generated by the application.
Gets or sets the date this SMS should be sent.
Gets or sets the date when this SMS was successfully sent.
Gets or sets the Sender Name.
Gets or sets the SMS text.
Gets or sets the SMS recipient number.
Gets or sets the number of times sending this email has been tried.
Represents a component that actually delivers SMS messages.
This should be implemented for any 3rd party SMS gateway.
Delivers the specified SMS message.
The implementation of this method should not handle exceptions. Any exceptions will be logged by the engine.
Records an unsuccessful attempt to send this SMS.
Updates the DateSent field of this item and then soft deletes it.
Sends the specified SMS item.
It will try several times to deliver the message. The number of retries can be specified in AppConfig of "SMS.Maximum.Retries".
If it is not declared in web.config, then 3 retires will be used.
Note: The actual SMS Sender component must be implemented as a public type that implements ISMSSender interface.
The assembly qualified name of that component, must be specified in AppConfig of "SMS.Sender.Type".
Occurs when an exception happens when sending an sms. Sender parameter will be the ISmsQueueItem instance that couldn't be sent.
Sends the specified SMS item.
It will try several times to deliver the message. The number of retries can be specified in AppConfig of "SMS.Maximum.Retries".
If it is not declared in web.config, then 3 retires will be used.
Note: The actual SMS Sender component must be implemented as a public type that implements ISMSSender interface.
The assembly qualified name of that component, must be specified in AppConfig of "SMS.Sender.Type".
Represents a sortable entity type.
Provides Sorting services for all entities.
Moves this item before a specified other item. If null is specified, it will be moved to the end of its siblings.
Moves this item after a specified other item. If null is specified, it will be moved to the beginning of its siblings.
Moves an item up among its siblings. Returns False if the item is already first in the list, otherwise true.
Moves an item up to first among its siblings. Returns False if the item is already first in the list, otherwise true.
Moves an item up to last among its siblings. Always returns true.
Moves an item down among its siblings. Returns False if the item is already last in the list, otherwise true.
Swaps the order of two specified items.
Justifies the order of a specified item and its siblings.
The value of the "Order" property in those objects will be 10, 20, 30, ...
Discovers the siblings of the specified sortable object.
Gets the Next order for an ISortable entity.
The result will be 10 plus the largest order of its siblings.
Generates an identifier for a given string value.
Gets or sets the Value of this IdentifierGenerator.
Creates a new IdentifierGenerator instance.
Builds the identifer
Creates a new XmlProperties instance.
Creates a new XmlProperties instance.
Returns the XML representation of this instance.
Provides services for object XML serialization.
Generates an XML text equivalent of the specified object.
Converts the specified xml text into an instance of T.
Provides a HttpRequest level cache of objects.
Gets a specified cached value from the current HttpContext.
If it doesn't exist, it will evaluate the provider expression to produce the value, adds it to cache, and returns it.
Removes a specified cached object by its key from the current Http Context.
ADO.NET Facade for submitting single method commands.
Creates a new DB Connection to database with the given connection string.
Creates a connection object.
Creates a connection object.
Executes the specified command text as nonquery.
Executes the specified command text as nonquery.
Executes the specified command text as nonquery.
Executes the specified command text against the database connection of the context and builds an IDataReader.
Make sure you close the data reader after finishing the work.
Executes the specified command text against the database connection of the context and returns the single value of the type specified.
Executes the specified command text against the database connection of the context and returns the single value.
Executes the specified command text against the database connection of the context and returns the single value.
Executes a database query and returns the result as a data set.
Executes a database query and returns the result as a data set.
Provides a DataAccessor implementation for System.Data.SqlClient
Provides SQL profiling services.
To invoice this you can send a request to the application using http://...?Web.Test.Command=Sql.Profile&Mode=Snapshot
Determines whether the current log data should be removed (false) or kept for future combined future generated (true).
Provides a DataProvider for accessing data from the database using ADO.NET.
Executes the specified command text as nonquery.
Executes the specified command text as nonquery.
Executes the specified command text as nonquery.
Executes the specified command text against the database connection of the context and builds an IDataReader. Make sure you close the data reader after finishing the work.
Executes the specified command text against the database connection of the context and returns the single value.
Executes the specified command text against the database connection of the context and returns the single value.
Creates a data parameter with the specified name and value.
Creates a data parameter with the specified name and value and type.
Deletes the specified record.
Gets the specified record by its type and ID.
Reads the many to many relation.
Saves the specified record.
Generates data provider specific parameters for the specified data items.
Generates a data provider specific parameter for the specified data.
Gets or sets the connection string key used for this data provider.
Returns a direct database criterion used to eager load associated objects.
Gets the list of specified records.
Gets or sets the connection string key used for this data provider.
Provides data access for Interface types.
Provides a DataProvider for accessing data from the database using ADO.NET based on the SqlClient provider.
Attaches an event handler to be invoked when the current (root) transaction is completed.
Attaches an event handler to be invoked when the current (root) transaction is completed.
A basic implementation of a database query criterion.
Initializes a new instance of the class.
Initializes a new instance of the class.
Initializes a new instance of the class.
Initializes a new instance of the class.
Initializes a new instance of the class.
Initializes a new instance of the class.
Gets or sets the PropertyName of this Condition.
Gets or sets the SqlCondition of this Condition.
Gets or sets the Filter Option of this Condition.
Gets or sets the Value of this Condition.
Gets a text representation of the value.
Returns a string that represents this instance.
Parses the specified condition string.
Gets a list of entities of the given type from the database with the specified type matching the specified criteria.
If no criteria is specified, the count of all instances will be returned.
Enables adding a direct SQL WHERE criteria to the database query.
Initializes a new instance of the class.
Initializes a new instance of the class.
Item1 = Parameter name (without the @ character). Item2 = parameter value.
Initializes a new instance of the class.
Initializes a new instance of the class.
Example: new {Parameter1 = SomeValue(), Parameter2 = AnotherValue()}
Gets the parameters used in the specified custom SQL criteria.
Gets or sets the SQL criteria.
N/A.
Specifies whether this criteria is compatible with normal caching.
Returns a string that represents this instance.
N/A.
Provides options for filter functions.
Gets the database operator equivalent for this filter option.
Creates a new FullTextIndexQueryOption instance.
Gets or sets the Keywords of this FullTextIndexQueryOption.
Gets or sets the Properties of this FullTextIndexQueryOption.
Provides an abstraction for database query criteria.
Creates a new ResultSetSizeQueryOption instance.
Creates a new ResultSetSizeQueryOption instance.
The direct SQL sort expression. E.g: MyColumn DESC, Something
Creates a FullTextSearch option for the search query.
Creates a new ResultSetSizeQueryOption instance.
Gets or sets the Number of this ResultSetSizeQueryOption.
Creates a new SortQueryOption instance.
Gets or sets the Property of this SortQueryOption.
Gets or sets the Descending of this SortQueryOption.
Provides a cache of objects retrieved from the database.
Gets the current cache.
Gets an entity from cache. Returns null if not found.
Gets an entity from cache. Returns null if not found.
Gets an entity from cache. Returns null if not found.
Adds a given entity to the cache.
Removes a given entity from the cache.
Removes all entities of a given types from the cache.
Gets or sets the SyncFilePath of this DataProviderModelConfigurationSection.
Gets or sets the SyncFilePath of this DataProviderModelConfigurationSection.
Finds an entity with unknown type from its given id.
Gets the runtime type from the currently loaded assemblies.
The type name (including namespace, but excluding assembly).
Creates a watcher on the current cache.
Reads the many to many relation and returns the IDs of the associated objects.
Determines whether this data provider factory handles interface data queries.
Gets or sets the ConnectionString of this DatabaseContext.
Data access code for Application components.
Gets a list of entities of the given type from the database with the specified type matching the specified criteria.
If no criteria is specified, the count of all instances will be returned.
Gets a list of entities of the given type from the database.
Clears the cache of all items.
If there is an existing open transaction, it will simply run the specified action in it, Otherwise it will create a new transaction.
Returns the first record of the specified type of which ToString() would return the specified text .
Gets the total number of objects in cache.
Reloads a specified instance from database. This should be used when an object in memory is not synscronized with the database.
Gets a reloaded instance from the database to get a synced copy.
Determines if there is any object in the database of the specified type.
Determines if there is any object in the database of the specified type matching a given criteria.
Determines whether there is no object of the specified type in the database.
Determines whether none of the objects in the database match a given criteria.
Deletes the specified record from the data repository.
Deletes the specified record from the data repository.
Deletes the specified instances from the data repository.
The operation will be done in a transaction.
Deletes all objects of the specified type.
Deletes all objects of the specified type matching the given criteria.
Updates all records in the database with the specified change.
Finds the object with maximum value of the specified property.
Finds the object with minimum value of the specified property.
Find an object with the specified type from the database.
When used with no criteria, returns the first object found of the specified type.
If not found, it returns null.
Find an object with the specified type from the database.
When used with no criteria, returns the first object found of the specified type.
If not found, it returns null.
The order by expression to run at the database level. It supports only one property.
Specified whether the order by is descending.
Finds an object with the specified type matching the specified criteria.
If not found, it returns null.
Gets an Entity of the given type with the given Id from the database.
If it can't find the object, an exception will be thrown.
The primary key value of the object to load in string format.
Get an entity with the given type and ID from the database.
If it can't find the object, an exception will be thrown.
The type of the object to get
The primary key value of the object to load.
Get an entity with the given type and ID from the database.
If it can't find the object, an exception will be thrown.
The type of the object to get
The primary key value of the object to load.
Get an entity with the given type and ID from the database.
If it can't find the object, an exception will be thrown.
The type of the object to get
The primary key value of the object to load.
Get an entity with the given type and ID from the database.
If it can't find the object, an exception will be thrown.
The primary key value of the object to load.
Get an entity with the given type and ID from the database.
If it can't find the object, an exception will be thrown.
The primary key value of the object to load.
Get an entity with the given type and ID from the database.
If the key does not exist, it will return null, rather than throwing an exception.
The type of the object to get
The primary key value of the object to load.
Get an entity with the given type and ID from the database.
If the key does not exist, it will return null, rather than throwing an exception.
The type of the object to get
The primary key value of the object to load.
This is invoked for every Database.GetList() call. You can use this to inject additional criteria or query options globally.
Returns a list of entities with the specified type.
Gets a list of entities of the given type from the database.
Returns a list of entities with the specified type.
Returns a list of entities with the specified type.
Gets the list of objects with the specified type matching the specified criteria.
If no criteria is specified, all instances will be returned.
Gets a list of entities of the given type from the database.
Gets a list of entities of the given type from the database.
The order by expression to run at the database level. It supports only one property.
Specified whether the order by is descending.
Gets a list of entities of the given type from the database.
Returns a list of entities with the specified type.
Gets the list of T objects from their specified IDs.
Gets the list of objects from their specified IDs.
It's raised when any record is saved or deleted in the system.
Gets the assemblies for which a data provider factory has been registered in the current domain.
Creates a transaction scope.
Inserts or updates an object in the database.
Inserts or updates an object in the database.
Saves the specified records in the data repository.
The operation will run in a Transaction.
Runs an update command on a list of given objects and persists the updated objects in database.
It returns the updated instances.
The objects to be updated in database.
Update action. For example: o=>o.Property = "Value"
Runs an update command on a list of given objects and persists the updated objects in database.
It returns the updated instances.
The objects to be updated in database.
Update action. For example: o=>o.Property = "Value"
Runs an update command on a given object's clone and persists the updated object in database. It returns the updated instance.
The object to be updated in database.
Update action. For example: o=>o.Property = "Value"
Runs an update command on a given object's clone and persists the updated object in database. It returns the updated instance.
The object to be updated in database.
Update action. For example: o=>o.Property = "Value"
Inserts the specified objects in bulk. None of the object events will be triggered.
Updates the specified objects in bulk. None of the object events will be triggered.
Saves the specified records in the data repository.
The operation will run in a Transaction.
Saves the specified records in the data repository.
The operation will run in a Transaction.
Saves the specified records in the data repository.
The operation will run in a Transaction.
A repository of transient records in the user's session memory.
Clears the old objects in session memory.
Clears the old objects in session memory. This method is meant to be called periodically every few minutes.
The maximum age allowed to live in the memory. Any objects added before the specified time span will be cleared.
Gets the current instance of the session memory, specific to the current ASP.NET user (or "Current Thread" when ASP.NET session is not available in the current context).
Gets a record from the session memory by its specified ID.
Gets a record from the session memory by its specified ID and Type.
Gets a list of objects of the specified type, matching the specified criteria.
Gets a list of objects of the specified type, matching the specified criteria.
Finds the first object matching the specified criteria.
Adds a specified records to the Session memory.
Adds a specified record to the Session memory. If another object with the same ID already exists, the new object will replace it.
Removes a specified record from the session memory.
When applied to a property, indicates that such property is AutoNumber (or Identity in SQL Server).
Determines if a given property is auto number.
Creates a new CacheDependantAttribute instance.
Gets the dependent type.
Gets a list of types that depend on a given entity.
Finds a list of types that depend on a given entity.
When applied to a property, it marks it as the primary key of that class.
This is intended to be used by object relational mapping (ORM) tools.
When applied to a property, indicates that such property does not exist in the database.
Determines if a given property is calculated.
When applied to a property of type DateTime or Nullable[DateTime] it specifies that values are for Date only,
and the time part is meant to be disregarded.
When applied to a class, indicates whether data access events should be logged for instances of that type.
Creates a new LogEventsAttribute instance.
Gets a list of types that depend on a given entity.
Gets a list of types that depend on a given entity.
Returns a list of types that depend on a given entity.
Gets or sets the Lazy of this ManyToManyAttribute.
When applied to a class, defines its Application data accessor type.
Specifies if a type is cacheable.
Creates a new CacheObjectsAttribute instance.
Determines if caching is enabled for a given type.
Determines if small table is specified for a given type.
Determines if soft delete is enabled for a given type.
Provides support for bypassing softdelete rule.
Creates a new Context instance.
Determines if SoftDelete check should the bypassed in the current context.
Provides services for application events and general logging.
Gets the changes XML for a specified object. That object should be in its OnSaving event state.
Gets the changes applied to the specified object.
Each item in the result will be {PropertyName, { OldValue, NewValue } }.
Records the execution result of a scheduled task.
The name of the scheduled task.
The time when this task was started.
Records the execution result of a scheduled task.
The name of the scheduled task.
The time when this task was started.
The Exception that occurred during the task execution.
Loads the item recorded in this event.
Gets the current user id.
Gets the IP address of the current user.
Records the provided exception in the database.
Records the provided exception in the database.
Logs the specified event as a record in the ApplicationEvents database table.
The event title.
The details of the event.
The record for which this event is being logged (optional).
The ID of the user involved in this event (optional). If not specified, the current ASP.NET context user will be used.
The IP address of the user involved in this event (optional). If not specified, the IP address of the current Http context (if available) will be used.
This class provides default services for application events and general logging.
It's fired just before the event log instance for a SAVE operation is saved in the database.
Handle it to modify the event log instance, add additional data, etc.
It's fired just before the event log instance for a delete operation is saved in the database.
Handle it to modify the event log instance, add additional data, etc.
Specifies a factory to instantiate EmailQueueItem objects.
Gets the IP address of the current user.
Gets the current user id.
Gets the changes applied to the specified object.
Each item in the result will be {PropertyName, { OldValue, NewValue } }.
Gets the changes XML for a specified object. That object should be in its OnSaving event state.
Gets the data of a specified object's properties in a dictionary.
Records the execution result of a scheduled task.
The name of the scheduled task.
The time when this task was started.
Records the execution result of a scheduled task.
The name of the scheduled task.
The time when this task was started.
The Exception that occurred during the task execution.
Records the provided exception in the database.
Records the provided exception in the database.
Logs the specified event as a record in the ApplicationEvents database table.
The event title.
The details of the event.
The record for which this event is being logged (optional).
The ID of the user involved in this event (optional). If not specified, the current ASP.NET context user will be used.
The IP address of the user involved in this event (optional). If not specified, the IP address of the current Http context (if available) will be used.
Loads the item recorded in this event.
Records information in the ApplicationEvents table.
Creates a new UndoContext instance.
Entity, a persistent object in the application.
Base constructor (called implicitly in all typed entity classes) to initialize an object.
Gets the id of this entity.
Invalidates its cached references.
Determines whether this is a newly created instace. This value will be True for new objects, and False for anything loaded from the database.
Determines whether this instance is "soft-deleted".
Determines whether this object is already cloned and updated in the database without this instance being updated.
Initializes this instance.
This can be overridden in the business entity types to provide "construction" logic.
Gets the primitive properties of this tye.
Extracts the primitive properties of a specified type.
Returns a string that contains all primitive properties of this instance.
This should be used normally in "full text search".
Validates the data for the properties of the current instance.
It throws a ValidationException if an error is detected
Validates this instance to ensure it can be saved in a data repository.
If this finds an issue, it throws a ValidationException for that.
This calls ValidateProperties(). Override this method to provide custom validation logic in a type.
This even is raised just after this instance is loaded from the database.
This event is raised just before this instance is saved in the data repository.
This is raised just before the object is being Validated.
It will automatically be called in Database.Save() method before calling the Validate() method.
Use this to do any last-minute object modifications, such as initializing complex values.
This event is raised after this instance is saved in the database.
Raises the event.
The instance containing the event data.
This event is raised just before this instance is deleted from the database.
This event is raised just after this instance is deleted from the database.
Creates a shallow copy of this object.
If you need to update an instance loaded from the database, you must create a Clone of it before applying any changes.
Otherwise you will be editing the "live" instance from the cache, that is used by all other threads!
Determines whether the specified object is equal to this instance.
Determines whether the specified object is equal to this instance.
Implements the operator ==.
Compares the current instance with another object of the same type.
An object to compare with this instance.
Gets or sets the ID of this object.
Gets the original id of this type as it was in the database.
Returns a hash code for this instance.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
Determines whether this instance is equal to another specified instance.
Gets the ID of this object.
Provides services for Entity objects.
Determines whether the specified record is immutable, or closed for changes.
An object marked as immutable is shared in the application cache. Therefore it must not be changed.
Marks the specified object as immutable.
This event is raised for the whole Entity type before "any" object is saved in the database.
You can handle this to provide global functionality/event handling scenarios.
This event is raised for the whole Entity type after "any" object is saved in the database.
You can handle this to provide global functionality/event handling scenarios.
This event is raised for the whole Entity type before "any" object is deleted from the database.
You can handle this to provide global functionality/event handling scenarios.
This event is raised for the whole Entity type before "any" object is validated.
You can handle this to provide global functionality/event handling scenarios.
This will be called as the first line of the base Entity's OnValidating method.
This event is raised for the whole Entity type after "any" object is deleted from the database.
You can handle this to provide global functionality/event handling scenarios.
Sets the state of an entity instance to saved.
Creates a new clone of an entity. This will work in a polymorphic way.
Creates a new clone of an entity. This will work in a polymorphic way.
Sets the ID of an object explicitly.
Read the value of a specified property from a specified object.
Represents a base Entity with ID of type Guid.
Gets a unique Identifier for this instance. In the database, this will be the primary key of this object.
Creates a shallow copy of this object.
If you need to update an instance loaded from the database, you must create a Clone of it before applying any changes.
Otherwise you will be editing the "live" instance from the cache, that is used by all other threads!
Represents an M# Entity.
Determines whether this object has just been instantiated as a new object, or represent an already persisted instance.
Validates this instance and throws ValidationException if necessary.
Gets the id of this entity.
Invalidates all its cached referencers.
A persistent object in the application.
Gets the ID.
Gets a unique Identifier for this instance. In the database, this will be the primary key of this object.
Gets the geo distance in miles between this and another specified location.
Gets the geo distance in miles between this located object and a specified location.
Gets the geo distance in miles between this location and a specified located object.
Gets the geo distance in miles between this and another specified located object.
Provides shortcut access to the value specified in web.config (or App.config) under AppSettings or ConnectionStrings.
Gets the connection string with the specified key.
Gets the value configured in Web.Config (or App.config) under AppSettings.
Gets the value configured in Web.Config (or App.config) under AppSettings.
If no value is found there, it will return the specified default value.
Reads the value configured in Web.Config (or App.config) under AppSettings.
It will then convert it into the specified type.
Reads the value configured in Web.Config (or App.config) under AppSettings.
It will then convert it into the specified type.
If no value is found there, it will return the specified default value.
Reads the value configured in Web.Config (or App.config) under AppSettings.
It will then try to convert it into the specified type.
If no vale is found in AppSettings or the conversion fails, then it will return null, or the default value of the specified type T.
Determines whether the specified key is defined in configuration file.
Reads the app settings from a specified configuration file.
Marks a property as Serializable (mainly for Json).
Provides immediate access to retrieved entities. It is aware of deletes and updates.
Provides immediate access to retrieved entities. It is aware of deletes and updates.
Gets the entity record from a specified database call expression.
The first time it is loaded, all future calls will be immediately served.
When applied to a method it will skip all GCop warnings for that method (not to be abused).
It is bad to escape any cop. Always try to avoid using this attribute by fixing your code.
Determines whether this user has a specified role.
Determines if this user Is Authenticated.
Compresses the specified folders into a 7 Zip archive folder.
Compresses the specified folders into a 7 Zip archive folder.
The maximum size of each splitted size in Kilo Bytes
Compresses the specified folders into a 7 Zip archive folder.
The maximum size of each splitted size in Kilo Bytes
Compresses the specified source files into a temp 7Zip file and returns the temp 7Zip file.
Compresses the specified source files into a 7Zip file and returns the data of the 7Zip file. The temp file is deleted.
Creates a 7Zip file from the specified files.
Compresses the specified folders into a 7 Zip archive folder.
Use wildcards. Example: *\Folder\Sub-folder\*
Gets the binary data of this image.
Converts the specified binary data to a bitmap.
Determines whether the specified binary data is for a valid image.
Returns a resized version of this image.
Brightens or darkens this image to the specified level. Level should be between 0 and 255.
0 Means totally dark and 255 means totally bright.
Creates a graphics object for this image.
Crops this image with the specified rectangle.
Generates a color pallete for a GIF image.
Generates a color pallete based on the colors used in a specified image.
Finds all colours used in the specified image.
The result will be the list of colours sorted by then umber of times that is used.
Finds the index of the relevant entry in the new pallete to the specified color.
Gets the difference between the 2 specified colors.
A utility to resize and optimise image files.
Creates a new instance of ImageOptimizer class with default settings.
Creates a new instance of ImageOptimizer class.
Gets the available output image formats.
Applies the settings of this instance on a specified source image, and provides an output optimized/resized image.
Optimizes the specified source image and returns the binary data of the output image.
Applies optimization settings on a a source image file on the disk and saves the output to another file with the specified path.
Applies optimization settings on a source image file.
Please note that the original file data is lost (overwritten) in this overload.
Gets an image which is a column of this image at the specified index.
Gets the width of a specified text in this font.
Inserts the specified image at the specified column inside this host image.
Creates a rotated version from this image.
The number of degrees to rotate this image. Direction of rotation will be clock-wise.
Stretches the specified image.
Generates a public/private key for asymmetric encryption.
Encrypts the specified text with the specified public key.
Decrypts the specified text with the specified public/private key pair.
Encrypts the specified text with the specified password.
Decrypts the specified encrypted text with the specified password.
Gets or sets the Method of this MethodPointer.
Gets the name of this method.
Returns a string that represents this instance.
Performs an implicit conversion from a specified lambda expression to .
Performs an implicit conversion from a specified lambda expression to .
Performs an implicit conversion from a specified lambda expression to .
Creates a new Base32Integer instance.
Creates a new Base32Integer instance.
Converts an array of bytes to a Base32-k string.
Converts a Base32-k string into an array of bytes.
Creates a CachedValue the specified value builder.
Creates a new CachedValue instance.
Initializes a new CachedValue instance with lazy loading support.
The value builder.
Stores the underlying value.
Gets the underlying value.
Gets or sets the Data property of this EventArgs.
Creates a new EventArgs instance.
Creates a new EventArgs instance.
Gets or sets the Data property of this EventArgs.
Gets or sets the Data property of this EventArgs.
Creates a new EventArgs instance.
Creates a new EventArgs instance.
Creates a new EventArgs instance.
By default provides the current server's timezone.
You can override this to provide user-specific time-zones or based on any other system setting.
If set, it will provide the "Now" value.
Note: This has lower priority than thread-level overrides.
Gets the local current date/time of the application.
By default it equals to System.DateTime.Now.
To override its value, you should wrap the calling code inside "using (LocalTime.SetNow(some date)) { ... }"
Examples:
—————————————————————————————————
var now = LocalTime.Now // which is identical to DateTime.Now
—————————————————————————————————
using (LocalTime.Set(DateTime.Parse("15/01/2000 06:13")))
{
 var date = LocalTime.Now; // that sets date to 15th Jan 200 at 6:13.
}
Gets the current Universal Time.
Gets the local current date of the application (no time).
By default it equals to System.DateTime.Today.
To override its value, you should wrap the calling code inside "using (LocalTime.SetNow(some date)) { ... }"
Examples:
—————————————————————————————————
var now = LocalTime.Today // which is identical to DateTime.Today
—————————————————————————————————
using (LocalTime.Set(DateTime.Parse("15/01/2000 06:13")))
{
 var date = LocalTime.Today; // that sets date to 15th Jan 200.
}
Gets the current Universal Time's date part (without time).
Sets the current time of the application.
Examples:
—————————————————————————————————
using (LocalTime.Set(DateTime.Parse("15/01/2000 06:13")))
{
 //Here any call for LocalTime.Now/Today will return 15th of Jan 2000 (at 6:30).
}
Sets the current time function of the application.
Sets the current time function of the application.
Note: This has lower priority than thread-level time setting.
Freezes the time to the current system time.
Examples:
—————————————————————————————————
using (LocalTime.Stop())
{
 // Freezes the time to Datetime.Now.
}
Adds the specified time to the current LocalTime.
Creates a new OverriddenApplicationDate instance.
Provides process context data sharing mechanism to pass arguments and data around execution in a shared pipeline.
It supports context nesting.
Creates a new Process Context.
Creates a new Process Context with the specified key and data.
Sets the default data expression, when no context data is available.
Gets or sets the Data of this ProcessContext.
Gets or sets the key of this ProcessContext.
A number of nested process context objects in the currenly executing thread.
Gets the data of the current context with default key (null).
Gets the data of the current context with the specified key.
Disposes the current process context and switches the actual context to the containing process context.
Provides a facade for easiper creation of a Process Context.
Create a process context for the specified object.
To access the context object, you can use ProcessContext<Your Type>.Current.
Create a process context for the specified object with the specified key.
To access the context object, you can use ProcessContext<Your Type>.GetCurrent(key).
Provides a range of values.
Creates a new Range instance.
Creates a new Range instance with the specified boundaries.
Gets or sets the From of this Range.
Gets or sets the To of this Range.
Gets the length of this range. For a date range, use the TimeOfDay property of the returned date time.
Determines whether or not this range lacks the given value.
Determines whether or not this range cotnains the given value
Determines whether or not this range contains with the given range
Determines whether or not this range intersects with the given range
Returns: {From} - {To}.
Returns {From}{rangeSeparator}{To}.
Returns the From and To values formatted by the specified format and then joined together with the specified rangeSeparator.
E.g. {0:dd MM yy}
Provides a collection of ranges to simplify the manipulation of them.
This class is not thread-safe.
Represents a globally unique identifier (GUID) with a shorter string value.
Equivalent to Guid.Empty.
Parses a specified text (that is either a normal Guid or a short guid).
Creates a ShortGuid from a base64 encoded string
The encoded guid as a
base64 string
Creates a ShortGuid from a Guid
The Guid to encode
Gets/sets the underlying Guid
Gets/sets the underlying base64 encoded string
Returns the base64 encoded guid as a string
Returns a value indicating whether this instance and a
specified Object represent the same type and value.
The object to compare
Returns the HashCode for underlying Guid.
Initialises a new instance of the ShortGuid class
Creates a new instance of a Guid using the string value,
then returns the base64 encoded version of the Guid.
An actual Guid string (i.e. not a ShortGuid)
Encodes the given Guid as a base64 string that is 22
characters long.
The Guid to encode
Decodes the given base64 string
The base64 encoded string of a Guid
A new Guid
Determines if both ShortGuids have the same underlying Guid value.
Determines if both ShortGuids do not have the
same underlying Guid value.
Implicitly converts the ShortGuid to it's string equivilent
Implicitly converts the ShortGuid to it's Guid equivilent
Implicitly converts the string to a ShortGuid
Implicitly converts the Guid to a ShortGuid
Provides extensions methods to Standard .NET types.
Gets the full path of a file or directory from a specified relative path.
Will set the Position to zero, and then copy all bytes to a memory stream's buffer.
Posts the specified data to a url and returns the response as string.
All properties of the postData object will be sent as individual FORM parameters to the destination.
An anonymous object containing post data.
Gets the response data as string.
Gets the response data as string.
Posts the specified object as JSON data to this URL.
Posts the specified data to this url and returns the response as string.
All items in the postData object will be sent as individual FORM parameters to the destination.
Posts the specified data to this url and returns the response as string.
All items in the postData object will be sent as individual FORM parameters to the destination.
Posts the specified data to a url and returns the response as string.
All items in the postData object will be sent as individual FORM parameters to the destination.
Posts the specified data to a url and returns the response as string.
Posts the specified data to a URL and returns the response as string asynchronously.
An anonymous object containing post data.
Posts the specified data to a URL and returns the response as string asynchronously.
Posts the specified data to a URL and returns the response as string asynchronously.
Returns a nullable value wrapper object if this value is the default for its type.
Returns Yes or No string depending on whether the result is true of false.
Returns Yes or No string depending on whether the result is true of false.
Darkens the specified color.
The color.
The pc.
Lightens the specified color.
The color.
The pc.
Adds the specified query string setting to this Url.
Gets the query string parameters of this Url.
Removes the specified query string parameter.
Removes the specified query string parameter.
Removes all query string parameters of this Url and instead adds the specified ones.
Gets the root of the requested website.
Downloads the text in this URL.
Downloads the data in this URL.
Downloads the data in this URL.
Reads all text in this stream as UTF8.
Returns the translation of this object's string representation.
Gets the Html Encoded version of this text.
Gets the Html Decoded version of this text.
Gets the Url Encoded version of this text.
Gets the Url Decoded version of this text.
Properly sets a query string key value in this Uri, returning a new Uri object.
Casts this data table's records into a list of typed objects.
Casts this data table's records into a list of typed objects.
An anonymouse object containing property mapping information.
e.g.: new {Property1 = "Property name in CSV", Property2 = "...", set_Property1 = new Func<string, object>(text => Client.Parse(value)) }
Casts this data table's records into a list of typed objects.
An anonymouse object containing property mapping information.
e.g.: new {Property1 = "Property name in CSV", Property2 = "...", set_Property1 = new Func<string, object>(text => Client.Parse(value)) }
Finds the property mappings for the specified target type, CSV column names and user declared mappings.
Creates an object of the specified type with the specified data and property mappings.
Gets the CSV data equivalent to this data table.
Gets the rows of this data table in a LINQ-able format..
Determines if a specified date is an English national holiday or weekend.
Dictionary that contains exceptional dates for Early May Bank Holiday.
Key: Year, Value: Exceptional Date for that year.
Dictionary that contains exceptional dates for Spring Bank Holiday.
Key: Year, Value: Exceptional Date for that year.
Dictionary that contains exceptional dates for Last Summer Bank Holiday.
Key: Year, Value: Exceptional Date for that year.
Dictionary that contains exceptional dates for Last Summer Bank Holiday.
Key: Year, Value: Exceptional Date for that year.
Check if Date it is Additional bank holiday in that year
the date to check
Gets the first upcoming specified week day.
Gets the last occurance of the specified week day.
Get Early May Bank Holiday Date for the required year
the year to check if in that year there is an exception to the normal bank holiday rule
Get Spring Bank Holiday Date for the required year
the year to check if in that year there is an exception to the normal bank holiday rule
Get Late Summer Bank Holiday Date for the required year
the year to check if in that year there is an exception to the normal bank holiday rule
Get Boxing Day Holiday Date for the required year
the year to check if in that year there is an exception to the normal bank holiday rule
Determines whether this day is in the same week (Monday to Sunday) as the specified other date.
Determines whether this day is in the same month as the specified other date.
Gets the number of days in this year.
Gets the number of days in this month.
Gets the mid-night of Monday of this week.
Gets one tick before the start of next week.
Gets the mid-night of the first day of this month.
Gets the end of this day (one tick before the next day).
Determines whether this date is in the future.
Determines whether this date is in the future.
Determines whether this date is in the future.
E.g. 4am or 6:30pm.
Gets the next working day.
Gets the days between this day and the specified other day.
It will remove TIME information.
Gets the previous working day.
Determines whether this date is between two sepcified dates.
Calculates the total working times in the specified duration which are between the two specified day-hours.
This can be used to calculate working hours in a particular duration.
Returns a MS T-SQL-safe DateTime value for use in queries (i.e. prevents date values earlier than 1/1/1753).
Returns the Date of the beginning of Quarter for this DateTime value (time will be 00:00:00).
Returns the Date of the end of Quarter for this DateTime value (time will be 11:59:59).
Returns the Date of the end of Quarter for this DateTime value (time will be 11:59:59).
Gets the last date with the specified month and day.
Gets the last date with the specified month and day.
Returns the Date of the end of Quarter for this DateTime value (time will be 11:59:59).
Gets the minimum value between this date and a specified other date.
Gets the maximum value between this date and a specified other date.
Adds the specified number of weeks and returns the result.
Gets the latest date with the specified day of week and time that is before (or same as) this date.
Returns the local time equivalent of this UTC date value based on the TimeZone specified in Localtime.TimeZoneProvider.
Use this instead of ToLocalTime() so you get control over the TimeZone.
Returns the local time equivalent of this UTC date value based on the TimeZone specified in Localtime.CurrentTimeZone().
Use this instead of ToLocalTime() so you get control over the TimeZone.
Returns the equivalent Universal Time (UTC) of this local date value.
Returns the equivalent Universal Time (UTC) of this local date value.
Returns the equivalent Universal Time (UTC) of this local date value.
Rounds this up to the nearest whole second.
Rounds this up to the nearest whole minute.
Rounds this up to the nearest whole hour.
Rounds this up to the nearest interval (e.g. second, minute, hour, etc).
Invokes the specified action for the specified number of times.
The action to execute.
The number of times to try running the action.
The time to wait before every two retries.
The action to run every time the method invokation fails. You can use this to log the error.
Invokes the specified function for the specified number of times.
The function to evaluate.
The number of times to try running the action.
The time to wait before every two retries.
The action to run every time the method invokation fails. You can use this to log the error.
Invokes this action with the specified timeout.
If the specified time is up, a TimeoutException will be raised.
If specified as recursive and harshly, then it tries multiple times to delete this directory.
Will try to delete a specified directory by first deleting its sub-folders and files.
Copies the entire content of a directory to a specified destination.
Determines whether the file's contents start with MZ which is the signature for EXE files.
Copies the entire content of a directory to a specified destination.
Copies this file to a specified destination directiry with the original file name.
Gets a file info with the specified name under this folder. That file does not have to exist already.
Gets a subdirectory with the specified name, or null if it doesn't exist.
Gets or creates a subdirectory with the specified name.
Gets the subdirectory tree of this directory.
Creates the directory if it doesn't already exist.
Clears the specified folder by deleting all its sub-directories and files.
Determines whether this folder is empty of any files or sub-directories.
Rounds this value.
Rounds this value.
In mathematics and computer science, truncation is the term for limiting the number of digits right of the decimal point, by discarding the least significant ones.
Note that in some cases, truncating would yield the same result as rounding, but truncation does not round up or round down the digits; it merely cuts off at the specified digit.
Drops the floating point digits from the end of the money string.
For example for 1500.00 it will yield "£1,500" and for 18.56 it will yield "£18.56".
Drops the floating point digits from the end of the money string.
For example for 1500.00 it will yield "£1,500" and for 18.56 it will yield "£18.56".
Converts this OA date value to a DateTime object.
Converts this OA date value to a DateTime object.
Converts degree into radians.
Return this value as a percentages the of the given total.
Return this value as a percentages the of the given total.
Rounds up to nearest value.
Rounds up to nearest value.
Rounds down to nearest value with the intervals specified.
Rounds down to nearest value with the intervals specified.
Determines if this double value is almost equal to the specified other value.
This should be used instead of == or != operators due to the nature of double processing in .NET.
Specifies the tolerated level of difference.
Determines if this float value is almost equal to the specified other value.
This should be used instead of == or != operators due to the nature of float processing in .NET.
Specifies the tolerated level of difference.
Gets the embedded resource name for a specified relative file path in the project.
If the resulting resource name does not exist in this assembly it will throw.
The default namespace of your Visual Studio project.
For example MyRootFolder\MySubFolder\MyFile.cs (this is case sensitive).
The default namespace of your Visual Studio project.
For example MyRootFolder\MySubFolder\MyFile.cs (this is case sensitive).
The default namespace of your Visual Studio project.
For example MyRootFolder\MySubFolder\MyFile.cs (this is case sensitive).
The default namespace of your Visual Studio project.
For example MyRootFolder\MySubFolder\MyFile.cs (this is case sensitive).
The default namespace of your Visual Studio project.
For example MyRootFolder\MySubFolder\MyFile.cs (this is case sensitive).
Determines if this item is in a specified list of specified items.
Determines if this item is in a specified list of specified items.
Determines if this item is none of a list of specified items.
Determines if this item is none of a list of specified items.
Clones all items of this collection.
Determines whether this document is an image.
Gets the id of this entity.
Validates all entities in this collection.
Returns this Entity only if the given predicate evaluates to true and this is not null.
Returns all entity Guid IDs for this collection.
Returns a more complete text dump of this exception, than just its text.
Creates a log-string from the Exception.
The result includes the stacktrace, innerexception et cetera, separated by .
The exception to create the string from.
Additional message to place at the top of the string, maybe be empty or null.
Adds a piece of data to this exception.
Gets the entire content of this file.
Gets the entire content of this file.
Gets the entire content of this file.
Will set the Position to zero, and then copy all bytes to a memory stream's buffer.
Will try to delete a specified directory by first deleting its sub-folders and files.
If set to true, then it will try multiple times, in case the file is temporarily locked.
Saves the specified content on this file.
Saves the specified content on this file using the Western European Windows Encoding 1252.
Saves the specified content on this file.
Note: For backward compatibility, for UTF-8 encoding, it will always add the BOM signature.
Saves the specified content to the end of this file.
Saves the specified content to the end of this file.
Saves the specified content to the end of this file.
Copies this file onto the specified desination path.
Writes the specified content on this file, only when this file does not already have the same content.
Determines whether or not this directory exists.
Note: The standard Exists property has a caching bug, so use this for accurate result.
Determines whether or not this file exists.
Note: The standard Exists property has a caching bug, so use this for accurate result.
Compresses this data into Gzip.
Compresses this string into Gzip. By default it will use UTF8 encoding.
Compresses this string into Gzip.
Gets the total size of all files in this directory.
Gets the size of this folder in human readable text.
Gets the size of this file in human readable text.
Detects the characters which are not acceptable in File System and replaces them with a hyphen.
The character with which to replace invalid characters in the name.
Gets a virtual URL to this file. If the file is not in the current website folder it throws an exception.
Executes this EXE file and returns the standard output.
Executes this EXE file and returns the standard output.
Gets the mime type based on the file extension.
Gets the files in this folder. If this folder is null or non-existent it will return an empty array.
By default it will be UTF-8
If this file exists, it will simply return it.
Otherwise it will throw a FileNotFoundException with the message of 'File not found: {path}'.
If this directory exists, it will simply return it.
Otherwise it will throw a DirectoryNotFoundException with the message of 'Directory not found: {path}'.
Shortens this GUID.
This will use Database.Get() to load the specified entity type with this ID.
This will use Database.Get() to load the specified entity type with this ID.
Gets the full path of this hirarchical entity, seperated by " > ".
Gets whether this node is a root hierarchy node.
Gets the full path of this hirarchical entity, seperated by a specified seperation string.
Gets this node as well as all its children hierarchy.
Gets all children hierarchy of this node.
Gets this node as well as all its parents hierarchy.
Gets all parents hierarchy of this node.
Gets this node as well as all its parents hierarchy.
Gets all parents hierarchy of this node.
Rounds up to nearest value with the intervals specified.
Rounds down to nearest value with the intervals specified.
Converts this number to a short textual representation.
To the word string.
Some awesome code from http://stackoverflow.com/questions/2729752/converting-numbers-in-to-words-c-sharp
The number.
Emits a user readable file size (including units).
Gets the size text for the given number of bytes. E.g. 4.5MB or 11KB.
Gets the size text for the given number of bytes.
Emits a user readable file size (including units).
Return this value as a percentages the of the given total.
The value.
The total.
Multiply this by 100.
Rounding decimals to.
Static mapping array, used by ToWordString for Units.
Static mapping array, used by ToWordString for Tens.
E.g. converts 1 to 1st. Or converts 13 to 13th.
Concerts this integer value to GUID.
Gets the index of the first item in this list which matches the specified criteria.
Adds all items from a specified dictionary to this dictionary.
Gets all items of this list except those meeting a specified criteria.
Exclusion criteria
Gets all Non-NULL items of this list.
Gets all Non-NULL items of this list.
Gets all Non-NULL items of this list.
Gets all Non-NULL items of this list.
Gets all Non-NULL items of this list.
Gets all Non-NULL items of this list.
Gets all Non-NULL items of this list.
Gets all Non-NULL items of this list.
Adds the specified list to the beginning of this list.
Adds the specified item(s) to the beginning of this list.
Performs an action for all items within the list.
Performs an action for all items within the list.
It will provide the index of the item in the list to the action handler as well.
Creates a list of the specified runtime type including all items of this collection.
Gets the minimum value of a specified expression in this list. If the list is empty, then the default value of the expression will be returned.
Gets the maximum value of a specified expression in this list. If the list is empty, then the default value of the expression will be returned.
Gets the maximum value of the specified expression in this list.
If no items exist in the list then null will be returned.
Gets the maximum value of the specified expression in this list.
If no items exist in the list then null will be returned.
Gets the minimum value of the specified expression in this list.
If no items exist in the list then null will be returned.
Gets the minimum value of the specified expression in this list.
If no items exist in the list then null will be returned.
Sorts this list by the specified property name.
Determines whether this list is equivalent to another specified list. Items in the list should be distinct for accurate result.
Counts the number of items in this list matching the specified criteria.
Picks an item from the list.
Works as opposite of Contains().
Determines if this list lacks any item in the specified list.
Determines if this list lacks all items in the specified list.
Returns a subset of the items in a given collection in a range including the items at lower and upper bounds.
Determines of this list contains all items of another given list.
Determines if this list contains any of the specified items.
Determines if none of the items in this list meet a given criteria.
Determines if this is null or an empty list.
A null safe alternative to Any(). If the source is null it will return false instead of throwing an exception.
Determines if this list intersects with another specified list.
Determines if this list intersects with another specified list.
Selects the item with maximum of the specified value.
If this list is empty, NULL (or default of T) will be returned.
Selects the item with minimum of the specified value.
Gets the element after a specified item in this list.
If the specified element does not exist in this list, an ArgumentException will be thrown.
If the specified element is the last in the list, NULL will be returned.
Gets the element before a specified item in this list.
If the specified element does not exist in this list, an ArgumentException will be thrown.
If the specified element is the first in the list, NULL will be returned.
Removes a list of items from this list.
Determines if all items in this collection are unique.
Returns the union of this list with the specified other lists.
Returns the union of this list with the specified items.
Gets the average of the specified expression on all items of this list.
If the list is empty, null will be returned.
Gets the average of the specified expression on all items of this list.
If the list is empty, null will be returned.
Gets the average of the specified expression on all items of this list.
If the list is empty, null will be returned.
Gets the average of the specified expression on all items of this list.
If the list is empty, null will be returned.
Gets the average of the specified expression on all items of this list.
If the list is empty, null will be returned.
Gets the average of the specified expression on all items of this list.
If the list is empty, null will be returned.
Trims all elements in this list and excludes all null and "empty string" elements from the list.
Determines whether this list of strings contains the specified string.
Determines whether this list of strings contains the specified string.
Concats all elements in this list with Environment.NewLine.
Gets the value with the specified key, or null.
Chops a list into same-size smaller lists. For example:
new int[] { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 }.Chop(5)
will return: { {1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15}, {16} }
Gets the keys of this dictionary.
Returns the sum of a timespan selector on this list.
Returns the indices of all items which matche a specified criteria.
Replaces the specified item in this list with the specified new item.
Gets all values from this dictionary.
Gets all values from this dictionary.
Returns all elements of this list except those at the specified indices.
Returns all elements of this list except the last X items.
Returns all elements of this list except the first X items.
Removes the nulls from this list.
Tries to the remove an item with the specified key from this dictionary.
Tries to the remove an item with the specified key from this dictionary.
Gets all the values in this collection.
Converts this collection to a dictionary.
Determines whether this least contains at least the specified number of items.
This can be faster than calling "x.Count() >= N" for complex iterators.
Converts this to a KeyValueCollection.
Adds the properties of a specified [anonymous] object as items to this dictionary.
It ignores duplicate entries and null values.
Adds the specified key/value pair to this list.
Adds the specified items to this set.
Dequeues all queued items in the right order.
Returns a HashSet of type T (use for performance in place of ToList()).
Gets all indices of the specified item in this collection.
Returns an empty collection if this collection is null.
Returns a DataTable with columns based on the public properties of type T and the rows
populated with the values in those properties for each item in this IEnumerable.
Optional name for the DataTable (defaults to the plural of the name of type T).
Determines if the specified item exists in this list.
Determines if the specified item exists in this list.
Determines if this item is in the specified list.
Specifies whether this list contains any of the specified values.
Finds the median of a list of integers
If this list is null or empty, then the specified alternative will be returned, otherwise this will be returned.
Performs a specified action on this item if it is not null. If it is null, it simply ignores the action.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a specified member of this object. If this is null, null will be returned. Otherwise the specified expression will be returned.
Gets a random boolean value with the specified chance (0-100).
Gets a random boolean value.
Generates and returns a Random alphanumeric string.
Random instance.
Length of string to return
Pass true to miss-out letters that can be confused with numbers (BDIOS)
String instance containing random alphanumeric characters.
Returns [quantity] number of unique random integers within the given range.
Returns a formatted string based on this Range<DateTime> object and the given string format.
Gets all possible items in the range based on the specified intervals.
Gets all possible items in the range based on the specified intervals.
Gets all possible items in the range based on the specified intervals.
Merges adjecant items in this list if their gap is within the specified tolerance.
The result will be another list of ranges with potentially fewer (but larger) ranges.
Consider sorting the items before calling this method.
Determines if there is any overlap between any two ranges in this list of ranges.
Gets all parent types hierarchy for this type.
Determines whether this type inherits from a specified base type, either directly or indirectly.
Retuns the name of this type in the same way that is used in C# programming.
Gets the value of this property on the specified object.
Set the value of this property on the specified object.
Adds the specified types pair to this type dictionary.
Creates the instance of this type.
Determines whether it has a specified attribute applied to it.
Creates the instance of this type casted to the specified type.
Determines if this type is a nullable of something.
Determines whether this property info is the specified property (in lambda expression).
Determines whether this type is static.
Gets all types in this assembly that are directly inherited from a specified base type.
Gets the full programming name of this type. Unlike the standard FullName property, it handles Generic types properly.
Gets the full programming name of this type. Unlike the standard FullName property, it handles Generic types properly.
Determines if this type is a generic class of the specified type.
Gets the specified property.
Gets the specified property.
Gets the specified property.
Gets the property name for a specified expression.
Gets the property name for a specified expression.
Gets the root entity type of this type.
If this type inherits directly from Entity<T> then it will be returned, otherwise its parent...
Gets all types in the current appDomain which implement this interface.
Creates a new thread and copies the current Culture and UI Culture.
Creates a new thread and copies the current Culture and UI Culture.
Gets the default value for this type. It's equivalent to default(T).
If it specifies DisplayNameAttribute the value from that will be returned.
Otherwise it returns natural English literal text for the name of this member.
For example it coverts "ThisIsSomething" to "This is something".
Determine whether this property is static.
Awaits this task. Use this method to skip the Visual Studio warning on calling async methods in sync callers.
It works similar to calling .Result property, but it forces a context switch to prevent deadlocks in UI and ASP.NET context.
Invokes this static method.
If this type implements IEnumerable«T» it returns typeof(T).
Determines whether this string can be converted to the specified type.
Tries to parse this text to the specified type.
Returns null if parsing is not possible.
It converts this text to the specified data type.
It supports all primitive types, Enums, Guid, XElement, XDocument, Color, ...
Converts the value of this string object into the specified target type.
It supports all primitive types, Enums, Guid, XElement, XDocument, Color, ...
Removes the specified text from the start of this string instance.
Trims the end of this instance of string with the specified number of characters.
If this string object is null, it will return null. Otherwise it will trim the text and return it.
If this string object is null, it will return empty string. Otherwise it will trim the text and return it.
Returns a copy of this text converted to lower case. If it is null it will return empty string.
Returns a copy of this text converted to upper case. If it is null it will return empty string.
Determines whether this instance of string is null or empty.
Determines whether this instance of string is not null or empty.
Will replace all line breaks with a BR tag and return the result as a raw html.
Will join all items with a BR tag and return the result as a raw html.
Gets the same string if it is not null or empty. Otherwise it returns the specified default value.
Gets the same string if it is not null or empty.
Otherwise it invokes the specified default value provider and returns the result.
Gets the same string unless it is the same as the specified text. If they are the same, empty string will be returned.
Summarizes the specified source.
Summarizes the specified text.
Trims some unnecessary text from the end of this string, if it exists.
Trims some unnecessary text from the end of this string, if it exists.
By default it's TRUE.
Returns the last few characters of the string with a length
specified by the given parameter. If the string's length is less than the
given length the complete string is returned. If length is zero or
less an empty string is returned
Number of characters to return
Returns the first few characters of the string with a length
specified by the given parameter. If the string's length is less than the
given length the complete string is returned. If length is zero or
less an empty string is returned
Number of characters to return
Gets whether this string item ends with any of the specified items.
Removes all Html tags from this html string.
Gets all indices of a specified string inside this text.
Returns this text with the specified prefix if this has a value. If this text is empty or null, it will return empty string.
Returns this text with the specified suffix if this has a value. If this text is empty or null, it will return empty string.
Wraps this text between the left and right wrappers, only if this has a value.
Repeats this text by the number of times specified.
Repeats this text by the number of times specified, seperated with the specified seperator.
Determines if this string value contains a specified substring.
Removes the specified substrings from this string object.
Removes the specified substrings from this string object.
Replaces all occurances of a specified phrase to a substitude, even if the original phrase gets produced again as the result of substitution. Note: It's an expensive call.
Gets this same string when a specified condition is True, otherwise it returns empty string.
Gets this same string when a specified condition is False, otherwise it returns empty string.
Gets the lines of this string.
Indicates whether this character is categorized as an uppercase letter.
Indicates whether this character is categorized as a lowercase letter.
Indicates whether this character is categorized as a letter.
Indicates whether this character is categorized as digit.
Indicates whether this character is categorized as White Space (space, tab, new line, etc).
Indicates whether this character is categorized as a letter or digit.
Converts the value of this character to its uppercase equivalent.
Converts the value of this character to its lowercase equivalent.
If this expression is null, returns an empty string. Otherwise, it returns the ToString() of this instance.
Determines whether this string object does not contain the specified phrase.
Determines whether this string object does not contain any of the specified phrases.
Determines whether this string object does not contain any of the specified phrases.
Returns natural English literal text for a specified pascal case string value.
For example it coverts "ThisIsSomething" to "This is something".
Returns the all-lower-case version of this list.
Returns the all-upper-case version of this list.
Gets the UTF8-with-signature bytes of this text.
Converts this array of bytes to a Base64 string.
Determines whether this text contains any of the specified keywords.
If the keywords list contains a null or empty string, it throws an exception. If you wish to ignore those, use .Trim() on your keywords list.
Splits this list of string items by a specified separator into a number of smaller lists of string.
Converts this path into a file object.
It will search in all environment PATH directories, as well as the current directory, to find this file.
For example for 'git.exe' it will return `C:\Program Files\Git\bin\git.exe`.
Converts this path into a Uri object.
Converts this path into a directory object.
Gets the Xml Encoded version of this text.
Gets the Xml Decoded version of this text.
Creates a hash of a specified clear text with a mix of MD5 and SHA1.
Creates MD5 hash of this text
Specifies whether a hex-compatible string is expected.
Creates MD5 hash of this text
Creates SHA1 hash of this text
Escapes all invalid characters of this string to it's usable as a valid json constant.
Getsa SHA1 hash of this text where all characters are alpha numeric.
Attempts to Parse this String as the given Enum type.
If it's null, it return empty string. Otherwise it returns this.
Returns the only matched string in the given text using this Regex pattern.
Returns null if more than one match found.
Returns true if this collection has more than one item.
Returns a string value that can be saved in xml.
Returns a string value without any xml-escaped characters.
Array of unsafe characters that need to be replaced with their character code literals in a JavaScript string.
Returns valid JavaScript string content with reserved characters replaced by encoded literals.
Returns valid PascalCase JavaScript or C# string content.
Returns valid camelCase javaScript or C# string content.
Converts [hello world] to [Hello World].
Trims all text before the specified search phrase.
Returns this string. But if it's String.Empty, it returns NULL.
Capitalises the first letter and lower-cases the rest.
It will replace all occurances of a specified WHOLE WORD and skip occurances of the word with characters or digits attached to it.
Returns if a specified WHOLE WORD is found in this text. It skips occurances of the word with characters or digits attached to it.
Ensure that this string object starts with a specified other one.
If it does not, then it prepends that and return the combined text.
Ensure that this string object ends with a specified other one.
If it does not, then it appends that and return the combined text.
Converts this string to an array of bytes with the given encoding.
Wraps the content of this string builder with the provided text blocks.
Wraps the content of this string builder with the provided lines of text.
A line-break will be added to the left element, and another line break will be added before the right element.
It's recommended to use Task.Factory.RunSync() instead.
If you can't, at then call this while making it explicit that you know what you're doing.
If the task is not completed already it throws an exception warning you to await the task.
If the task wraps an exception, the wrapped exception will be thrown.
Otherwise the result will be returned.
Use this instead of calling the Result property when you know that the result is ready to avoid deadlocks.
Runs a specified task in a new thread to prevent deadlock (context switch race).
Waits for a task to complete, and then if it contains an exception, it will be thrown.
Runs a specified task in a new thread to prevent deadlock (context switch race).
Casts the result type of the input task as if it were covariant.
The original result type of the task
The covariant type to return
The target task to cast
Casts it into a Task of IEnumerable, so the Linq methods can be invoked on it.
Casts it into a Task of IEnumerable, so the Linq methods can be invoked on it.
Casts it into a Task of IEnumerable, so the Linq methods can be invoked on it.
Casts it into a Task of IEnumerable, so the Linq methods can be invoked on it.
A shorter more readable alternative to ContinueWith().
A shorter more readable alternative to nested ContinueWith() methods.
A shorter more readable alternative to nested ContinueWith() methods.
Awaits this task. If the result was an exception,
it will return the default value of TResult rather than throwing the exception.
Gets the approximate number of the total years equivalent to this timespan.
This is not accurate due to unknown leap years in the actual period to which this TimeSpan relates.
Converts this time to the date time on date of 1900-01-01.
Converts this time to the date time on date of 1900-01-01.
Gets the natural text for this timespan. For example "2 days, 4 hours and 3 minutes".
Gets the natural text for this timespan. For example "2 days, 4 hours and 3 minutes".
Gets an Element with the specified path. For example "Tree/Branch1/Branch2".
Gets a node with the specified path. For example "Tree/Branch1/Branch2".
Gets the value of an attribute or inner text of an element with the specified path. For example "Tree/Branch1/Branch2".
Adds this node to a specified container and returns it back to be used as fluent API.
Removes all namespaces from this document.
Provides extension methods for transaction classes.
Creates a new transaction scope with this isolation level.
Creates a new transaction scope with this isolation level.
public static TransactionScope CreateScope(this IsolationLevel isolationLevel, TransactionScopeOption scopeOption)
Represents a reader that provides fast, non-cached, forward-only access to CSV data.
Defines the default buffer size.
Defines the default delimiter character separating each field.
Defines the default quote character wrapping every field.
Defines the default escape character letting insert quotation characters inside a quoted field.
Defines the default comment character indicating that a line is commented out.
Contains the field header comparer.
Contains the pointing to the CSV file.
Contains the buffer size.
Contains the comment character indicating that a line is commented out.
Contains the escape character letting insert quotation characters inside a quoted field.
Contains the delimiter character separating each field.
Contains the quotation character wrapping every field.
Determines which values should be trimmed.
Indicates if field names are located on the first non commented line.
Indicates if the class is initialized.
Contains the field headers.
Contains the dictionary of field indexes by header. The key is the field name and the value is its index.
Contains the current record index in the CSV file.
A value of means that the reader has not been initialized yet.
Otherwise, a negative value means that no record has been read yet.
Contains the starting position of the next unread field.
Contains the index of the next unread field.
Contains the array of the field values for the current record.
A null value indicates that the field have not been parsed.
Contains the maximum number of fields to retrieve for each record.
Contains the read buffer.
Contains the current read buffer length.
Indicates if the end of the reader has been reached.
Indicates if the last read operation reached an EOL character.
Indicates if the first record is in cache.
This can happen when initializing a reader with no headers
because one record must be read to get the field count automatically
Indicates if one or more field are missing for the current record.
Resets after each successful record read.
Indicates if a parse error occured for the current record.
Resets after each successful record read.
Initializes a new instance of the CsvReader class.
A pointing to the CSV file.
if field names are located on the first non commented line, otherwise, .
is a .
Cannot read from .
Initializes a new instance of the CsvReader class.
A pointing to the CSV file.
if field names are located on the first non commented line, otherwise, .
The buffer size in bytes.
is a .
Cannot read from .
Initializes a new instance of the CsvReader class.
A pointing to the CSV file.
if field names are located on the first non commented line, otherwise, .
The delimiter character separating each field (default is ',').
is a .
Cannot read from .
Initializes a new instance of the CsvReader class.
A pointing to the CSV file.
if field names are located on the first non commented line, otherwise, .
The delimiter character separating each field (default is ',').
The buffer size in bytes.
is a .
Cannot read from .
Initializes a new instance of the CsvReader class.
A pointing to the CSV file.
if field names are located on the first non commented line, otherwise, .
The delimiter character separating each field (default is ',').
The quotation character wrapping every field (default is ''').
The escape character letting insert quotation characters inside a quoted field (default is '\').
If no escape character, set to '\0' to gain some performance.
The comment character indicating that a line is commented out (default is '#').
Determines which values should be trimmed.
is a .
Cannot read from .
Initializes a new instance of the CsvReader class.
A pointing to the CSV file.
if field names are located on the first non commented line, otherwise, .
The delimiter character separating each field (default is ',').
The quotation character wrapping every field (default is ''').
The escape character letting insert quotation characters inside a quoted field (default is '\').
If no escape character, set to '\0' to gain some performance.
The comment character indicating that a line is commented out (default is '#').
Determines which values should be trimmed.
The buffer size in bytes.
is a .
must be 1 or more.
Occurs when there is an error while parsing the CSV stream.
Raises the event.
The that contains the event data.
Gets the comment character indicating that a line is commented out.
The comment character indicating that a line is commented out.
Gets the escape character letting insert quotation characters inside a quoted field.
The escape character letting insert quotation characters inside a quoted field.
Gets the delimiter character separating each field.
The delimiter character separating each field.
Gets the quotation character wrapping every field.
The quotation character wrapping every field.
Indicates if field names are located on the first non commented line.
if field names are located on the first non commented line, otherwise, .
Indicates if spaces at the start and end of a field are trimmed.
if spaces at the start and end of a field are trimmed, otherwise, .
Gets the buffer size.
Gets or sets the default action to take when a parsing error has occured.
The default action to take when a parsing error has occured.
Gets or sets the action to take when a field is missing.
The action to take when a field is missing.
Gets or sets a value indicating if the reader supports multiline fields.
A value indicating if the reader supports multiline field.
Gets or sets a value indicating if the reader will skip empty lines.
A value indicating if the reader will skip empty lines.
Gets or sets the default header name when it is an empty string or only whitespaces.
The header index will be appended to the specified name.
The default header name when it is an empty string or only whitespaces.
Gets the maximum number of fields to retrieve for each record.
The maximum number of fields to retrieve for each record.
The instance has been disposed of.
Gets a value that indicates whether the current stream position is at the end of the stream.
if the current stream position is at the end of the stream; otherwise .
Gets the field headers.
The field headers or an empty array if headers are not supported.
The instance has been disposed of.
Gets the current record index in the CSV file.
The current record index in the CSV file.
Indicates if one or more field are missing for the current record.
Resets after each successful record read.
Indicates if a parse error occured for the current record.
Resets after each successful record read.
Gets the field with the specified name and record position. must be .
The field with the specified name and record position.
is or an empty string.
The CSV does not have headers ( property is ).
not found.
Record index must be > 0.
Cannot move to a previous record in forward-only mode.
Cannot read record at .
The CSV appears to be corrupt at the current position.
The instance has been disposed of.
Gets the field at the specified index and record position.
The field at the specified index and record position.
A is returned if the field cannot be found for the record.
must be included in [0, [.
Record index must be > 0.
Cannot move to a previous record in forward-only mode.
Cannot read record at .
The CSV appears to be corrupt at the current position.
The instance has been disposed of.
Gets the field with the specified name. must be .
The field with the specified name.
is or an empty string.
The CSV does not have headers ( property is ).
not found.
The CSV appears to be corrupt at the current position.
The instance has been disposed of.
Gets the field at the specified index.
The field at the specified index.
must be included in [0, [.
No record read yet. Call ReadLine() first.
The CSV appears to be corrupt at the current position.
The instance has been disposed of.
Ensures that the reader is initialized.
Gets the field index for the provided header.
The header to look for.
The field index for the provided header. -1 if not found.
The instance has been disposed of.
Copies the field array of the current record to a one-dimensional array, starting at the beginning of the target array.
The one-dimensional array that is the destination of the fields of the current record.
Copies the field array of the current record to a one-dimensional array, starting at the beginning of the target array.
The one-dimensional that is the destination of the fields of the current record.
The zero-based index in at which copying begins.
is .
is les than zero or is equal to or greater than the length .
No current record.
The number of fields in the record is greater than the available space from to the end of .
Gets the current raw CSV data.
Used for exception handling purpose.
The current raw CSV data.
Indicates whether the specified Unicode character is categorized as white space.
Moves to the specified record index.
The record index.
true if the operation was successful; otherwise, false.
The instance has been disposed of.
Parses a new line delimiter.
The starting position of the parsing. Will contain the resulting end position.
if a new line delimiter was found; otherwise, .
The instance has been disposed of.
Determines whether the character at the specified position is a new line delimiter.
The position of the character to verify.
if the character at the specified position is a new line delimiter; otherwise, .
Fills the buffer with data from the reader.
if data was successfully read; otherwise, .
The instance has been disposed of.
Reads the field at the specified index.
Any unread fields with an inferior index will also be read as part of the required parsing.
The field index.
Indicates if the reader is currently initializing.
Indicates if the value(s) are discarded.
The field at the specified index.
A indicates that an error occured or that the last field has been reached during initialization.
is out of range.
There is no current record.
The CSV data appears to be missing a field.
The CSV data appears to be malformed.
The instance has been disposed of.
Reads the next record.
if a record has been successfully reads; otherwise, .
The instance has been disposed of.
Reads the next record.
Indicates if the reader will proceed to the next record after having read headers.
if it stops after having read headers; otherwise, .
Indicates if the reader will skip directly to the next line without parsing the current one.
To be used when an error occurs.
if a record has been successfully reads; otherwise, .
The instance has been disposed of.
Skips empty and commented lines.
If the end of the buffer is reached, its content be discarded and filled again from the reader.
The position in the buffer where to start parsing.
Will contains the resulting position after the operation.
if the end of the reader has not been reached; otherwise, .
The instance has been disposed of.
Worker method.
Skips empty and commented lines.
The position in the buffer where to start parsing.
Will contains the resulting position after the operation.
The instance has been disposed of.
Skips whitespace characters.
The starting position of the parsing. Will contain the resulting end position.
if the end of the reader has not been reached; otherwise, .
The instance has been disposed of.
Skips ahead to the next NewLine character.
If the end of the buffer is reached, its content be discarded and filled again from the reader.
The position in the buffer where to start parsing.
Will contains the resulting position after the operation.
if the end of the reader has not been reached; otherwise, .
The instance has been disposed of.
Handles a parsing error.
The parsing error that occured.
The current position in the buffer.
is .
Handles a missing field error.
The partially parsed value, if available.
The missing field index.
The current position in the raw data.
The resulting value according to .
If the action is set to ,
then the parse error will be handled according to .
Validates the state of the data reader.
The validations to accomplish.
No current record.
This operation is invalid when the reader is closed.
Copy the value of the specified field to an array.
The index of the field.
The offset in the field value.
The destination array where the field value will be copied.
The destination array offset.
The number of characters to copy from the field value.
Returns an that can iterate through CSV records.
An that can iterate through CSV records.
The instance has been disposed of.
Returns an that can iterate through CSV records.
An that can iterate through CSV records.
The instance has been disposed of.
Returns an that can iterate through CSV records.
An that can iterate through CSV records.
The instance has been disposed of.
Contains the stack when the object was allocated.
Contains the disposed status flag.
Contains the locking object for multi-threading purpose.
Occurs when the instance is disposed of.
Gets a value indicating whether the instance has been disposed of.
if the instance has been disposed of; otherwise, .
Raises the event.
A that contains the event data.
Checks if the instance has been disposed of, and if it has, throws an ; otherwise, does nothing.
The instance has been disposed of.
Derived classes should call this method at the start of all methods and properties that should not be accessed after a call to .
Releases all resources used by the instance.
Calls with the disposing parameter set to to free unmanaged and managed resources.
Releases the unmanaged resources used by this instance and optionally releases the managed resources.
to release both managed and unmanaged resources; to release only unmanaged resources.
Releases unmanaged resources and performs other cleanup operations before the instance is reclaimed by garbage collection.
Defines the data reader validations.
No validation.
Validate that the data reader is initialized.
Validate that the data reader is not closed.
Supports a simple iteration over the records of a .
Contains the enumerated .
Contains the current record.
Contains the current record index.
Initializes a new instance of the class.
The to iterate over.
is a .
Gets the current record.
Advances the enumerator to the next record of the CSV.
if the enumerator was successfully advanced to the next record, if the enumerator has passed the end of the CSV.
Sets the enumerator to its initial position, which is before the first record in the CSV.
Gets the current record.
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Specifies the action to take when a parsing error has occured.
Raises the event.
Tries to advance to next line.
Throws an exception.
Specifies the action to take when a field is missing.
Treat as a parsing error.
Replaces by an empty value.
Replaces by a null value ().
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to Buffer size must be 1 or more..
Looks up a localized string similar to Cannot move to a previous record in forward-only mode..
Looks up a localized string similar to Cannot read record at index '{0}'..
Looks up a localized string similar to Enumeration has either not started or has already finished..
Looks up a localized string similar to Collection was modified; enumeration operation may not execute..
Looks up a localized string similar to '{0}' field header not found..
Looks up a localized string similar to Field index must be included in [0, FieldCount[. Specified field index was : '{0}'..
Looks up a localized string similar to The CSV appears to be corrupt near record '{0}' field '{1} at position '{2}'. Current raw data : '{3}'..
Looks up a localized string similar to '{0}' is not a supported missing field action..
Looks up a localized string similar to No current record..
Looks up a localized string similar to The CSV does not have headers (CsvReader.HasHeaders property is false)..
Looks up a localized string similar to The number of fields in the record is greater than the available space from index to the end of the destination array..
Looks up a localized string similar to '{0}' is not a valid ParseErrorAction while inside a ParseError event..
Looks up a localized string similar to '{0}' is not a supported ParseErrorAction..
Looks up a localized string similar to This operation is invalid when the reader is closed..
Looks up a localized string similar to Record index must be 0 or more..
Represents the exception that is thrown when a CSV file is malformed.
Contains the message that describes the error.
Contains the raw data when the error occured.
Contains the current field index.
Contains the current record index.
Contains the current position in the raw data.
Initializes a new instance of the MalformedCsvException class.
Initializes a new instance of the MalformedCsvException class.
The message that describes the error.
Initializes a new instance of the MalformedCsvException class.
The message that describes the error.
The exception that is the cause of the current exception.
Initializes a new instance of the MalformedCsvException class.
The raw data when the error occured.
The current position in the raw data.
The current record index.
The current field index.
Initializes a new instance of the MalformedCsvException class.
The raw data when the error occured.
The current position in the raw data.
The current record index.
The current field index.
The exception that is the cause of the current exception.
Initializes a new instance of the MalformedCsvException class with serialized data.
The that holds the serialized object data about the exception being thrown.
The that contains contextual information about the source or destination.
Gets the raw data when the error occured.
The raw data when the error occured.
Gets the current position in the raw data.
The current position in the raw data.
Gets the current record index.
The current record index.
Gets the current field index.
The current record index.
Gets a message that describes the current exception.
A message that describes the current exception.
When overridden in a derived class, sets the with information about the exception.
The that holds the serialized object data about the exception being thrown.
The that contains contextual information about the source or destination.
Represents the exception that is thrown when a there is a missing field in a record of the CSV file.
MissingFieldException would have been a better name, but there is already a .
Initializes a new instance of the MissingFieldCsvException class.
Initializes a new instance of the MissingFieldCsvException class.
The message that describes the error.
Initializes a new instance of the MissingFieldCsvException class.
The message that describes the error.
The exception that is the cause of the current exception.
Initializes a new instance of the MissingFieldCsvException class.
The raw data when the error occured.
The current position in the raw data.
The current record index.
The current field index.
Initializes a new instance of the MissingFieldCsvException class.
The raw data when the error occured.
The current position in the raw data.
The current record index.
The current field index.
The exception that is the cause of the current exception.
Initializes a new instance of the MissingFieldCsvException class with serialized data.
The that holds the serialized object data about the exception being thrown.
The that contains contextual information about the source or destination.
Provides data for the event.
Contains the error that occured.
Initializes a new instance of the ParseErrorEventArgs class.
The error that occured.
The default action to take.
Gets the error that occured.
The error that occured.
Gets or sets the action to take.
The action to take.
Find views matching a specific content-type.
The content-type to search for; such as "text/html"
Find views where the content-type matches a condition
Decodes modified UTF-7 according to RFC 3501 5.1.3: Mailbox International Naming Convention
Encodes to modified UTF-7 according to RFC 3501 5.1.3: Mailbox International Naming Convention
The character set to parse
The character set to default to if it can't be parsed
An encoding which corresponds to the character set
If is