Table of Contents

Class ImportEngine

Namespace
TimeCockpit.Data.Import
Assembly
TimeCockpit.Data.Import.dll
public abstract class ImportEngine
Inheritance
Object
ImportEngine
Derived
Inherited Members
Object.ToString()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()

Constructors

ImportEngine(DataContext)

public ImportEngine(DataContext dataContext)

Parameters

dataContext DataContext

Properties

CurrentRowCount

public abstract int CurrentRowCount { get; }

Property Value

Int32

DataContext

public DataContext DataContext { get; }

Property Value

DataContext

DefinitionName

public string DefinitionName { get; set; }

Property Value

String

MessageCount

public int MessageCount { get; }

Property Value

Int32

OriginalSource

public byte[] OriginalSource { get; set; }

Property Value

Byte[]

SourceFileName

public string SourceFileName { get; set; }

Property Value

String

Methods

AddMessage(Exception)

protected void AddMessage(Exception e)

Parameters

e Exception

AddMessage(ImportMessage.Kind, String)

protected void AddMessage(ImportMessage.Kind kind, string message)

Parameters

kind ImportMessage.Kind
message String

FetchUpdateKeys(ImportColumnDefinition[], ModelEntityBase, Int32)

protected abstract Dictionary<int, string> FetchUpdateKeys(ImportColumnDefinition[] keyColumns, ModelEntityBase targetEntity, int defaultHeaderRowNumber)

Parameters

keyColumns ImportColumnDefinition[]
targetEntity ModelEntityBase
defaultHeaderRowNumber Int32

Returns

Dictionary<Int32, String>

FormatStatusMessage(Int32, Boolean)

public static string FormatStatusMessage(int messageCount, bool cancelled)

Parameters

messageCount Int32
cancelled Boolean

Returns

String

GetCellKeyValue(ImportColumnDefinition)

public abstract object GetCellKeyValue(ImportColumnDefinition column)

Parameters

column ImportColumnDefinition

Returns

Object

GetCellValue(ImportColumnDefinition)

public abstract object GetCellValue(ImportColumnDefinition column)

Parameters

column ImportColumnDefinition

Returns

Object

GetCellValueBoolean(Object, out Boolean)

protected virtual bool GetCellValueBoolean(object cellValue, out bool b)

Parameters

cellValue Object
b Boolean

Returns

Boolean

GetCellValueDateTime(Object, out DateTime)

protected virtual bool GetCellValueDateTime(object cellValue, out DateTime dt)

Parameters

cellValue Object
dt DateTime

Returns

Boolean

GetCellValueDecimal(Object, out Decimal)

protected virtual bool GetCellValueDecimal(object cellValue, out decimal d)

Parameters

cellValue Object
d Decimal

Returns

Boolean

GetCellValueGuid(Object, out Guid)

protected virtual bool GetCellValueGuid(object cellValue, out Guid g)

Parameters

cellValue Object
g Guid

Returns

Boolean

GetCellValueString(Object, out String)

protected virtual bool GetCellValueString(object cellValue, out string s)

Parameters

cellValue Object
s String

Returns

Boolean

GetKeyValue(DataContext, ModelEntityBase, Dictionary<ImportColumnDefinition, Int32>, ImportColumnDefinition, Dictionary<ImportColumnDefinition, ModelProperty>, Object)

protected string GetKeyValue(DataContext dataContext, ModelEntityBase targetEntity, Dictionary<ImportColumnDefinition, int> numbers, ImportColumnDefinition kc, Dictionary<ImportColumnDefinition, ModelProperty> properties, object keyValue)

Parameters

dataContext DataContext
targetEntity ModelEntityBase
numbers Dictionary<ImportColumnDefinition, Int32>
kc ImportColumnDefinition
properties Dictionary<ImportColumnDefinition, ModelProperty>
keyValue Object

Returns

String

GetReportData()

public abstract byte[] GetReportData()

Returns

Byte[]

GetReportMetadata(String, DateTime, out String, out String)

public virtual void GetReportMetadata(string definitionName, DateTime exportTimestamp, out string filename, out string mimeType)

Parameters

definitionName String
exportTimestamp DateTime
filename String
mimeType String

GetSourceMetadata(out String, out String)

public abstract void GetSourceMetadata(out string filename, out string mimeType)

Parameters

filename String
mimeType String

HasMoreRows()

public abstract bool HasMoreRows()

Returns

Boolean

ImportColumn(ImportColumnDefinition, Object, EntityObject, Boolean)

protected virtual void ImportColumn(ImportColumnDefinition column, object cellValue, EntityObject target, bool includeAllinRelations)

Parameters

column ImportColumnDefinition
cellValue Object
target EntityObject
includeAllinRelations Boolean

ImportRow(ImportColumnDefinition[], EntityObject, Boolean)

public void ImportRow(ImportColumnDefinition[] columns, EntityObject target, bool includeAllinRelations)

Parameters

columns ImportColumnDefinition[]
target EntityObject
includeAllinRelations Boolean

ImportSheet(ImportSheetDefinition)

public void ImportSheet(ImportSheetDefinition sheetDefinition)

Parameters

sheetDefinition ImportSheetDefinition

IsCellEmpty(Object)

protected virtual bool IsCellEmpty(object cellValue)

Parameters

cellValue Object

Returns

Boolean

LoadPreviewData(Int32, Byte[], Dictionary<String, Int32>, Int32)

public abstract PreviewWorkbook LoadPreviewData(int sampleSize, byte[] sourceData, Dictionary<string, int> headerRowPosition = null, int defaultHeaderRowNumber = 1)

Parameters

sampleSize Int32
sourceData Byte[]
headerRowPosition Dictionary<String, Int32>
defaultHeaderRowNumber Int32

Returns

PreviewWorkbook

MoveToNextRow()

public abstract void MoveToNextRow()

PerformImport(ImportBookDefinition, Boolean, Byte[], String, Guid, Nullable<Guid>, Nullable<CancellationToken>)

public void PerformImport(ImportBookDefinition definition, bool saveOnSuccess, byte[] sourceData, string definitionName, Guid importTaskId, Guid? definitionId = default(Guid? ), CancellationToken? cancelToken = default(CancellationToken? ))

Parameters

definition ImportBookDefinition
saveOnSuccess Boolean
sourceData Byte[]
definitionName String
importTaskId Guid
definitionId Nullable<Guid>
cancelToken Nullable<CancellationToken>

PerformPostProcessExpressions(DataContext, EntityObject, IEnumerable<ImportColumnDefinition>, Boolean)

public void PerformPostProcessExpressions(DataContext dataContext, EntityObject eo, IEnumerable<ImportColumnDefinition> columnDefinitions, bool includeAllinRelations)

Parameters

dataContext DataContext
eo EntityObject
columnDefinitions IEnumerable<ImportColumnDefinition>
includeAllinRelations Boolean

PrepareImportSheet(ImportSheetDefinition)

public abstract bool PrepareImportSheet(ImportSheetDefinition sheet)

Parameters

sheet ImportSheetDefinition

Returns

Boolean

PrepareImportWorkbook(ImportBookDefinition)

public abstract bool PrepareImportWorkbook(ImportBookDefinition book)

Parameters

book ImportBookDefinition

Returns

Boolean

PreprocessValue(DataContext, ModelEntityBase, ImportColumnDefinition, Object)

public object PreprocessValue(DataContext targetContext, ModelEntityBase targetEntity, ImportColumnDefinition icd, object sourceValue)

Parameters

targetContext DataContext
targetEntity ModelEntityBase
icd ImportColumnDefinition
sourceValue Object

Returns

Object

SavePreviewData(PreviewWorkbook)

public abstract byte[] SavePreviewData(PreviewWorkbook previewWorkbook)

Parameters

previewWorkbook PreviewWorkbook

Returns

Byte[]

SetRowMessage(ImportSheetDefinition, String, Boolean, Boolean)

public virtual void SetRowMessage(ImportSheetDefinition sheetDefinition, string text, bool isError, bool isModification)

Parameters

sheetDefinition ImportSheetDefinition
text String
isError Boolean
isModification Boolean

TryFindRelation(ImportColumnDefinition, Relation, String, Boolean, out EntityObject)

protected virtual bool TryFindRelation(ImportColumnDefinition column, Relation targetRelation, string value, bool includeAll, out EntityObject resultingEntityObject)

Parameters

column ImportColumnDefinition
targetRelation Relation
value String
includeAll Boolean
resultingEntityObject EntityObject

Returns

Boolean

TrySetProperty(ImportColumnDefinition, ModelProperty, EntityObject, Object)

protected virtual void TrySetProperty(ImportColumnDefinition column, ModelProperty targetProperty, EntityObject target, object cellValue)

Parameters

column ImportColumnDefinition
targetProperty ModelProperty
target EntityObject
cellValue Object

Events

OnEntityObjectSaved

public event ImportEngine.EntityObjectSaved OnEntityObjectSaved

Event Type

ImportEngine.EntityObjectSaved

OnMessage

public event ImportEngine.MessageCallback OnMessage

Event Type

ImportEngine.MessageCallback

OnProgress

public event ImportEngine.ProgressCallback OnProgress

Event Type

ImportEngine.ProgressCallback

OnReportFinished

public event ImportEngine.SaveReportCallback OnReportFinished

Event Type

ImportEngine.SaveReportCallback