-
Notifications
You must be signed in to change notification settings - Fork 23
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
Quiz app project #39
base: main
Are you sure you want to change the base?
Quiz app project #39
Changes from all commits
2a5fc96
c8b2971
d444273
520b380
7fff45c
7f5f093
54884d9
a3ea610
9923f53
d521db7
a7d714a
98581a8
bd49f33
e12705a
733d45d
b49351b
c726932
d3c0639
d3fa66b
5aaa79a
971f6bf
6267f65
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,269 @@ | ||
# Remove the line below if you want to inherit .editorconfig settings from higher directories | ||
root = true | ||
|
||
# C# files | ||
[*.cs] | ||
|
||
#### Core EditorConfig Options #### | ||
|
||
# Indentation and spacing | ||
indent_size = 4 | ||
indent_style = space | ||
tab_width = 4 | ||
|
||
# New line preferences | ||
end_of_line = crlf | ||
insert_final_newline = false | ||
|
||
#### .NET Coding Conventions #### | ||
|
||
# Organize usings | ||
dotnet_separate_import_directive_groups = false | ||
dotnet_sort_system_directives_first = false | ||
file_header_template = unset | ||
|
||
# this. and Me. preferences | ||
dotnet_style_qualification_for_event = false | ||
dotnet_style_qualification_for_field = false | ||
dotnet_style_qualification_for_method = false | ||
dotnet_style_qualification_for_property = false | ||
|
||
# Language keywords vs BCL types preferences | ||
dotnet_style_predefined_type_for_locals_parameters_members = true | ||
dotnet_style_predefined_type_for_member_access = true | ||
|
||
# Parentheses preferences | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity | ||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity | ||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary | ||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity | ||
|
||
# Modifier preferences | ||
dotnet_style_require_accessibility_modifiers = for_non_interface_members | ||
|
||
# Expression-level preferences | ||
dotnet_style_coalesce_expression = true | ||
dotnet_style_collection_initializer = true | ||
dotnet_style_explicit_tuple_names = true | ||
dotnet_style_namespace_match_folder = true | ||
dotnet_style_null_propagation = true | ||
dotnet_style_object_initializer = true | ||
dotnet_style_operator_placement_when_wrapping = beginning_of_line | ||
dotnet_style_prefer_auto_properties = true | ||
dotnet_style_prefer_collection_expression = when_types_loosely_match | ||
dotnet_style_prefer_compound_assignment = true | ||
dotnet_style_prefer_conditional_expression_over_assignment = true | ||
dotnet_style_prefer_conditional_expression_over_return = true | ||
dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true | ||
dotnet_style_prefer_inferred_tuple_names = true | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true | ||
dotnet_style_prefer_simplified_boolean_expressions = true | ||
dotnet_style_prefer_simplified_interpolation = true | ||
|
||
# Field preferences | ||
dotnet_style_readonly_field = true | ||
|
||
# Parameter preferences | ||
dotnet_code_quality_unused_parameters = all | ||
|
||
# Suppression preferences | ||
dotnet_remove_unnecessary_suppression_exclusions = none | ||
|
||
# New line preferences | ||
dotnet_style_allow_multiple_blank_lines_experimental = true | ||
dotnet_style_allow_statement_immediately_after_block_experimental = true | ||
|
||
#### C# Coding Conventions #### | ||
|
||
# var preferences | ||
csharp_style_var_elsewhere = false:silent | ||
csharp_style_var_for_built_in_types = false:silent | ||
csharp_style_var_when_type_is_apparent = false:silent | ||
|
||
# Expression-bodied members | ||
csharp_style_expression_bodied_accessors = true:silent | ||
csharp_style_expression_bodied_constructors = false:silent | ||
csharp_style_expression_bodied_indexers = true:silent | ||
csharp_style_expression_bodied_lambdas = true:silent | ||
csharp_style_expression_bodied_local_functions = false:silent | ||
csharp_style_expression_bodied_methods = false:silent | ||
csharp_style_expression_bodied_operators = false:silent | ||
csharp_style_expression_bodied_properties = true:silent | ||
|
||
# Pattern matching preferences | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | ||
csharp_style_prefer_extended_property_pattern = true:suggestion | ||
csharp_style_prefer_not_pattern = true:suggestion | ||
csharp_style_prefer_pattern_matching = true:silent | ||
csharp_style_prefer_switch_expression = true:suggestion | ||
|
||
# Null-checking preferences | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
|
||
# Modifier preferences | ||
csharp_prefer_static_anonymous_function = true:suggestion | ||
csharp_prefer_static_local_function = true:suggestion | ||
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async | ||
csharp_style_prefer_readonly_struct = true:suggestion | ||
csharp_style_prefer_readonly_struct_member = true:suggestion | ||
|
||
# Code-block preferences | ||
csharp_prefer_braces = true:silent | ||
csharp_prefer_simple_using_statement = true:suggestion | ||
csharp_style_namespace_declarations = file_scoped:suggestion | ||
csharp_style_prefer_method_group_conversion = true:silent | ||
csharp_style_prefer_primary_constructors = true:suggestion | ||
csharp_style_prefer_top_level_statements = true:silent | ||
|
||
# Expression-level preferences | ||
csharp_prefer_simple_default_expression = true:suggestion | ||
csharp_style_deconstructed_variable_declaration = true:suggestion | ||
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
csharp_style_prefer_index_operator = true:suggestion | ||
csharp_style_prefer_local_over_anonymous_function = true:suggestion | ||
csharp_style_prefer_null_check_over_type_check = true:suggestion | ||
csharp_style_prefer_range_operator = true:suggestion | ||
csharp_style_prefer_tuple_swap = true:suggestion | ||
csharp_style_prefer_utf8_string_literals = true:suggestion | ||
csharp_style_throw_expression = true:suggestion | ||
csharp_style_unused_value_assignment_preference = discard_variable:suggestion | ||
csharp_style_unused_value_expression_statement_preference = discard_variable:silent | ||
|
||
# 'using' directive preferences | ||
csharp_using_directive_placement = outside_namespace:silent | ||
|
||
# New line preferences | ||
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true:silent | ||
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true:silent | ||
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true:silent | ||
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true:silent | ||
csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent | ||
|
||
#### C# Formatting Rules #### | ||
|
||
# New line preferences | ||
csharp_new_line_before_catch = true | ||
csharp_new_line_before_else = true | ||
csharp_new_line_before_finally = true | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
csharp_new_line_before_members_in_object_initializers = true | ||
csharp_new_line_before_open_brace = all | ||
csharp_new_line_between_query_expression_clauses = true | ||
|
||
# Indentation preferences | ||
csharp_indent_block_contents = true | ||
csharp_indent_braces = false | ||
csharp_indent_case_contents = true | ||
csharp_indent_case_contents_when_block = true | ||
csharp_indent_labels = one_less_than_current | ||
csharp_indent_switch_labels = true | ||
|
||
# Space preferences | ||
csharp_space_after_cast = false | ||
csharp_space_after_colon_in_inheritance_clause = true | ||
csharp_space_after_comma = true | ||
csharp_space_after_dot = false | ||
csharp_space_after_keywords_in_control_flow_statements = true | ||
csharp_space_after_semicolon_in_for_statement = true | ||
csharp_space_around_binary_operators = before_and_after | ||
csharp_space_around_declaration_statements = false | ||
csharp_space_before_colon_in_inheritance_clause = true | ||
csharp_space_before_comma = false | ||
csharp_space_before_dot = false | ||
csharp_space_before_open_square_brackets = false | ||
csharp_space_before_semicolon_in_for_statement = false | ||
csharp_space_between_empty_square_brackets = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_between_method_call_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_name_and_open_parenthesis = false | ||
csharp_space_between_method_declaration_parameter_list_parentheses = false | ||
csharp_space_between_parentheses = false | ||
csharp_space_between_square_brackets = false | ||
|
||
# Wrapping preferences | ||
csharp_preserve_single_line_blocks = true | ||
csharp_preserve_single_line_statements = true | ||
|
||
#### Naming styles #### | ||
|
||
# Naming rules | ||
|
||
dotnet_naming_rule.interface_should_be_begins_with_i.severity = warning | ||
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface | ||
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i | ||
|
||
dotnet_naming_rule.types_should_be_pascal_case.severity = warning | ||
dotnet_naming_rule.types_should_be_pascal_case.symbols = types | ||
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case | ||
|
||
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = warning | ||
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members | ||
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case | ||
|
||
# Symbol specifications | ||
|
||
dotnet_naming_symbols.interface.applicable_kinds = interface | ||
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | ||
dotnet_naming_symbols.interface.required_modifiers = | ||
|
||
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum | ||
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | ||
dotnet_naming_symbols.types.required_modifiers = | ||
|
||
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method | ||
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | ||
dotnet_naming_symbols.non_field_members.required_modifiers = | ||
|
||
# Naming styles | ||
|
||
dotnet_naming_style.pascal_case.required_prefix = | ||
dotnet_naming_style.pascal_case.required_suffix = | ||
dotnet_naming_style.pascal_case.word_separator = | ||
dotnet_naming_style.pascal_case.capitalization = pascal_case | ||
|
||
dotnet_naming_style.begins_with_i.required_prefix = I | ||
dotnet_naming_style.begins_with_i.required_suffix = | ||
dotnet_naming_style.begins_with_i.word_separator = | ||
dotnet_naming_style.begins_with_i.capitalization = pascal_case | ||
|
||
[*.{cs,vb}] | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion | ||
dotnet_style_prefer_auto_properties = true:silent | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_operator_placement_when_wrapping = beginning_of_line | ||
tab_width = 4 | ||
indent_size = 4 | ||
end_of_line = crlf | ||
dotnet_style_namespace_match_folder = true:suggestion | ||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | ||
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_prefer_conditional_expression_over_return = true:silent | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
dotnet_style_prefer_inferred_tuple_names = true:suggestion | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | ||
dotnet_style_prefer_compound_assignment = true:suggestion | ||
dotnet_style_prefer_simplified_interpolation = true:suggestion | ||
dotnet_style_prefer_collection_expression = when_types_loosely_match:suggestion | ||
dotnet_style_readonly_field = true:suggestion | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:silent | ||
dotnet_style_predefined_type_for_member_access = true:silent | ||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent | ||
dotnet_style_allow_multiple_blank_lines_experimental = true:silent | ||
dotnet_style_allow_statement_immediately_after_block_experimental = true:silent | ||
dotnet_code_quality_unused_parameters = all:suggestion | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent | ||
dotnet_style_qualification_for_field = false:silent | ||
dotnet_style_qualification_for_property = false:silent | ||
dotnet_style_qualification_for_method = false:silent | ||
dotnet_style_qualification_for_event = false:silent |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
using IZT6ZK.Db; | ||
using IZT6ZK.Models; | ||
using IZT6ZK.Records; | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Text; | ||
using System.Threading.Tasks; | ||
|
||
namespace IZT6ZK.Assists; | ||
internal class ConsoleHelper | ||
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. A Helper suffix-et én architektként nagyon nagyon nem szeretem, mégpedig azért mert szerintem az esetek 90%-ban arra utal, hogy gond adódott az elnevezéssel :D. Ugyan ilyen semmit mondó nevek még a Context és a Utilities. Ezek használata kerülendő. |
||
{ | ||
public static void WriteQuit() | ||
{ | ||
Console.WriteLine("\nWrite 'quit' if you want to quit."); | ||
} | ||
public static void WriteQuitAll() | ||
{ | ||
Console.WriteLine("Write 'quit all' if you want to quit all of the questions.\n"); | ||
} | ||
public static string ReadAndWrite(string whatWeWantToAskFromUser) | ||
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. Single responsibility? |
||
{ | ||
Console.WriteLine($"\nWrite {whatWeWantToAskFromUser}: "); | ||
var input = Console.ReadLine(); | ||
return input ?? ""; | ||
} | ||
|
||
public static void WriteOutAllTopics(List<TopicEntity> allTopics) | ||
{ | ||
Console.WriteLine("\nThe possible topics: "); | ||
|
||
foreach (var allTopic in allTopics) | ||
{ | ||
Console.WriteLine($"{allTopic.TopicId}: {allTopic.TopicName}"); | ||
} | ||
} | ||
|
||
public static void WriteOutAllQuestions(List<QuestionEntity> allQuestions) | ||
{ | ||
Console.WriteLine("\nThe possible questions: "); | ||
|
||
foreach (var allQuestion in allQuestions) | ||
{ | ||
Console.WriteLine($"{allQuestion.QuestionId}: {allQuestion.Question}"); | ||
} | ||
} | ||
|
||
public static void WriteOutTheResultOfTheQuiz(List<QuestionRecordForStatistic> questionRecords, List<QuestionEntity> allQuestions) | ||
{ | ||
Console.WriteLine("Your result: "); | ||
var correctAnswers = questionRecords.Count(x => x.CorrectAnswer == x.UserAnswer); | ||
var incorrectAnswers = questionRecords.Count(x => x.CorrectAnswer != x.UserAnswer); | ||
var quitedQuestions = allQuestions.Count - questionRecords.Count; | ||
|
||
foreach (var questionRecord in questionRecords) | ||
{ | ||
Console.WriteLine(questionRecord.ToString()); | ||
} | ||
|
||
Console.WriteLine($"\nNumber of correct answers: {correctAnswers}"); | ||
Console.WriteLine($"Number of incorrect answers: {incorrectAnswers}"); | ||
Console.WriteLine($"Number of quitted questions: {quitedQuestions}\n"); | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
using IZT6ZK.StateMachine; | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Text; | ||
using System.Threading.Tasks; | ||
|
||
namespace IZT6ZK.Assists; | ||
internal class ValidateInputs | ||
{ | ||
public static string ValidateInputsIfEmptyOrQuit(string input) | ||
{ | ||
if (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input)) | ||
{ | ||
Console.WriteLine("Write something please!"); | ||
return String.Empty; | ||
} | ||
|
||
input = input.Trim(); | ||
|
||
if (input == "quit") | ||
{ | ||
return "quit"; | ||
} | ||
return input; | ||
} | ||
|
||
public static string ValidateInputsIfEmptyOrQuitOrQuitAll(string input) | ||
{ | ||
if (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input)) | ||
{ | ||
Console.WriteLine("Write something please!"); | ||
return String.Empty; | ||
} | ||
|
||
input = input.Trim(); | ||
|
||
if (input == "quit") | ||
{ | ||
return "quit"; | ||
} | ||
if (input == "quit all") | ||
{ | ||
return "quit all"; | ||
} | ||
return input; | ||
} | ||
} |
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.
editorconfig 👍