Skip to content

Commit 433b341

Browse files
committed
.net 9 and naming upgrade
1 parent ca778d7 commit 433b341

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+755
-935
lines changed

.editorconfig

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
###############################
2+
# PandaTech Editor Config #
3+
###############################
4+
5+
6+
################################
7+
# ReSharper Generated Settings #
8+
################################
9+
10+
[*]
11+
charset = utf-8-bom
12+
end_of_line = crlf
13+
trim_trailing_whitespace = false
14+
insert_final_newline = false
15+
indent_style = space
16+
indent_size = 4
17+
18+
# Microsoft .NET properties
19+
csharp_preferred_modifier_order = public, private, protected, internal, file, new, static, abstract, virtual, sealed, readonly, override, extern, unsafe, volatile, async, required:suggestion
20+
csharp_style_prefer_utf8_string_literals = true:suggestion
21+
csharp_style_var_elsewhere = true:suggestion
22+
csharp_style_var_for_built_in_types = true:suggestion
23+
csharp_style_var_when_type_is_apparent = true:suggestion
24+
dotnet_naming_rule.unity_serialized_field_rule.import_to_resharper = True
25+
dotnet_naming_rule.unity_serialized_field_rule.resharper_description = Unity serialized field
26+
dotnet_naming_rule.unity_serialized_field_rule.resharper_guid = 5f0fdb63-c892-4d2c-9324-15c80b22a7ef
27+
dotnet_naming_rule.unity_serialized_field_rule.severity = warning
28+
dotnet_naming_rule.unity_serialized_field_rule.style = lower_camel_case_style
29+
dotnet_naming_rule.unity_serialized_field_rule.symbols = unity_serialized_field_symbols
30+
dotnet_naming_style.lower_camel_case_style.capitalization = camel_case
31+
dotnet_naming_symbols.unity_serialized_field_symbols.applicable_accessibilities = *
32+
dotnet_naming_symbols.unity_serialized_field_symbols.applicable_kinds =
33+
dotnet_naming_symbols.unity_serialized_field_symbols.resharper_applicable_kinds = unity_serialised_field
34+
dotnet_naming_symbols.unity_serialized_field_symbols.resharper_required_modifiers = instance
35+
dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:none
36+
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:none
37+
dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:none
38+
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
39+
dotnet_style_predefined_type_for_member_access = true:suggestion
40+
dotnet_style_qualification_for_event = false:suggestion
41+
dotnet_style_qualification_for_field = false:suggestion
42+
dotnet_style_qualification_for_method = false:suggestion
43+
dotnet_style_qualification_for_property = false:suggestion
44+
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
45+
46+
# ReSharper properties
47+
resharper_align_linq_query = true
48+
resharper_align_multiline_calls_chain = true
49+
resharper_apply_auto_detected_rules = false
50+
resharper_braces_for_for = required
51+
resharper_braces_for_foreach = required
52+
resharper_braces_for_ifelse = required
53+
resharper_braces_for_while = required
54+
resharper_cpp_insert_final_newline = true
55+
resharper_csharp_indent_size = 3
56+
resharper_csharp_max_enum_members_on_line = 0
57+
resharper_csharp_tab_width = 3
58+
resharper_csharp_wrap_arguments_style = chop_if_long
59+
resharper_csharp_wrap_parameters_style = chop_if_long
60+
resharper_formatter_off_tag = @formatter:off
61+
resharper_formatter_on_tag = @formatter:on
62+
resharper_formatter_tags_enabled = true
63+
resharper_keep_existing_declaration_parens_arrangement = false
64+
resharper_keep_existing_expr_member_arrangement = false
65+
resharper_keep_existing_initializer_arrangement = false
66+
resharper_keep_existing_switch_expression_arrangement = false
67+
resharper_max_array_initializer_elements_on_line = 0
68+
resharper_max_initializer_elements_on_line = 0
69+
resharper_place_accessorholder_attribute_on_same_line = false
70+
resharper_place_accessor_attribute_on_same_line = false
71+
resharper_place_field_attribute_on_same_line = false
72+
resharper_place_simple_anonymousmethod_on_single_line = false
73+
resharper_place_simple_embedded_statement_on_same_line = false
74+
resharper_place_simple_initializer_on_single_line = false
75+
resharper_place_simple_property_pattern_on_single_line = false
76+
resharper_use_indent_from_vs = false
77+
resharper_wrap_after_property_in_chained_method_calls = true
78+
resharper_wrap_array_initializer_style = chop_if_long
79+
resharper_wrap_chained_method_calls = chop_always
80+
resharper_wrap_linq_expressions = chop_always
81+
resharper_wrap_list_pattern = chop_if_long
82+
resharper_wrap_object_and_collection_initializer_style = chop_always
83+
resharper_wrap_property_pattern = chop_always
84+
85+
# ReSharper inspection severities
86+
resharper_arrange_redundant_parentheses_highlighting = hint
87+
resharper_arrange_this_qualifier_highlighting = hint
88+
resharper_arrange_type_member_modifiers_highlighting = hint
89+
resharper_arrange_type_modifiers_highlighting = hint
90+
resharper_built_in_type_reference_style_for_member_access_highlighting = hint
91+
resharper_built_in_type_reference_style_highlighting = hint
92+
resharper_enforce_foreach_statement_braces_highlighting = warning
93+
resharper_enforce_for_statement_braces_highlighting = warning
94+
resharper_enforce_if_statement_braces_highlighting = warning
95+
resharper_enforce_lock_statement_braces_highlighting = warning
96+
resharper_enforce_using_statement_braces_highlighting = warning
97+
resharper_enforce_while_statement_braces_highlighting = warning
98+
resharper_mvc_action_not_resolved_highlighting = warning
99+
resharper_mvc_area_not_resolved_highlighting = warning
100+
resharper_mvc_controller_not_resolved_highlighting = warning
101+
resharper_mvc_masterpage_not_resolved_highlighting = warning
102+
resharper_mvc_partial_view_not_resolved_highlighting = warning
103+
resharper_mvc_template_not_resolved_highlighting = warning
104+
resharper_mvc_view_component_not_resolved_highlighting = warning
105+
resharper_mvc_view_component_view_not_resolved_highlighting = warning
106+
resharper_mvc_view_not_resolved_highlighting = warning
107+
resharper_razor_assembly_not_resolved_highlighting = warning
108+
resharper_redundant_base_qualifier_highlighting = warning
109+
resharper_web_config_module_not_resolved_highlighting = warning
110+
resharper_web_config_type_not_resolved_highlighting = warning
111+
resharper_web_config_wrong_module_highlighting = warning
112+
113+
[{*.har,*.jsb2,*.jsb3,*.json,*.jsonc,*.postman_collection,*.postman_collection.json,*.postman_environment,*.postman_environment.json,.babelrc,.eslintrc,.prettierrc,.stylelintrc,.ws-context,bowerrc,jest.config}]
114+
indent_style = space
115+
indent_size = 2
116+
117+
[{*.yaml,*.yml}]
118+
indent_style = space
119+
indent_size = 2
120+
121+
[*.cs]
122+
indent_style = space
123+
indent_size = 3
124+
tab_width = 3
125+
126+
[*.{appxmanifest,asax,ascx,aspx,axaml,build,c,c++,c++m,cc,ccm,cginc,compute,cp,cpp,cppm,cshtml,cu,cuh,cxx,cxxm,dtd,fs,fsi,fsscript,fsx,fx,fxh,h,hh,hlsl,hlsli,hlslinc,hpp,hxx,inc,inl,ino,ipp,ixx,master,ml,mli,mpp,mq4,mq5,mqh,mxx,nuspec,paml,razor,resw,resx,shader,skin,tpp,usf,ush,uxml,vb,xaml,xamlx,xoml,xsd}]
127+
indent_style = space
128+
indent_size = 4
129+
tab_width = 4
130+
131+
#########################
132+
# Custom added settings #
133+
#########################
134+
[*.cs]
135+
dotnet_diagnostic.cs8600.severity = error #Converting null literal or possible null value to non-nullable type.
136+
dotnet_diagnostic.cs8601.severity = error #Possible null reference assignment.
137+
dotnet_diagnostic.cs8602.severity = error #possible dereference of a null reference
138+
dotnet_diagnostic.cs8603.severity = error #possible null reference return
139+
dotnet_diagnostic.cs8604.severity = error #possible null reference argument for parameter
140+
dotnet_diagnostic.cs8605.severity = error #Unboxing a possibly null value
141+
dotnet_diagnostic.cs8618.severity = error # Non-nullable field is uninitialized. Consider declaring as nullable.
142+
dotnet_diagnostic.cs8625.severity = error # Cannot convert null literal to non-nullable reference type.
143+
dotnet_diagnostic.cs8762.severity = error # Nullability of reference types in type doesn't match overridden member.
144+
dotnet_diagnostic.cs1717.severity = error #variable is assigned to itself
145+
dotnet_diagnostic.cs1718.severity = error #comparison made to same variable
146+
dotnet_diagnostic.cs0659.severity = error #overriding object.Equals but not overriding object.GetHashCode
147+
dotnet_diagnostic.cs0251.severity = error #Indexing an array with a negative index (array indices always start at zero)
148+
dotnet_diagnostic.s3363.severity = none #Never set DateTime as PrimaryKey. Ignored as we never do it but have warnings for cache entities.
149+
dotnet_diagnostic.ca2016.severity = error #Forwarding cancellation tokens
150+
csharp_style_namespace_declarations = file_scoped:error
151+
resharper_entity_framework_model_validation_unlimited_string_length_highlighting = none
152+
153+
154+
#########################
155+
# VS added settings #
156+
#########################
157+
158+
[*.cs]
159+
csharp_style_namespace_declarations = file_scoped:error
160+
csharp_indent_labels = one_less_than_current
161+
csharp_using_directive_placement = outside_namespace:silent
162+
csharp_prefer_simple_using_statement = true:suggestion
163+
csharp_prefer_braces = true:silent
164+
csharp_style_prefer_method_group_conversion = true:silent
165+
csharp_style_prefer_top_level_statements = true:silent
166+
csharp_style_prefer_primary_constructors = true:suggestion
167+
csharp_style_expression_bodied_methods = false:silent
168+
csharp_style_expression_bodied_constructors = false:silent
169+
csharp_style_expression_bodied_operators = false:silent
170+
csharp_style_expression_bodied_properties = true:silent
171+
csharp_style_expression_bodied_indexers = true:silent
172+
csharp_style_expression_bodied_accessors = true:silent
173+
csharp_style_expression_bodied_lambdas = true:silent
174+
csharp_style_expression_bodied_local_functions = false:silent
175+
176+
[{*.yaml,*.yml}]
177+
dotnet_style_namespace_match_folder = true:suggestion
178+
dotnet_style_operator_placement_when_wrapping = beginning_of_line
179+
tab_width = 3
180+
dotnet_style_coalesce_expression = true:suggestion
181+
dotnet_style_null_propagation = true:suggestion
182+
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
183+
dotnet_style_prefer_auto_properties = true:silent
184+
dotnet_style_object_initializer = true:suggestion
185+
dotnet_style_collection_initializer = true:suggestion
186+
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
187+
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
188+
189+
[*.csv]
190+
indent_style = tab
191+
tab_width = 4

.github/workflows/main.yml

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,33 @@
11
name: Deploy NuGet Package
22

3+
env:
4+
PROJECT_PATH: './src/ServiceResponse/ServiceResponse.csproj'
5+
OUTPUT_DIR: 'nupkgs'
6+
NUGET_SOURCE: 'https://api.nuget.org/v3/index.json'
7+
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
8+
39
on:
410
push:
511
branches:
612
- main
7-
813
jobs:
914
deploy:
1015
runs-on: ubuntu-latest
11-
strategy:
12-
matrix:
13-
dotnet-version: ['7.x.x']
16+
1417
steps:
15-
- name: Checkout
16-
uses: actions/checkout@v2
17-
18-
- name: Setup .NET Core
19-
uses: actions/setup-dotnet@v1
20-
with:
21-
dotnet-version: ${{ matrix.dotnet-version }}
22-
23-
- name: Build
24-
run: dotnet build ./ServiceResponse/ServiceResponse
25-
26-
- name: Pack
27-
run: dotnet pack ./ServiceResponse/ServiceResponse --output nupkgs
28-
29-
- name: Publish
30-
run: dotnet nuget push ./nupkgs/*.nupkg -k ${{ secrets.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
21+
- name: Setup .NET Core
22+
uses: actions/setup-dotnet@v4
23+
with:
24+
global-json-file: global.json
25+
26+
- name: Build
27+
run: dotnet build ${{ env.PROJECT_PATH }}
28+
29+
- name: Pack
30+
run: dotnet pack ${{ env.PROJECT_PATH }} --output ${{ env.OUTPUT_DIR }}
31+
32+
- name: Publish
33+
run: dotnet nuget push ${{ env.OUTPUT_DIR }}/*.nupkg -k ${{ env.NUGET_API_KEY }} -s ${{ env.NUGET_SOURCE }}

.gitignore

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
##
44
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
55

6+
.idea
7+
68
# User-specific files
79
*.rsuser
810
*.suo
@@ -23,15 +25,16 @@ mono_crash.*
2325
[Rr]eleases/
2426
x64/
2527
x86/
28+
[Ww][Ii][Nn]32/
2629
[Aa][Rr][Mm]/
2730
[Aa][Rr][Mm]64/
2831
bld/
2932
[Bb]in/
3033
[Oo]bj/
34+
[Oo]ut/
3135
[Ll]og/
32-
[Ll]ogs//
33-
.idea/
34-
.idea/*
36+
[Ll]ogs/
37+
3538
# Visual Studio 2015/2017 cache/options directory
3639
.vs/
3740
# Uncomment if you have tasks that create the project's static files in wwwroot
@@ -62,6 +65,9 @@ project.lock.json
6265
project.fragment.lock.json
6366
artifacts/
6467

68+
# ASP.NET Scaffolding
69+
ScaffoldingReadMe.txt
70+
6571
# StyleCop
6672
StyleCopReport.xml
6773

@@ -138,6 +144,11 @@ _TeamCity*
138144
.axoCover/*
139145
!.axoCover/settings.json
140146

147+
# Coverlet is a free, cross platform Code Coverage Tool
148+
coverage*.json
149+
coverage*.xml
150+
coverage*.info
151+
141152
# Visual Studio code coverage results
142153
*.coverage
143154
*.coveragexml
@@ -349,3 +360,6 @@ MigrationBackup/
349360

350361
# Ionide (cross platform F# VS Code tools) working folder
351362
.ionide/
363+
364+
# Fody - auto-generated XML schema
365+
FodyWeavers.xsd

LICENSE renamed to LICENSE.txt

File renamed without changes.

README.md

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
# ServiceResponse
22

33
## Intro
4-
This is service response template for .Net 6+ web api projects. This template is based on the best practices and
5-
has goal to harmonize all API I/O operations. The benefit of this template over other templates is that it totally
6-
integrates with OpenAPI and Swagger. So, IActionResults and other services,
7-
response will be visible in Swagger UI and loads of other features are and is going to be included.
8-
9-
This Template is designed by PandaTech LLC.
10-
We build software with the greatest quality!
11-
Our website: www.pandatech.it :)
4+
5+
This is service response template for .Net 6+ web api projects. This template is based on the best practices and
6+
has goal to harmonize all API I/O operations. The benefit of this template over other templates is that it totally
7+
integrates with OpenAPI and Swagger. So, IActionResults and other services,
8+
response will be visible in Swagger UI and loads of other features are and is going to be included.
9+
10+
This Template is designed by PandaTech LLC.
11+
We build software with the greatest quality!
12+
Our website: www.pandatech.it :)
1213

1314
---
1415

15-
## Example
16-
### Model
16+
## Example
17+
18+
### Model
19+
1720
```cs
1821
public class Blog
1922
{
@@ -32,6 +35,7 @@ public class Blog
3235
```
3336

3437
### Program.cs extract
38+
3539
```cs
3640
builder.Services.AddTransient<IService, Services>();
3741

@@ -42,7 +46,8 @@ builder.Services.AddTransient<IService, Services>();
4246
#endif
4347
```
4448

45-
### Service
49+
### Service
50+
4651
```cs
4752
public class Services : IService
4853
{
@@ -102,7 +107,9 @@ public class Services : IService
102107
}
103108
}
104109
```
105-
### Controller
110+
111+
### Controller
112+
106113
```cs
107114
[ApiController]
108115
[Route("[controller]")]

0 commit comments

Comments
 (0)