private T InitializeDataModel <T>(T dataModel) where T : class, IAuditable, new() { dataModel.Auditable = new Auditable(CurrentUser); if (dataModel is ISynchronizableDataModel <T> ) { ISynchronizableDataModel <T> synchronisableDataModel = (ISynchronizableDataModel <T>)dataModel; synchronisableDataModel.ObjectState = ObjectState.Active; } return(dataModel); }
private T DeleteDataModel <T>(T dataModel) where T : class, IAuditable, new() { dataModel.Auditable.UpdatedOn = DateTime.Now; dataModel.Auditable.UpdatedBy = CurrentUser; if (dataModel is ISynchronizableDataModel <T> ) { ISynchronizableDataModel <T> synchronisableDataModel = (ISynchronizableDataModel <T>)dataModel; synchronisableDataModel.ObjectState = ObjectState.Deleted; } return(dataModel); }