-
Notifications
You must be signed in to change notification settings - Fork 7
Global config structure was developed for DynamicQueryAttribute. #45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| using DynamicQueryBuilder.Models.Enums; | ||
|
|
||
| namespace DynamicQueryBuilder | ||
| { | ||
| public static class DynamicQueryAttributeGlobalConfig | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As much as i like the simple development aspect of this static context, this probably will come with its prices like thread safety and all. Instead, i would advise to use dependency injection through the ActionContext and get our settings from there. Here is an example of that. Edit: Static objects also come with testing challenges since we dont run tests sequentially so if that would create concurrency issues as well. |
||
| { | ||
| internal static readonly int MaxCountSizeDefault = 100; | ||
| internal static readonly bool IncludeDataSetCountToPaginationDefault = true; | ||
| internal static readonly PaginationBehaviour ExceededPaginationCountBehaviourDefault = PaginationBehaviour.GetMax; | ||
|
|
||
| public static int MaxCountSize { get; set; } = MaxCountSizeDefault; | ||
| public static bool IncludeDataSetCountToPagination { get; set; } = IncludeDataSetCountToPaginationDefault; | ||
| public static PaginationBehaviour ExceededPaginationCountBehaviour { get; set; } = ExceededPaginationCountBehaviourDefault; | ||
|
|
||
| public static void LoadDefaultConfigs() | ||
| { | ||
| MaxCountSize = MaxCountSizeDefault; | ||
| IncludeDataSetCountToPagination = IncludeDataSetCountToPaginationDefault; | ||
| ExceededPaginationCountBehaviour = ExceededPaginationCountBehaviourDefault; | ||
| } | ||
| } | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as i understand we are missing integration tests here. Can we please add those as well ?