diff --git a/Disco.BI/Disco.BI.csproj b/Disco.BI/Disco.BI.csproj index fe5ba976..937ee5f6 100644 --- a/Disco.BI/Disco.BI.csproj +++ b/Disco.BI/Disco.BI.csproj @@ -46,8 +46,9 @@ ..\Resources\Libraries\iTextSharp\itextsharp.dll - - ..\..\..\Resources\Libraries\LumenWorks.Framework.IO\LumenWorks.Framework.IO.dll + + False + ..\Resources\Libraries\LumenWorks.Framework.IO\LumenWorks.Framework.IO.dll False @@ -254,7 +255,7 @@ - + diff --git a/Resources/Libraries/LumenWorks.Framework.IO/LumenWorks.Framework.IO.XML b/Resources/Libraries/LumenWorks.Framework.IO/LumenWorks.Framework.IO.XML new file mode 100644 index 00000000..74455f84 --- /dev/null +++ b/Resources/Libraries/LumenWorks.Framework.IO/LumenWorks.Framework.IO.XML @@ -0,0 +1,1538 @@ + + + + LumenWorks.Framework.IO + + + + + Represents a reader that provides fast, cached, dynamic access to CSV data. + + The number of records is limited to - 1. + + + + 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. + + + + + Contains the default action to take when a parsing error has occured. + + + + + Contains the action to take when a field is missing. + + + + + Indicates if the reader supports multiline. + + + + + Indicates if the reader will skip empty lines. + + + + + 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. + + + + + Raises the event. + + The that contains the event data. + + + + Gets the field headers. + + The field headers or an empty array if headers are not supported. + + 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 that is the destination of the fields of the current record. + + is . + + + The number of fields in the record is greater than the available space from to the end 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 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. + + A Unicode character. + if is white space; otherwise, . + + + + 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 disposed status flag. + + + + + Contains the locking object for multi-threading purpose. + + + + + 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. + + + + + Occurs when there is an error while parsing the CSV stream. + + + + + 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 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. + + + + + 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, . + + + + + 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 . + + + + + 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. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets the current record. + + + + + Gets the current record. + + + + + Contains the cached records. + + + + + Contains the current record index (inside the cached records array). + + + + + Indicates if a new record is being read from the CSV stream. + + + + + Contains the binding list linked to this reader. + + + + + 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 how 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 '#'). + if spaces at the start and end of a field are trimmed, otherwise, . Default is . + The buffer size in bytes. + + is a . + + + must be 1 or more. + + + + + Reads the CSV stream from the current position to the end of the stream. + + + 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. + + + + + Moves before the first record. + + + + + Moves to the last record read so far. + + + + + Moves to the specified record index. + + The record index. + true if the operation was successful; otherwise, false. + + The instance has been disposed of. + + + + + Gets the current record index in the CSV file. + + The current record index in the CSV file. + + + + 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 at the specified index. + + The field at the specified index. + + must be included in [0, [. + + + No record read yet. Call ReadLine() first. + + + The CSV data appears to be missing a field. + + + The CSV appears to be corrupt at the current position. + + + The instance has been disposed of. + + + + + Represents a binding list wrapper for a CSV reader. + + + + + Contains the linked CSV reader. + + + + + Contains the cached record count. + + + + + Contains the cached property descriptors. + + + + + Contains the current sort property. + + + + + Contains the current sort direction. + + + + + Initializes a new instance of the CsvBindingList class. + + + + + + Represents a CSV field property descriptor. + + + + + Contains the field index. + + + + + Initializes a new instance of the CsvPropertyDescriptor class. + + The field name. + The field index. + + + + Gets the field index. + + The field index. + + + + Represents a CSV record comparer. + + + + + Contains the field index of the values to compare. + + + + + Contains the sort direction. + + + + + Initializes a new instance of the CsvRecordComparer class. + + The field index of the values to compare. + The sort direction. + + + + Provides data for the event. + + + + + Contains the error that occured. + + + + + Contains the action to take. + + + + + 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. + + + + 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. + + + + 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. + + + + 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. + + + + 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. + + + + 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 (). + + + + + Specifies the action to take when a parsing error has occured. + + + + + Raises the event. + + + + + Tries to advance to next line. + + + + + Throws an exception. + + + + + 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.. + + + + diff --git a/Resources/Libraries/LumenWorks.Framework.IO/LumenWorks.Framework.IO.dll b/Resources/Libraries/LumenWorks.Framework.IO/LumenWorks.Framework.IO.dll new file mode 100644 index 00000000..ce705328 Binary files /dev/null and b/Resources/Libraries/LumenWorks.Framework.IO/LumenWorks.Framework.IO.dll differ diff --git a/Resources/Libraries/LumenWorks.Framework.IO/LumenWorks.Framework.IO.pdb b/Resources/Libraries/LumenWorks.Framework.IO/LumenWorks.Framework.IO.pdb new file mode 100644 index 00000000..3a894bb2 Binary files /dev/null and b/Resources/Libraries/LumenWorks.Framework.IO/LumenWorks.Framework.IO.pdb differ