From d799a699d819e6c0310ff69993783aa350e47988 Mon Sep 17 00:00:00 2001 From: "nandini.vujani" <nandini.vujani@pal.tech> Date: Thu, 5 Dec 2024 11:01:07 +0530 Subject: [PATCH] Added Folder Structure --- .../Controllers/TicketController.cs | 21 +++++++++ .../Controllers/UserController.cs | 20 +++++++++ .../Middlewares/SampleMiddleware.cs | 10 +++++ TicketingSystem.API/Program.cs | 44 +++++++++++++++++++ .../TicketingSystem.API.csproj | 18 ++++++++ .../Data/TicketingDbContext.cs | 13 ++++++ TicketingSystem.Database/Entities/Priority.cs | 17 +++++++ TicketingSystem.Database/Entities/Role.cs | 17 +++++++ TicketingSystem.Database/Entities/Status.cs | 14 ++++++ TicketingSystem.Database/Entities/Ticket.cs | 25 +++++++++++ .../Entities/TicketCategory.cs | 18 ++++++++ TicketingSystem.Database/Entities/User.cs | 18 ++++++++ .../ExtensionMethods/Dependencies.cs | 18 ++++++++ .../Implementations/TicketRepository.cs | 14 ++++++ .../Implementations/UserRepository.cs | 15 +++++++ .../Interfaces/ITicketRepository.cs | 11 +++++ .../Interfaces/IUserRepository.cs | 10 +++++ .../TicketingSystem.Database.csproj | 18 ++++++++ TicketingSystem.Services/DTO/ReportDto.cs | 8 ++++ TicketingSystem.Services/DTO/TicketDto.cs | 8 ++++ TicketingSystem.Services/DTO/UserLoginDto.cs | 8 ++++ .../DTO/UserRegisterDto.cs | 8 ++++ .../DTO/UserResponseDto.cs | 8 ++++ .../Extensions/Dependencies.cs | 14 ++++++ .../Implementations/TicketService.cs | 16 +++++++ .../Implementations/UserService.cs | 17 +++++++ .../Interfaces/ITicketService.cs | 14 ++++++ .../Interfaces/IUserService.cs | 14 ++++++ .../TicketingSystem.Services.csproj | 13 ++++++ .../Enums/CategoryEnum.cs | 12 +++++ .../Enums/PriorityEnum.cs | 8 ++++ .../Enums/ReportTypeEnum.cs | 9 ++++ TicketingSystem.Utilities/Enums/RoleEnum.cs | 9 ++++ TicketingSystem.Utilities/Enums/StatusEnum.cs | 9 ++++ .../TicketingSystem.Utilities.csproj | 9 ++++ 35 files changed, 505 insertions(+) create mode 100644 TicketingSystem.API/Controllers/TicketController.cs create mode 100644 TicketingSystem.API/Controllers/UserController.cs create mode 100644 TicketingSystem.API/Middlewares/SampleMiddleware.cs create mode 100644 TicketingSystem.API/Program.cs create mode 100644 TicketingSystem.API/TicketingSystem.API.csproj create mode 100644 TicketingSystem.Database/Data/TicketingDbContext.cs create mode 100644 TicketingSystem.Database/Entities/Priority.cs create mode 100644 TicketingSystem.Database/Entities/Role.cs create mode 100644 TicketingSystem.Database/Entities/Status.cs create mode 100644 TicketingSystem.Database/Entities/Ticket.cs create mode 100644 TicketingSystem.Database/Entities/TicketCategory.cs create mode 100644 TicketingSystem.Database/Entities/User.cs create mode 100644 TicketingSystem.Database/ExtensionMethods/Dependencies.cs create mode 100644 TicketingSystem.Database/Implementations/TicketRepository.cs create mode 100644 TicketingSystem.Database/Implementations/UserRepository.cs create mode 100644 TicketingSystem.Database/Interfaces/ITicketRepository.cs create mode 100644 TicketingSystem.Database/Interfaces/IUserRepository.cs create mode 100644 TicketingSystem.Database/TicketingSystem.Database.csproj create mode 100644 TicketingSystem.Services/DTO/ReportDto.cs create mode 100644 TicketingSystem.Services/DTO/TicketDto.cs create mode 100644 TicketingSystem.Services/DTO/UserLoginDto.cs create mode 100644 TicketingSystem.Services/DTO/UserRegisterDto.cs create mode 100644 TicketingSystem.Services/DTO/UserResponseDto.cs create mode 100644 TicketingSystem.Services/Extensions/Dependencies.cs create mode 100644 TicketingSystem.Services/Implementations/TicketService.cs create mode 100644 TicketingSystem.Services/Implementations/UserService.cs create mode 100644 TicketingSystem.Services/Interfaces/ITicketService.cs create mode 100644 TicketingSystem.Services/Interfaces/IUserService.cs create mode 100644 TicketingSystem.Services/TicketingSystem.Services.csproj create mode 100644 TicketingSystem.Utilities/Enums/CategoryEnum.cs create mode 100644 TicketingSystem.Utilities/Enums/PriorityEnum.cs create mode 100644 TicketingSystem.Utilities/Enums/ReportTypeEnum.cs create mode 100644 TicketingSystem.Utilities/Enums/RoleEnum.cs create mode 100644 TicketingSystem.Utilities/Enums/StatusEnum.cs create mode 100644 TicketingSystem.Utilities/TicketingSystem.Utilities.csproj diff --git a/TicketingSystem.API/Controllers/TicketController.cs b/TicketingSystem.API/Controllers/TicketController.cs new file mode 100644 index 0000000..2cbdcf9 --- /dev/null +++ b/TicketingSystem.API/Controllers/TicketController.cs @@ -0,0 +1,21 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +/// <summary> +/// The ITicketService interface defines the contract for ticket management operations in the Ticketing System. +/// It provides methods for creating, retrieving, updating, and searching tickets . +/// Key functionalities include: +/// - Creating new tickets for users +/// - Retrieving tickets associated with a specific user +/// - Updating existing tickets +/// - Searching frequently asked questions (FAQs) +/// - Retrieving all tickets within the system +/// </summary> +namespace TicketingSystem.API.Controllers +{ + [Route("api/[controller]")] + [ApiController] + public class TicketController : ControllerBase + { + } +} diff --git a/TicketingSystem.API/Controllers/UserController.cs b/TicketingSystem.API/Controllers/UserController.cs new file mode 100644 index 0000000..738739e --- /dev/null +++ b/TicketingSystem.API/Controllers/UserController.cs @@ -0,0 +1,20 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +/// <summary> +/// The UserController class handles user-related operations in the Ticketing System API. +/// It provides endpoints for user authentication and registration, as well as for generating reports. +/// Key functionalities include: +/// - Logging in users with authentication and cookie management +/// - Registering new users with validation through a service filter +/// - Logging out users and clearing their authentication cookies +/// - Generating reports for administrators, ensuring only authorized access +/// - Searching frequently asked questions (FAQs) based on a search term +/// </summary> +namespace TicketingSystem.API.Controllers +{ + [Route("api/[controller]")] + [ApiController] + public class UserController : ControllerBase + { + } +} diff --git a/TicketingSystem.API/Middlewares/SampleMiddleware.cs b/TicketingSystem.API/Middlewares/SampleMiddleware.cs new file mode 100644 index 0000000..55c7044 --- /dev/null +++ b/TicketingSystem.API/Middlewares/SampleMiddleware.cs @@ -0,0 +1,10 @@ +using System; + +namespace TicketingSystem.API.Middlewares; +/// <summary> +/// This is a sample Middleware which might include Exceptional Handling (Global Exception Handling) +/// </summary> +public class SampleMiddleware +{ + +} diff --git a/TicketingSystem.API/Program.cs b/TicketingSystem.API/Program.cs new file mode 100644 index 0000000..00ff539 --- /dev/null +++ b/TicketingSystem.API/Program.cs @@ -0,0 +1,44 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +var summaries = new[] +{ + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" +}; + +app.MapGet("/weatherforecast", () => +{ + var forecast = Enumerable.Range(1, 5).Select(index => + new WeatherForecast + ( + DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + Random.Shared.Next(-20, 55), + summaries[Random.Shared.Next(summaries.Length)] + )) + .ToArray(); + return forecast; +}) +.WithName("GetWeatherForecast") +.WithOpenApi(); + +app.Run(); + +record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary) +{ + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); +} diff --git a/TicketingSystem.API/TicketingSystem.API.csproj b/TicketingSystem.API/TicketingSystem.API.csproj new file mode 100644 index 0000000..4c74a3d --- /dev/null +++ b/TicketingSystem.API/TicketingSystem.API.csproj @@ -0,0 +1,18 @@ +<Project Sdk="Microsoft.NET.Sdk.Web"> + + <PropertyGroup> + <TargetFramework>net8.0</TargetFramework> + <Nullable>enable</Nullable> + <ImplicitUsings>enable</ImplicitUsings> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.6" /> + <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\TicketingSystem.Services\TicketingSystem.Services.csproj" /> + </ItemGroup> + +</Project> diff --git a/TicketingSystem.Database/Data/TicketingDbContext.cs b/TicketingSystem.Database/Data/TicketingDbContext.cs new file mode 100644 index 0000000..cc1fc8c --- /dev/null +++ b/TicketingSystem.Database/Data/TicketingDbContext.cs @@ -0,0 +1,13 @@ +using System; +using Microsoft.EntityFrameworkCore; +namespace TicketingSystem.Database.Data; +/// <summary> +/// The TicketSystemDbContext class represents provides access to the +/// various entities within the Ticketing System. It inherits from DbContext and is responsible for +/// configuring the database model, including entity relationships and seeding initial data. +/// </summary> +public class TicketingDbContext : DbContext + +{ + +} diff --git a/TicketingSystem.Database/Entities/Priority.cs b/TicketingSystem.Database/Entities/Priority.cs new file mode 100644 index 0000000..95262f3 --- /dev/null +++ b/TicketingSystem.Database/Entities/Priority.cs @@ -0,0 +1,17 @@ +using System; + +namespace TicketingSystem.Database.Entities; +/// <summary> +/// The Priority class represents a priority level associated with tickets in the Ticketing System. +/// This entity includes properties that define the priority's ID and name, and establishes a relationship +/// with the tickets that share this priority. +/// +/// Properties: +/// - PriorityId: The unique identifier for the priority level. +/// - PriorityName: The name of the priority (e.g., "High", "Medium", "Low"). +/// </summary> + +public class Priority +{ + +} diff --git a/TicketingSystem.Database/Entities/Role.cs b/TicketingSystem.Database/Entities/Role.cs new file mode 100644 index 0000000..c5056b0 --- /dev/null +++ b/TicketingSystem.Database/Entities/Role.cs @@ -0,0 +1,17 @@ +using System; + +namespace TicketingSystem.Database.Entities; +/// <summary> +/// The Role class represents the different user roles within the Ticketing System. +/// Each role is characterized by a unique identifier and a name. This entity also +/// maintains a relationship with the users assigned to this role. +/// +/// Properties: +/// - RoleId: The unique identifier for the role. +/// - RoleName: The name of the role (e.g., "User", "Admin"). +/// </summary> + +public class Role +{ + +} diff --git a/TicketingSystem.Database/Entities/Status.cs b/TicketingSystem.Database/Entities/Status.cs new file mode 100644 index 0000000..d3a9a6a --- /dev/null +++ b/TicketingSystem.Database/Entities/Status.cs @@ -0,0 +1,14 @@ +using System; + +namespace TicketingSystem.Database.Entities; +/// <summary> +/// The Status class represents the various statuses that a ticket can have within the Ticketing System. +/// Properties: +/// - StatusId: The unique identifier for the status. +/// - StatusName: The name of the status (e.g., "New", "Pending", "Resolved"). +/// </summary> + +public class Status +{ + +} diff --git a/TicketingSystem.Database/Entities/Ticket.cs b/TicketingSystem.Database/Entities/Ticket.cs new file mode 100644 index 0000000..00203e7 --- /dev/null +++ b/TicketingSystem.Database/Entities/Ticket.cs @@ -0,0 +1,25 @@ +using System; + +namespace TicketingSystem.Database.Entities; +/// <summary> +/// The Ticket class represents a support ticket within the Ticketing System. +/// +/// Properties: +/// - TicketId: The unique identifier for the ticket. +/// - Description: A textual description of the issue or request related to the ticket. +/// - CategoryId: The identifier for the category to which the ticket belongs. +/// - Category: The associated TicketCategory entity that provides category details. +/// - PriorityId: The identifier for the priority level assigned to the ticket. +/// - Priority: The associated Priority entity that defines the ticket's urgency. +/// - StatusId: The identifier for the current status of the ticket. +/// - Status: The associated Status entity that indicates the ticket's progress. +/// - UserId: The identifier for the user who created the ticket. +/// - User: The associated User entity that represents the ticket creator. +/// - CreatedAt: The date and time when the ticket was created. +/// - UpdatedAt: The date and time when the ticket was last updated. +/// </summary> + +public class Ticket +{ + +} diff --git a/TicketingSystem.Database/Entities/TicketCategory.cs b/TicketingSystem.Database/Entities/TicketCategory.cs new file mode 100644 index 0000000..a26bdc7 --- /dev/null +++ b/TicketingSystem.Database/Entities/TicketCategory.cs @@ -0,0 +1,18 @@ +using System; + +namespace TicketingSystem.Database.Entities; +/// <summary> +/// The TicketCategory class represents the various categories available for support tickets +/// within the Ticketing System. +/// +/// Properties: +/// - CategoryId: The unique identifier for the ticket category. +/// - Name: The name of the category (e.g., "Hardware", "Software"). +/// - Description: A brief description of the category's focus or issues it covers. +/// +/// </summary> + +public class TicketingCategory +{ + +} diff --git a/TicketingSystem.Database/Entities/User.cs b/TicketingSystem.Database/Entities/User.cs new file mode 100644 index 0000000..85db09b --- /dev/null +++ b/TicketingSystem.Database/Entities/User.cs @@ -0,0 +1,18 @@ +using System; + +namespace TicketingSystem.Database.Entities; +/// <summary> +/// The User class represents a system user within the Ticketing System. +/// +/// Properties: +/// - ID: The unique identifier for the user. +/// - UserName: The username chosen by the user for authentication. +/// - Email: The user's email address for communication and account recovery. +/// - PassWord: The user's password for account authentication (consider using a secure method for password storage). +/// +/// </summary> + +public class User +{ + +} diff --git a/TicketingSystem.Database/ExtensionMethods/Dependencies.cs b/TicketingSystem.Database/ExtensionMethods/Dependencies.cs new file mode 100644 index 0000000..235b148 --- /dev/null +++ b/TicketingSystem.Database/ExtensionMethods/Dependencies.cs @@ -0,0 +1,18 @@ + +namespace TicketingSystem.Database.ExtensionMethods; +/// <summary> +/// The DependencyConfiguration class contains extension methods for configuring +/// dependency injection within the Ticketing System application. Specifically, it +/// provides methods to set up database-related services and repositories. +/// +/// Functionality: +/// - DbDependencyConfiguration: An asynchronous extension method that adds the necessary +/// database context and repository services to the provided IServiceCollection. It +/// configures the application to use SQL Server with the specified connection string, +/// and registers the IUserRepository and ITicketRepository for dependency injection. +/// +/// </summary> +public static partial class DependencyConfiguration +{ + +} diff --git a/TicketingSystem.Database/Implementations/TicketRepository.cs b/TicketingSystem.Database/Implementations/TicketRepository.cs new file mode 100644 index 0000000..f6f6dd3 --- /dev/null +++ b/TicketingSystem.Database/Implementations/TicketRepository.cs @@ -0,0 +1,14 @@ +using System; +using TicketingSystem.Database.Interfaces; + +namespace TicketingSystem.Database.Implementations; +/// <summary> +/// The TicketRepository class implements the ITicketRepository interface, providing +/// data access methods for managing tickets within the Ticketing System. This class +/// interacts with the TicketSystemDbContext to execute CRUD operations on the Ticket entity. +/// </summary> + +public class TicketRepository : ITicketRepository +{ + +} diff --git a/TicketingSystem.Database/Implementations/UserRepository.cs b/TicketingSystem.Database/Implementations/UserRepository.cs new file mode 100644 index 0000000..1389c2e --- /dev/null +++ b/TicketingSystem.Database/Implementations/UserRepository.cs @@ -0,0 +1,15 @@ +using System; +using TicketingSystem.Database.Interfaces; + +namespace TicketingSystem.Database.Implementations; +/// <summary> +/// The UserRepository class implements the IUserRepository interface, providing +/// data access methods for managing user-related operations within the Ticketing System. +/// This class interacts with the TicketSystemDbContext to execute various operations +/// related to users, including authentication and user management. +/// </summary> + +public class UserRepository : IUserRepository +{ + +} diff --git a/TicketingSystem.Database/Interfaces/ITicketRepository.cs b/TicketingSystem.Database/Interfaces/ITicketRepository.cs new file mode 100644 index 0000000..f037304 --- /dev/null +++ b/TicketingSystem.Database/Interfaces/ITicketRepository.cs @@ -0,0 +1,11 @@ +using System; + +namespace TicketingSystem.Database.Interfaces; +/// <summary> +/// Provides an interface for interacting with ticket-related data in the database. +/// </summary> + +public interface ITicketRepository +{ + +} diff --git a/TicketingSystem.Database/Interfaces/IUserRepository.cs b/TicketingSystem.Database/Interfaces/IUserRepository.cs new file mode 100644 index 0000000..1d121a5 --- /dev/null +++ b/TicketingSystem.Database/Interfaces/IUserRepository.cs @@ -0,0 +1,10 @@ +using System; + +namespace TicketingSystem.Database.Interfaces; +/// <summary> +/// Provides an interface for interacting with user-related data in the database. +/// </summary> +public interface IUserRepository +{ + +} diff --git a/TicketingSystem.Database/TicketingSystem.Database.csproj b/TicketingSystem.Database/TicketingSystem.Database.csproj new file mode 100644 index 0000000..953daaf --- /dev/null +++ b/TicketingSystem.Database/TicketingSystem.Database.csproj @@ -0,0 +1,18 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net8.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.EntityFrameWorkCore.SqlServer" Version="8.0.10" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.10"> + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> + <PrivateAssets>all</PrivateAssets> + </PackageReference> + </ItemGroup> + + +</Project> diff --git a/TicketingSystem.Services/DTO/ReportDto.cs b/TicketingSystem.Services/DTO/ReportDto.cs new file mode 100644 index 0000000..810428c --- /dev/null +++ b/TicketingSystem.Services/DTO/ReportDto.cs @@ -0,0 +1,8 @@ +using System; + +namespace TicketingSystem.Services.DTO; + +public class ReportDto +{ + +} diff --git a/TicketingSystem.Services/DTO/TicketDto.cs b/TicketingSystem.Services/DTO/TicketDto.cs new file mode 100644 index 0000000..d2e72cb --- /dev/null +++ b/TicketingSystem.Services/DTO/TicketDto.cs @@ -0,0 +1,8 @@ +using System; + +namespace TicketingSystem.Services.DTO; + +public class TicketDto +{ + +} diff --git a/TicketingSystem.Services/DTO/UserLoginDto.cs b/TicketingSystem.Services/DTO/UserLoginDto.cs new file mode 100644 index 0000000..37ae157 --- /dev/null +++ b/TicketingSystem.Services/DTO/UserLoginDto.cs @@ -0,0 +1,8 @@ +using System; + +namespace TicketingSystem.Services.DTO; + +public class UserLoginDto +{ + +} diff --git a/TicketingSystem.Services/DTO/UserRegisterDto.cs b/TicketingSystem.Services/DTO/UserRegisterDto.cs new file mode 100644 index 0000000..94ede01 --- /dev/null +++ b/TicketingSystem.Services/DTO/UserRegisterDto.cs @@ -0,0 +1,8 @@ +using System; + +namespace TicketingSystem.Services.DTO; + +public class UserRegisterDto +{ + +} diff --git a/TicketingSystem.Services/DTO/UserResponseDto.cs b/TicketingSystem.Services/DTO/UserResponseDto.cs new file mode 100644 index 0000000..d18d1d3 --- /dev/null +++ b/TicketingSystem.Services/DTO/UserResponseDto.cs @@ -0,0 +1,8 @@ +using System; + +namespace TicketingSystem.Services.DTO; + +public class UserResponseDto +{ + +} diff --git a/TicketingSystem.Services/Extensions/Dependencies.cs b/TicketingSystem.Services/Extensions/Dependencies.cs new file mode 100644 index 0000000..f09a3a3 --- /dev/null +++ b/TicketingSystem.Services/Extensions/Dependencies.cs @@ -0,0 +1,14 @@ + +namespace TicketingSystem.Database.ExtensionMethods; +/// <summary> +/// The DependencyConfiguration class contains extension methods for configuring +/// dependency injection for service-related components within the Ticketing System. +/// +/// Functionality: +/// - ServicesDependencyConfig: An extension method that adds the required services to the +/// provided IServiceCollection. +/// </summary> +public static partial class DependencyConfiguration +{ + +} diff --git a/TicketingSystem.Services/Implementations/TicketService.cs b/TicketingSystem.Services/Implementations/TicketService.cs new file mode 100644 index 0000000..ad80ddb --- /dev/null +++ b/TicketingSystem.Services/Implementations/TicketService.cs @@ -0,0 +1,16 @@ +using System; +using TicketingSystem.Services.Interfaces; + +namespace TicketingSystem.Services.Implementations; +/// <summary> +/// The TicketService class implements the ITicketService interface, providing +/// business logic and operations related to ticket management within the Ticketing System. +/// It acts as an intermediary between the presentation layer and the data access layer, +/// utilizing repositories for data transformation. +/// +/// </summary> + +public class TicketService : ITicketService +{ + +} diff --git a/TicketingSystem.Services/Implementations/UserService.cs b/TicketingSystem.Services/Implementations/UserService.cs new file mode 100644 index 0000000..88dcfb2 --- /dev/null +++ b/TicketingSystem.Services/Implementations/UserService.cs @@ -0,0 +1,17 @@ +using System; +using TicketingSystem.Services.Interfaces; + +namespace TicketingSystem.Services.Implementations; +/// <summary> +/// The UserService class implements the IUserService interface, providing +/// business logic and operations related to user management and authentication +/// within the Ticketing System. It serves as a bridge between the presentation +/// layer and the data access layer, utilizing repositories and AutoMapper for +/// data transformation. +/// +/// </summary> + +public class UserService : IUserService +{ + +} diff --git a/TicketingSystem.Services/Interfaces/ITicketService.cs b/TicketingSystem.Services/Interfaces/ITicketService.cs new file mode 100644 index 0000000..e164e61 --- /dev/null +++ b/TicketingSystem.Services/Interfaces/ITicketService.cs @@ -0,0 +1,14 @@ +using System; + +namespace TicketingSystem.Services.Interfaces; +/// <summary> +/// The ITicketService interface is used to handle ticket-related +/// operations in the Ticketing System. It outlines the methods available for +/// creating, retrieving, updating, and managing tickets and their associated +/// functionalities. +/// +///</summary> +public interface ITicketService +{ + +} diff --git a/TicketingSystem.Services/Interfaces/IUserService.cs b/TicketingSystem.Services/Interfaces/IUserService.cs new file mode 100644 index 0000000..4a1b331 --- /dev/null +++ b/TicketingSystem.Services/Interfaces/IUserService.cs @@ -0,0 +1,14 @@ +using System; + +namespace TicketingSystem.Services.Interfaces; + +/// <summary> +/// The IUserService interface is used to handle user-related +/// operations in the Ticketing System. It outlines the methods available for +/// user authentication, registration, management, and reporting functionalities. +/// +/// </summary> +public interface IUserService +{ + +} diff --git a/TicketingSystem.Services/TicketingSystem.Services.csproj b/TicketingSystem.Services/TicketingSystem.Services.csproj new file mode 100644 index 0000000..8533412 --- /dev/null +++ b/TicketingSystem.Services/TicketingSystem.Services.csproj @@ -0,0 +1,13 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net8.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + </PropertyGroup> + + <ItemGroup> + <ProjectReference Include="..\TicketingSystem.Database\TicketingSystem.Database.csproj" /> + </ItemGroup> + +</Project> diff --git a/TicketingSystem.Utilities/Enums/CategoryEnum.cs b/TicketingSystem.Utilities/Enums/CategoryEnum.cs new file mode 100644 index 0000000..b173da0 --- /dev/null +++ b/TicketingSystem.Utilities/Enums/CategoryEnum.cs @@ -0,0 +1,12 @@ +namespace TicketingSystem.Utilities; +/// <summary> +/// The CategoryEnum enumeration defines the various categories of tickets +/// within the Ticketing System. Each category is represented by a unique +/// integer value, which facilitates categorization and filtering +/// of tickets. +/// +/// </summary> +public class CategoryEnum +{ + +} diff --git a/TicketingSystem.Utilities/Enums/PriorityEnum.cs b/TicketingSystem.Utilities/Enums/PriorityEnum.cs new file mode 100644 index 0000000..d53f8dc --- /dev/null +++ b/TicketingSystem.Utilities/Enums/PriorityEnum.cs @@ -0,0 +1,8 @@ +namespace TicketingSystem.Utilities; +/// <summary> +/// The PriorityEnum enumeration defines the priority levels for tickets in the Ticketing System. +/// </summary> +public class PriorityEnum +{ + +} diff --git a/TicketingSystem.Utilities/Enums/ReportTypeEnum.cs b/TicketingSystem.Utilities/Enums/ReportTypeEnum.cs new file mode 100644 index 0000000..3dc233c --- /dev/null +++ b/TicketingSystem.Utilities/Enums/ReportTypeEnum.cs @@ -0,0 +1,9 @@ +namespace TicketingSystem.Utilities; +/// <summary> +/// The ReportTypeEnum enumeration defines the different time intervals for report generation +/// within the Ticketing System. +/// </summary> +public class ReportTypeEnum +{ + +} diff --git a/TicketingSystem.Utilities/Enums/RoleEnum.cs b/TicketingSystem.Utilities/Enums/RoleEnum.cs new file mode 100644 index 0000000..567807a --- /dev/null +++ b/TicketingSystem.Utilities/Enums/RoleEnum.cs @@ -0,0 +1,9 @@ +namespace TicketingSystem.Utilities; +/// <summary> +/// The RoleEnum enumeration defines the various user roles within the Ticketing System. +/// </summary> + +public class RoleEnum +{ + +} diff --git a/TicketingSystem.Utilities/Enums/StatusEnum.cs b/TicketingSystem.Utilities/Enums/StatusEnum.cs new file mode 100644 index 0000000..db01617 --- /dev/null +++ b/TicketingSystem.Utilities/Enums/StatusEnum.cs @@ -0,0 +1,9 @@ +namespace TicketingSystem.Utilities; +/// <summary> +/// The StatusEnum enumeration defines the different statuses for tickets in the Ticketing System. +/// </summary> + +public class StatusEnum +{ + +} diff --git a/TicketingSystem.Utilities/TicketingSystem.Utilities.csproj b/TicketingSystem.Utilities/TicketingSystem.Utilities.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/TicketingSystem.Utilities/TicketingSystem.Utilities.csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net8.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + </PropertyGroup> + +</Project> -- GitLab