> For the complete documentation index, see [llms.txt](https://aeudoc.gitbook.io/developer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aeudoc.gitbook.io/developer/backend/class-utility/global-properties.md).

# Global Properties

## General information

Global Properties are Properties that are accessible from everywhere (including View files) and are also available to all of our applications. They are Properties that are so central or used so frequently that they should be defined globally, so that we do not have to write the same logic every time anew.

## MiddleContext.cs

In our applications, all Global Properties are defined in the "MiddleContext.cs" file. Having all of them stored in one place serves the purpose of easier navigation, i.e. it is easier to find their definitions and to have an overview of which Global Properties are available in total.

In the following, the most important Global Properties will be described:

### Data Layer Container

"UnitWork" is the Data Layer Container where all data repositories are stored. Data repositories are representations of the data tables in the database. By loading the data of a data table into a data repository, interactions with the corresponding data table becomes possible. For more details see [Data Repository](/developer/backend/data-repository.md). All the data repositories are defined in "IUnitWork.cs" which is the data type of the Global Property "UnitWork".

### User Info

General information about the User is also stored as Global Properties. They include:

1. **Plant** is the factory the User is currently located at
2. **Scopes** is a List of Plants whose data the User is allowed to have access to.
3. **FullName** is the combination of first and last name of the User separated by a space, in all caps.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://aeudoc.gitbook.io/developer/backend/class-utility/global-properties.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
