--- myst: substitutions: ico_method: |- ```{image} /img/code_reference/net_library/method.ico :width: 15px ``` ico_prop: |- ```{image} /img/code_reference/net_library/prop.ico :width: 15px ``` --- # IBcpService Interface Provides all the functionality to create a BCP package. **Namespace:** bcpDevKit\ **Assembly:** bcpDevKit.dll ## Syntax ```csharp public interface IBcpService ``` ## Properties | Type | Name | Description | |--------------------------------------|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| | {{ico_prop}} [EntitiesTable][] | EntitiesTable | Gives direct access to the entities layer, for direct manipulation of the BCP entities. | | {{ico_prop}} [FileService][] | FileService | Contains functionality to add, search and manipulate files and folders in your package. | | {{ico_prop}} [ItemService][] | ItemService | Provides functionality to easily add, search and manipulate items and BOMs in your package and create links between Items and Files in the complex vault-based way. | | {{ico_prop}} [CustomObjectService][] | CustomObjectService | Provides functionality to easily add, search and manipulate custom objects (e.g. Persons or Groups) and its definitions in your package. | | {{ico_prop}} [ExportSettings][] | Settings | Here you can do export specific settings (e.g. if you want to not export Users or PropertyDefinitions). | [EntitiesTable]: /code_reference/net_library/entitiestable [FileService]: /code_reference/net_library/ifileservice [ItemService]: /code_reference/net_library/iitemservice [CustomObjectService]: /code_reference/net_library/icustomobjectservice [ExportSettings]: /code_reference/net_library/exportsettings ## Methods | Type | Name | Description | |---------------------|---------|------------------------------------------------------------------------------------------------------------| | {{ico_method}} void | Flush() | This function will take all the data that you have created in your package and write it to the filesystem. | ## Remarks *IBcpService* grants access to the service layer, which is built on top of the entities layer. The service layer contains functionality for creating a BCP package, without having to understand the entities layer in detail. If you are more experienced and familiar with the BCP entities you can access the entities layer directly via the EntitiesTable and manipulate the objects to suite your needs. After calling the **Flush()** method, you can look in the *PackageDirectory* where you should find all the XML files created from this function. It is also possible to flush multiple times, i.e. if you have a long running process and you want to flush in specific time intervals to not lose data if your process crashes.