About
In this page, it is described how to add theproject to your solution and how to use the functionality in it.
Adding the project to your solution
To use the project functionality, you need to first add the library to your solution.
It is done in Visual Studio by following those steps:
- Right click the solution explorer on the top level solution
- Choose Add→Existing project
- Navigate to EGU.PartnerPortal.Shared project
- Double click the csproj file
- Now add the project reference inside your project
- Right click the solution explorer in Dependencies→Projects→Add Project Reference
- Add a tag in teh shared project:
The project is now ready for use.
Using the Logging
Hosting environment
The way the logging work is, that it checks an environment setting on the application level in the hosting weather or not to log.
Therefore, it is important that you setup the following variables:
- LOGSTATE
- TRUE
The logger will create a log entry - FALSE
The logger will not create any logs at all
- TRUE
- APP_INSIGHT_KEY
- Containing the insight key that can be found on the appinsight app hosting page on Azure.
To set the variables one should do the following:
- Go to the application hosting where you have implemented logging.
- Click on Containers in the left most menu
- In the middle of the screen click 'Environment Variables'
- Add the variables
- Click 'Save as new revision'
The application will restart and is now ready for use.
Code
The Logging functionality can be accessed from the static class simply called Log.cs.
Before being able to log through the project you need to initialize the logger. (Should always be done when your application starts up, and is only done ones)
Initializing is done in this way:
string invoker = "IntegrationApi"; /*The name of the application using the log*/
string environmentVariableToggle = "INTEGRATIONAPI_LOGSTATE"; /*The environment variable name on the hosting of the invoking application*/
string appInsightsKey = "InstrumentationKey=xxxx"; /*The app insight key. This can be found in the appinsight application on the hosting environment*/
Log.Initialize(invoker, environmentVariableToggle, appInsightsKey); /*Initializing the logger, making it ready for use*/
Log.LogInfo("Integration api started.");
Log.LogInfo("Logger running");
When wanting to create a logentry do the following in the code:
/*The logger have the following options:*/
Log.LogInfo("This is an info message");
Log.LogDebug("This is a debug message");
Log.LogWarn("This is a warning message");
Log.LogException(new Exception("This is an exception message"));
Having logged in this way will make the messages appear in the application insights logs.
On how to view those, view the documentation for the integration service.
Other functionality
Global Enums
In here , you can store the enums that are to be used throughout the systems.
EnvConf
Use this class to get environment variables from Azure.
The methods provide options for getting various types of data.
DTOs folder
This folder is reserved for DTO entities.
Please keep a good order and follow the guidelines for putting them here:
- Add a top level folder under the 'DTO' folder
- Name the sub folder a descriptive thing according to where the DTOs are used
- Put the DTOs in the folder


