public string[] GetLastError() { if (m_state != Upload506MasterState.HasErrors) { m_lastErrorMessage = string.Empty; m_lastError = Upload506FileError.Success; } return(m_lastErrorMessage.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)); }
private void SetError(Upload506FileError errorCode, string errorMessage) { SetState(Upload506MasterState.HasErrors); m_lastError = errorCode; m_lastErrorMessage = errorMessage; if (errorCode == Upload506FileError.IncorrectDataFormat || errorCode == Upload506FileError.ValidationError) { m_errorsFile = new MemoryStream(); WriteErrorsToStream(m_errorsFile); } }
private Upload506FileError GetItemsFromDbf(string ext, string filePath, long startRecord, long count) { m_SourceType = SourceType.DBase; Upload506FileError result = Upload506FileError.Success; UploadMaster.Items.Clear(); m_DbaseFile = new FlatDatabase.DBase.File(); if (m_InputStream != null) { m_DbaseFile.Attach(m_InputStream, Path.GetFileName(filePath), true); } else { m_DbaseFile.Open(filePath, System.IO.FileMode.Open); } if (m_DbaseFile.RecordCount > MaxItemsCount) { return(Upload506FileError.TooManyRows); } if (!ValidateHeader(m_DbaseFile)) { return(Upload506FileError.IvalidHeaderFormat); } try { for (m_DbaseFile.Position = 0; m_DbaseFile.Position < m_DbaseFile.RecordCount; m_DbaseFile.Position++) { var itemResult = AddItemFromDbfFile(m_DbaseFile); if (itemResult > 0) { result = Upload506FileError.IncorrectDataFormat; } } //m_DbaseFile.Close(); } catch (Exception ex) { LogError(ex); result = Upload506FileError.Unknown; } return(result); }
/// <summary> /// /// </summary> /// <returns> /// Error code: /// 0 - no errors /// 1 - file doesn't exists /// 2 - usupported extension /// 3 - Ivalid header format (some column names don't match 506 format column names) /// 4 - incorrect data format in some cells /// 5 - invalid file format, error duirng file reading /// </returns> public Upload506FileError GetItems(long startRecord = 0, long count = -1) { if (m_InputStream == null && (string.IsNullOrEmpty(FilePath) || !File.Exists(FilePath))) { return(Upload506FileError.NullFile); } var ext = Path.GetExtension(FilePath); try { Upload506FileError result = Upload506FileError.UsupportedExtension; if (ext == ".xls" || ext == ".xlsx") { if (m_InputStream == null) { m_InputStream = new FileStream(FilePath, FileMode.Open, FileAccess.Read); } m_ExcelFileWrapper.Read(m_InputStream); result = GetItemsFromWorkbook(); UploadMaster.StoredData = m_ExcelFileWrapper.Workbook; m_ExcelFileWrapper.ShoudDisposeWorkbook = false; } else if (ext == ".dbf") { result = GetItemsFromDbf(ext, FilePath, startRecord, count); UploadMaster.StoredData = m_DbaseFile; } //else if (ext == ".mdb") //{ // result = GetItemsFromDatabase(ext, FilePath, startRecord, count); //} //if (result == Upload506FileError.IncorrectDataFormat) // FlushErrors(); UploadMaster.SourceType = m_SourceType; return(result); } catch (Exception ex) { LogError(ex); return(Upload506FileError.InvalidFileFormat); } }
public void Clear() { try { Items.Clear(); Duplicates.Clear(); m_lastErrorMessage = string.Empty; m_lastError = Upload506FileError.Success; FileName = null; FileContent = null; m_resultFileName = null; m_errorFileName = null; var disposable = StoredData as IDisposable; if (disposable != null) { disposable.Dispose(); } StoredData = null; if (m_errorsFile != null) { m_errorsFile.Dispose(); m_errorsFile = null; } if (m_resultFile != null) { m_resultFile.Dispose(); m_resultFile = null; } SetState(Upload506MasterState.ReadyForUpload); } catch (Exception ex) { LogError.Log("ErrorLog", ex); } }
private string GetMessageByCode(Upload506FileError errorCode) { string errorMessage; switch (errorCode) { case Upload506FileError.Success: errorMessage = null; break; case Upload506FileError.NullFile: // file doesn't exists errorMessage = EidssMessages.Get("msgUploadFileNullFile"); break; case Upload506FileError.IncorrectDataFormat: // incorrect data format in some cells errorMessage = string.Format(EidssMessages.Get("msgUploadFileValidationError"), GetErrorFileName()); break; case Upload506FileError.UsupportedExtension: // usupported extension errorMessage = EidssMessages.Get("msg506UnsupportedExtention"); break; case Upload506FileError.InvalidFileFormat: // invalid file format, error duirng file reading errorMessage = EidssMessages.Get("msgUploadFileInvalidFormat"); break; case Upload506FileError.TooManyRows: // invalid file format, error duirng file reading errorMessage = EidssMessages.Get("msgUploadFileTooManyRows"); break; default: errorMessage = EidssMessages.Get("msgUploadFileError"); break; } return(errorMessage); }
private Upload506FileError GetItemsFromWorkbook() { m_SourceType = SourceType.Excel; UploadMaster.Items.Clear(); if (!ValidateHeader()) { return(Upload506FileError.IvalidHeaderFormat); } try { var sheet = m_ExcelFileWrapper.Workbook.GetSheetAt(0); if (sheet.PhysicalNumberOfRows > MaxItemsCount + 1) { return(Upload506FileError.TooManyRows); } Upload506FileError result = Upload506FileError.Success; for (int i = sheet.FirstRowNum + 1; i <= sheet.LastRowNum; i++) { var row = sheet.GetRow(i); var itemResult = AddItemFromSheetRow(row); if (itemResult > 0) { result = Upload506FileError.IncorrectDataFormat; } if (itemResult == -1)//read data until first empty line { break; } } return(result); } catch (Exception ex) { LogError(ex); return(Upload506FileError.InvalidFileFormat); } }
private void SetError(Upload506FileError errorCode) { SetError(errorCode, GetMessageByCode(errorCode)); }