diff --git a/GlobalExceptions/GlobalExceptions.sln b/GlobalExceptions/GlobalExceptions.sln new file mode 100644 index 0000000..7396d41 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35506.116 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GlobalExceptions", "GlobalExceptions\GlobalExceptions.csproj", "{DACC5DD3-A363-4A33-B169-DAF873F7ADC4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DACC5DD3-A363-4A33-B169-DAF873F7ADC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DACC5DD3-A363-4A33-B169-DAF873F7ADC4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DACC5DD3-A363-4A33-B169-DAF873F7ADC4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DACC5DD3-A363-4A33-B169-DAF873F7ADC4}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/GlobalExceptions/GlobalExceptions/GlobalExceptions.csproj b/GlobalExceptions/GlobalExceptions/GlobalExceptions.csproj new file mode 100644 index 0000000..4ee5476 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/GlobalExceptions.csproj @@ -0,0 +1,21 @@ + + + + net9.0 + enable + enable + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + diff --git a/GlobalExceptions/GlobalExceptions/Migrations/20241205220123_InitialCreate.Designer.cs b/GlobalExceptions/GlobalExceptions/Migrations/20241205220123_InitialCreate.Designer.cs new file mode 100644 index 0000000..72ed9f5 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/Migrations/20241205220123_InitialCreate.Designer.cs @@ -0,0 +1,50 @@ +// +using GlobalExceptions.src.Context; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace GlobalExceptions.Migrations +{ + [DbContext(typeof(StudentDbContext))] + [Migration("20241205220123_InitialCreate")] + partial class InitialCreate + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("GlobalExceptions.src.Modles.Student", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Biography") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Students"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/GlobalExceptions/GlobalExceptions/Migrations/20241205220123_InitialCreate.cs b/GlobalExceptions/GlobalExceptions/Migrations/20241205220123_InitialCreate.cs new file mode 100644 index 0000000..db3c191 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/Migrations/20241205220123_InitialCreate.cs @@ -0,0 +1,35 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace GlobalExceptions.Migrations +{ + /// + public partial class InitialCreate : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Students", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Name = table.Column(type: "nvarchar(max)", nullable: false), + Biography = table.Column(type: "nvarchar(max)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Students", x => x.Id); + }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Students"); + } + } +} diff --git a/GlobalExceptions/GlobalExceptions/Migrations/20241205222045_Update.Designer.cs b/GlobalExceptions/GlobalExceptions/Migrations/20241205222045_Update.Designer.cs new file mode 100644 index 0000000..73fbde1 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/Migrations/20241205222045_Update.Designer.cs @@ -0,0 +1,50 @@ +// +using GlobalExceptions.src.Context; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace GlobalExceptions.Migrations +{ + [DbContext(typeof(StudentDbContext))] + [Migration("20241205222045_Update")] + partial class Update + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("GlobalExceptions.src.Modles.Student", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Biography") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Students"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/GlobalExceptions/GlobalExceptions/Migrations/20241205222045_Update.cs b/GlobalExceptions/GlobalExceptions/Migrations/20241205222045_Update.cs new file mode 100644 index 0000000..179aab1 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/Migrations/20241205222045_Update.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace GlobalExceptions.Migrations +{ + /// + public partial class Update : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/GlobalExceptions/GlobalExceptions/Migrations/StudentDbContextModelSnapshot.cs b/GlobalExceptions/GlobalExceptions/Migrations/StudentDbContextModelSnapshot.cs new file mode 100644 index 0000000..607d2be --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/Migrations/StudentDbContextModelSnapshot.cs @@ -0,0 +1,47 @@ +// +using GlobalExceptions.src.Context; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace GlobalExceptions.Migrations +{ + [DbContext(typeof(StudentDbContext))] + partial class StudentDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("GlobalExceptions.src.Modles.Student", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Biography") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Students"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/GlobalExceptions/GlobalExceptions/Properties/launchSettings.json b/GlobalExceptions/GlobalExceptions/Properties/launchSettings.json new file mode 100644 index 0000000..2a4b46e --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/Properties/launchSettings.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "http://localhost:5083", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "https://localhost:7236;http://localhost:5083", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/GlobalExceptions/GlobalExceptions/appsettings.Development.json b/GlobalExceptions/GlobalExceptions/appsettings.Development.json new file mode 100644 index 0000000..2427c50 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/appsettings.Development.json @@ -0,0 +1,14 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + + "ConnectionStrings": { + "sqlConnection": "Server=localhost;Database=studentDb;Integrated Security=true;TrustServerCertificate=true;" + }, + + "AllowedHosts": "*" +} \ No newline at end of file diff --git a/GlobalExceptions/GlobalExceptions/appsettings.json b/GlobalExceptions/GlobalExceptions/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/GlobalExceptions/GlobalExceptions/src/Context/StudentDbContext.cs b/GlobalExceptions/GlobalExceptions/src/Context/StudentDbContext.cs new file mode 100644 index 0000000..ea5a46f --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/src/Context/StudentDbContext.cs @@ -0,0 +1,13 @@ +using GlobalExceptions.src.Modles; +using Microsoft.EntityFrameworkCore; + +namespace GlobalExceptions.src.Context +{ + public class StudentDbContext : DbContext + { + public StudentDbContext(DbContextOptions options) : base(options) + { + } + public DbSet Students { get; set; } + } +} diff --git a/GlobalExceptions/GlobalExceptions/src/Contracts/ErrorResponse.cs b/GlobalExceptions/GlobalExceptions/src/Contracts/ErrorResponse.cs new file mode 100644 index 0000000..fafa727 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/src/Contracts/ErrorResponse.cs @@ -0,0 +1,9 @@ +namespace GlobalExceptions.src.Contracts +{ + public class ErrorResponse + { + public string Title { get; set; } + public int StatusCode { get; set; } + public string Message { get; set; } + } +} diff --git a/GlobalExceptions/GlobalExceptions/src/Contracts/StudentDto.cs b/GlobalExceptions/GlobalExceptions/src/Contracts/StudentDto.cs new file mode 100644 index 0000000..0032a61 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/src/Contracts/StudentDto.cs @@ -0,0 +1,6 @@ +namespace GlobalExceptions.src.Contracts +{ + public record CreateStudent(string Name, string Biography); + public record UpdateStudent(int Id, string Name, string Biography); + public record StudentDto(int Id, string Name, string Biography); +} diff --git a/GlobalExceptions/GlobalExceptions/src/Controllers/StudentController.cs b/GlobalExceptions/GlobalExceptions/src/Controllers/StudentController.cs new file mode 100644 index 0000000..0996b6f --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/src/Controllers/StudentController.cs @@ -0,0 +1,96 @@ +using GlobalExceptions.src.Contracts; +using GlobalExceptions.src.Service; +using Microsoft.AspNetCore.Mvc; + +namespace GlobalExceptions.src.Controllers +{ + /// + /// Controller for managing student-related operations. + /// + [ApiController] + public class StudentController : ControllerBase + { + private readonly IStudentService _studentService; + + /// + /// Initializes a new instance of the class. + /// + /// The student service. + public StudentController(IStudentService studentService) + { + _studentService = studentService; + } + + /// + /// Gets the list of all students. + /// + /// A list of students. + [HttpGet("api/students")] + public async Task GetStudents() + { + var students = await _studentService.GetStudents(); + return Ok(students); + } + + /// + /// Gets a student by the specified identifier. + /// + /// The student identifier. + /// The student with the specified identifier. + [HttpGet("api/students/{id}")] + public async Task GetStudent(int id) + { + + var student = await _studentService.GetStudent(id); + + if (student == null) + { + throw new Exception($"Student with id: {id} not found"); + + + } + return Ok(student); + } + + /// + /// Creates a new student. + /// + /// The student creation details. + /// The created student. + [HttpPost("api/students")] + public async Task CreateStudent([FromBody] CreateStudent createStudent) + { + var student = await _studentService.CreateStudent(createStudent); + return CreatedAtAction(nameof(GetStudent), new { id = student.Id }, student); + } + + /// + /// Updates an existing student. + /// + /// The student identifier. + /// The student update details. + /// The updated student. + [HttpPut("api/students/{id}")] + public async Task UpdateStudent(int id, [FromBody] UpdateStudent updateStudent) + { + if (id != updateStudent.Id) + { + throw new Exception("The student ID in the URL does not match the student ID in the request body."); + } + var student = await _studentService.UpdateStudent(updateStudent); + return Ok(student); + } + + /// + /// Deletes a student by the specified identifier. + /// + /// The student identifier. + /// The deleted student. + [HttpDelete("api/students/{id}")] + public async Task DeleteStudent(int id) + { + var student = await _studentService.DeleteStudent(id); + return Ok(student); + } + } +} diff --git a/GlobalExceptions/GlobalExceptions/src/Exceptions/GlobalExceptionHandler.cs b/GlobalExceptions/GlobalExceptions/src/Exceptions/GlobalExceptionHandler.cs new file mode 100644 index 0000000..3a12695 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/src/Exceptions/GlobalExceptionHandler.cs @@ -0,0 +1,47 @@ +using GlobalExceptions.src.Contracts; +using Microsoft.AspNetCore.Diagnostics; +using System.Net; + +namespace GlobalExceptions.src.Exceptions +{ + public class GlobalExceptionHandler : IExceptionHandler + { + private readonly ILogger _logger; + + public GlobalExceptionHandler(ILogger logger) + { + _logger = logger; + } + + public async ValueTask TryHandleAsync(HttpContext httpContext, Exception exception, CancellationToken cancellationToken) + { + _logger.LogError(exception, "An unhandled exception occurred."); + var errorResponse = new ErrorResponse + { + Message = exception.Message, + }; + + switch (exception) + { + case BadHttpRequestException: + errorResponse.StatusCode = (int)HttpStatusCode.BadRequest; + errorResponse.Title = exception.GetType().Name; + break; + + + default: + errorResponse.StatusCode = (int)HttpStatusCode.InternalServerError; + errorResponse.Title = "Internal Server Error"; + break; + + + } + + httpContext.Response.StatusCode = errorResponse.StatusCode; + + await httpContext.Response.WriteAsJsonAsync(errorResponse, cancellationToken); + + return true; + } + } +} diff --git a/GlobalExceptions/GlobalExceptions/src/Mapping/MappingProfile.cs b/GlobalExceptions/GlobalExceptions/src/Mapping/MappingProfile.cs new file mode 100644 index 0000000..e330818 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/src/Mapping/MappingProfile.cs @@ -0,0 +1,16 @@ +using AutoMapper; +using GlobalExceptions.src.Contracts; +using GlobalExceptions.src.Modles; + +namespace GlobalExceptions.src.Mapping +{ + public class MappingProfile : Profile + { + public MappingProfile() + { + CreateMap(); + CreateMap(); + CreateMap(); + } + } +} diff --git a/GlobalExceptions/GlobalExceptions/src/Modles/Student.cs b/GlobalExceptions/GlobalExceptions/src/Modles/Student.cs new file mode 100644 index 0000000..acbbb60 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/src/Modles/Student.cs @@ -0,0 +1,10 @@ +namespace GlobalExceptions.src.Modles +{ + public class Student + { + public int Id { get; set; } + public string Name { get; set; } + public string Biography { get; set; } + + } +} diff --git a/GlobalExceptions/GlobalExceptions/src/Program.cs b/GlobalExceptions/GlobalExceptions/src/Program.cs new file mode 100644 index 0000000..b24f578 --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/src/Program.cs @@ -0,0 +1,51 @@ +using GlobalExceptions.src.Context; +using GlobalExceptions.src.Exceptions; +using GlobalExceptions.src.Mapping; +using GlobalExceptions.src.Service; +using Microsoft.EntityFrameworkCore; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi +builder.Services.AddOpenApi(); + +builder.Services.AddProblemDetails(); + +builder.Services.AddExceptionHandler(); + +builder.Services.AddSwaggerGen(c => +{ + c.SwaggerDoc("v1", new() { Title = "GlobalExceptions.src", Version = "v1" }); +}); + + +builder.Services.AddDbContext(options => +{ + options.UseSqlServer(builder.Configuration.GetConnectionString("sqlConnection")); +}); + +builder.Services.AddScoped(); +builder.Services.AddAutoMapper(typeof(MappingProfile).Assembly); + + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.MapOpenApi(); + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); +app.UseExceptionHandler(); + +app.MapControllers(); + +app.Run(); diff --git a/GlobalExceptions/GlobalExceptions/src/Service/IStudentService.cs b/GlobalExceptions/GlobalExceptions/src/Service/IStudentService.cs new file mode 100644 index 0000000..9db818d --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/src/Service/IStudentService.cs @@ -0,0 +1,14 @@ +using GlobalExceptions.src.Contracts; + +namespace GlobalExceptions.src.Service +{ + public interface IStudentService + { + public Task> GetStudents(); + public Task GetStudent(int id); + public Task CreateStudent(CreateStudent createStudent); + public Task UpdateStudent(UpdateStudent updateStudent); + public Task DeleteStudent(int id); + + } +} diff --git a/GlobalExceptions/GlobalExceptions/src/Service/StudentService.cs b/GlobalExceptions/GlobalExceptions/src/Service/StudentService.cs new file mode 100644 index 0000000..fc7d45c --- /dev/null +++ b/GlobalExceptions/GlobalExceptions/src/Service/StudentService.cs @@ -0,0 +1,122 @@ +using AutoMapper; +using GlobalExceptions.src.Context; +using GlobalExceptions.src.Contracts; +using GlobalExceptions.src.Modles; +using Microsoft.EntityFrameworkCore; + +namespace GlobalExceptions.src.Service +{ + /// + /// Service class for managing student operations. + /// + public class StudentService : IStudentService + { + private readonly IMapper _mapper; + private readonly StudentDbContext _context; + private readonly ILogger _logger; + + /// + /// Initializes a new instance of the class. + /// + /// The mapper instance for object mapping. + /// The database context for student operations. + /// The logger instance for logging operations. + public StudentService(IMapper mapper, StudentDbContext context, ILogger logger) + { + _mapper = mapper; + _context = context; + _logger = logger; + } + + /// + /// Creates a new student. + /// + /// The student creation data. + /// The created student data transfer object. + public async Task CreateStudent(CreateStudent createStudent) + { + var student = _mapper.Map(createStudent); + await _context.Students.AddAsync(student); + await _context.SaveChangesAsync(); + + return _mapper.Map(student); + } + + /// + /// Gets a student by ID. + /// + /// The student ID. + /// The student data transfer object. + /// Thrown when the student is not found. + public async Task GetStudent(int id) + { + var student = await _context.Students.FindAsync(id); + if (student == null) + { + _logger.LogError($"Student with id: {id} not found"); + throw new Exception($"Student with id: {id} not found"); + } + + _logger.LogInformation($"Student with id: {id} found"); + return _mapper.Map(student); + } + + /// + /// Gets all students. + /// + /// A collection of student data transfer objects. + public async Task> GetStudents() + { + var students = await _context.Students.ToListAsync(); + + if (students == null || !students.Any()) + { + _logger.LogError("No students found"); + return Enumerable.Empty(); + } + + _logger.LogInformation("Students found"); + return _mapper.Map>(students); + } + + /// + /// Updates an existing student. + /// + /// The student update data. + /// The updated student data transfer object. + /// Thrown when the student is not found. + public async Task UpdateStudent(UpdateStudent updateStudent) + { + var student = await _context.Students.FindAsync(updateStudent.Id); + if (student == null) + { + _logger.LogError($"Student with id: {updateStudent.Id} not found"); + throw new Exception($"Student with id: {updateStudent.Id} not found"); + } + student.Name = updateStudent.Name; + student.Biography = updateStudent.Biography; + _context.Students.Update(student); + await _context.SaveChangesAsync(); + return _mapper.Map(student); + } + + /// + /// Deletes a student by ID. + /// + /// The student ID. + /// The deleted student data transfer object. + /// Thrown when the student is not found. + public async Task DeleteStudent(int id) + { + var student = await _context.Students.FindAsync(id); + if (student == null) + { + _logger.LogError($"Student with id: {id} not found"); + throw new Exception($"Student with id: {id} not found"); + } + _context.Students.Remove(student); + await _context.SaveChangesAsync(); + return _mapper.Map(student); + } + } +} diff --git a/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.metadata.v9.bin b/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.metadata.v9.bin index 28b1639..9e560c4 100644 Binary files a/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.metadata.v9.bin and b/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.metadata.v9.bin differ diff --git a/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.projects.v9.bin b/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.projects.v9.bin index 965e5d7..f40e74d 100644 Binary files a/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.projects.v9.bin and b/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.projects.v9.bin differ diff --git a/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.strings.v9.bin b/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.strings.v9.bin index 249c221..4b237d6 100644 Binary files a/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.strings.v9.bin and b/dotnet9-crash-course/.vs/ProjectEvaluation/dotnet9-crash-course.strings.v9.bin differ diff --git a/dotnet9-crash-course/.vs/dotnet9-crash-course/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm b/dotnet9-crash-course/.vs/dotnet9-crash-course/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm index 3ac6c96..8922f59 100644 Binary files a/dotnet9-crash-course/.vs/dotnet9-crash-course/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm and b/dotnet9-crash-course/.vs/dotnet9-crash-course/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm differ diff --git a/dotnet9-crash-course/.vs/dotnet9-crash-course/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal b/dotnet9-crash-course/.vs/dotnet9-crash-course/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal index ab67829..ddee35f 100644 Binary files a/dotnet9-crash-course/.vs/dotnet9-crash-course/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal and b/dotnet9-crash-course/.vs/dotnet9-crash-course/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal differ diff --git a/dotnet9-crash-course/.vs/dotnet9-crash-course/DesignTimeBuild/.dtbcache.v2 b/dotnet9-crash-course/.vs/dotnet9-crash-course/DesignTimeBuild/.dtbcache.v2 index 0e2fb37..47de23c 100644 Binary files a/dotnet9-crash-course/.vs/dotnet9-crash-course/DesignTimeBuild/.dtbcache.v2 and b/dotnet9-crash-course/.vs/dotnet9-crash-course/DesignTimeBuild/.dtbcache.v2 differ diff --git a/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/4465114a-863c-4e4a-b8df-46547689ca36.vsidx b/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/4465114a-863c-4e4a-b8df-46547689ca36.vsidx deleted file mode 100644 index b84159a..0000000 Binary files a/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/4465114a-863c-4e4a-b8df-46547689ca36.vsidx and /dev/null differ diff --git a/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/5c2d16ee-94d6-42d5-bbef-5bb62a144f9f.vsidx b/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/5c2d16ee-94d6-42d5-bbef-5bb62a144f9f.vsidx deleted file mode 100644 index 98feb46..0000000 Binary files a/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/5c2d16ee-94d6-42d5-bbef-5bb62a144f9f.vsidx and /dev/null differ diff --git a/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/660ee5e5-105d-418e-a22a-ee726377b085.vsidx b/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/660ee5e5-105d-418e-a22a-ee726377b085.vsidx deleted file mode 100644 index 94619b5..0000000 Binary files a/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/660ee5e5-105d-418e-a22a-ee726377b085.vsidx and /dev/null differ diff --git a/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/b2d01685-02c5-4d34-867c-5a3fbbed55cd.vsidx b/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/b2d01685-02c5-4d34-867c-5a3fbbed55cd.vsidx deleted file mode 100644 index 9bcb004..0000000 Binary files a/dotnet9-crash-course/.vs/dotnet9-crash-course/FileContentIndex/b2d01685-02c5-4d34-867c-5a3fbbed55cd.vsidx and /dev/null differ diff --git a/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/.suo b/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/.suo index 5fe1c65..5d38354 100644 Binary files a/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/.suo and b/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/.suo differ diff --git a/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/DocumentLayout.backup.json b/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/DocumentLayout.backup.json index fef619b..c718ab2 100644 --- a/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/DocumentLayout.backup.json +++ b/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/DocumentLayout.backup.json @@ -78,8 +78,8 @@ "Title": "ProductController.cs", "DocumentMoniker": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\Controllers\\ProductController.cs", "RelativeDocumentMoniker": "dotnet9-crash-course\\Controllers\\ProductController.cs", - "ToolTip": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\Controllers\\ProductController.cs*", - "RelativeToolTip": "dotnet9-crash-course\\Controllers\\ProductController.cs*", + "ToolTip": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\Controllers\\ProductController.cs", + "RelativeToolTip": "dotnet9-crash-course\\Controllers\\ProductController.cs", "ViewState": "AgIAAEMAAAAAAAAAAADwv2UAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-11-30T21:57:35.427Z", @@ -117,8 +117,8 @@ "Title": "ProductService.cs", "DocumentMoniker": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\src\\Service\\ProductService.cs", "RelativeDocumentMoniker": "dotnet9-crash-course\\src\\Service\\ProductService.cs", - "ToolTip": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\src\\Service\\ProductService.cs*", - "RelativeToolTip": "dotnet9-crash-course\\src\\Service\\ProductService.cs*", + "ToolTip": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\src\\Service\\ProductService.cs", + "RelativeToolTip": "dotnet9-crash-course\\src\\Service\\ProductService.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAKwAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-11-30T21:23:09.892Z", @@ -158,7 +158,7 @@ "RelativeDocumentMoniker": "dotnet9-crash-course\\src\\Domain\\Contract\\ProductsContracts.cs", "ToolTip": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\src\\Domain\\Contract\\ProductsContracts.cs", "RelativeToolTip": "dotnet9-crash-course\\src\\Domain\\Contract\\ProductsContracts.cs", - "ViewState": "AgIAABAAAAAAAAAAAAAQwBYAAAAWAAAAAAAAAA==", + "ViewState": "AgIAACYAAAAAAAAAAAAowBYAAAAWAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-11-30T21:07:34.653Z", "EditorCaption": "" diff --git a/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/DocumentLayout.json b/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/DocumentLayout.json index c718ab2..0cadfd0 100644 --- a/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/DocumentLayout.json +++ b/dotnet9-crash-course/.vs/dotnet9-crash-course/v17/DocumentLayout.json @@ -2,6 +2,10 @@ "Version": 1, "WorkspaceRootPath": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\", "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{5DE802E3-7D15-481C-B4A5-22A65793D9CA}|dotnet9-crash-course\\dotnet9-crash-course.csproj|d:\\youtube_blog_codes\\clifftechyoutube\\dotnet9-crash-course\\dotnet9-crash-course\\controllers\\productcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{5DE802E3-7D15-481C-B4A5-22A65793D9CA}|dotnet9-crash-course\\dotnet9-crash-course.csproj|solutionrelative:dotnet9-crash-course\\controllers\\productcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{5DE802E3-7D15-481C-B4A5-22A65793D9CA}|dotnet9-crash-course\\dotnet9-crash-course.csproj|d:\\youtube_blog_codes\\clifftechyoutube\\dotnet9-crash-course\\dotnet9-crash-course\\src\\domain\\contract\\productscontracts.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{5DE802E3-7D15-481C-B4A5-22A65793D9CA}|dotnet9-crash-course\\dotnet9-crash-course.csproj|solutionrelative:dotnet9-crash-course\\src\\domain\\contract\\productscontracts.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -18,10 +22,6 @@ "AbsoluteMoniker": "D:0:0:{5DE802E3-7D15-481C-B4A5-22A65793D9CA}|dotnet9-crash-course\\dotnet9-crash-course.csproj|d:\\youtube_blog_codes\\clifftechyoutube\\dotnet9-crash-course\\dotnet9-crash-course\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{5DE802E3-7D15-481C-B4A5-22A65793D9CA}|dotnet9-crash-course\\dotnet9-crash-course.csproj|solutionrelative:dotnet9-crash-course\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{5DE802E3-7D15-481C-B4A5-22A65793D9CA}|dotnet9-crash-course\\dotnet9-crash-course.csproj|d:\\youtube_blog_codes\\clifftechyoutube\\dotnet9-crash-course\\dotnet9-crash-course\\controllers\\productcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{5DE802E3-7D15-481C-B4A5-22A65793D9CA}|dotnet9-crash-course\\dotnet9-crash-course.csproj|solutionrelative:dotnet9-crash-course\\controllers\\productcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{5DE802E3-7D15-481C-B4A5-22A65793D9CA}|dotnet9-crash-course\\dotnet9-crash-course.csproj|d:\\youtube_blog_codes\\clifftechyoutube\\dotnet9-crash-course\\dotnet9-crash-course\\src\\infrastructure\\exceptions\\globalexceptionhandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{5DE802E3-7D15-481C-B4A5-22A65793D9CA}|dotnet9-crash-course\\dotnet9-crash-course.csproj|solutionrelative:dotnet9-crash-course\\src\\infrastructure\\exceptions\\globalexceptionhandler.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -70,17 +70,17 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 6, + "SelectedChildIndex": 0, "Children": [ { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 0, "Title": "ProductController.cs", "DocumentMoniker": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\Controllers\\ProductController.cs", "RelativeDocumentMoniker": "dotnet9-crash-course\\Controllers\\ProductController.cs", "ToolTip": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\Controllers\\ProductController.cs", "RelativeToolTip": "dotnet9-crash-course\\Controllers\\ProductController.cs", - "ViewState": "AgIAAEMAAAAAAAAAAADwv2UAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAGUAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-11-30T21:57:35.427Z", "EditorCaption": "" @@ -95,12 +95,11 @@ "RelativeToolTip": "dotnet9-crash-course\\appsettings.Development.json", "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAABAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", - "WhenOpened": "2024-11-30T21:56:21.335Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:56:21.335Z" }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 3, "Title": "CreateProductRequestValidator.cs", "DocumentMoniker": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\src\\Domain\\Validators\\CreateProductRequestValidator.cs", "RelativeDocumentMoniker": "dotnet9-crash-course\\src\\Domain\\Validators\\CreateProductRequestValidator.cs", @@ -108,8 +107,7 @@ "RelativeToolTip": "dotnet9-crash-course\\src\\Domain\\Validators\\CreateProductRequestValidator.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-30T21:42:36.977Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:42:36.977Z" }, { "$type": "Document", @@ -121,8 +119,7 @@ "RelativeToolTip": "dotnet9-crash-course\\src\\Service\\ProductService.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAKwAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-30T21:23:09.892Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:23:09.892Z" }, { "$type": "Document", @@ -134,12 +131,11 @@ "RelativeToolTip": "dotnet9-crash-course\\src\\Service\\IProductService.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAZAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-30T21:19:00.814Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:19:00.814Z" }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 4, "Title": "Program.cs", "DocumentMoniker": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\Program.cs", "RelativeDocumentMoniker": "dotnet9-crash-course\\Program.cs", @@ -147,25 +143,24 @@ "RelativeToolTip": "dotnet9-crash-course\\Program.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAEUAAAANAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-30T20:56:16.197Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T20:56:16.197Z" }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 1, "Title": "ProductsContracts.cs", "DocumentMoniker": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\src\\Domain\\Contract\\ProductsContracts.cs", "RelativeDocumentMoniker": "dotnet9-crash-course\\src\\Domain\\Contract\\ProductsContracts.cs", "ToolTip": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\src\\Domain\\Contract\\ProductsContracts.cs", "RelativeToolTip": "dotnet9-crash-course\\src\\Domain\\Contract\\ProductsContracts.cs", - "ViewState": "AgIAACYAAAAAAAAAAAAowBYAAAAWAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAADIAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-11-30T21:07:34.653Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 2, "Title": "ErrorResponse.cs", "DocumentMoniker": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\src\\Domain\\Contract\\ErrorResponse.cs", "RelativeDocumentMoniker": "dotnet9-crash-course\\src\\Domain\\Contract\\ErrorResponse.cs", @@ -173,8 +168,7 @@ "RelativeToolTip": "dotnet9-crash-course\\src\\Domain\\Contract\\ErrorResponse.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-30T21:06:19.699Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:06:19.699Z" }, { "$type": "Document", @@ -186,8 +180,7 @@ "RelativeToolTip": "dotnet9-crash-course\\src\\Infrastructure\\Exceptions\\GlobalExceptionHandler.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAA7AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-30T21:45:28.385Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:45:28.385Z" }, { "$type": "Document", @@ -199,8 +192,7 @@ "RelativeToolTip": "dotnet9-crash-course\\src\\Domain\\Validators\\UpdateProductRequestValidator.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAABMAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-30T21:44:12.926Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:44:12.926Z" }, { "$type": "Document", @@ -212,8 +204,7 @@ "RelativeToolTip": "dotnet9-crash-course\\appsettings.json", "ViewState": "AgIAAAAAAAAAAAAAAAAAAAIAAAAOAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", - "WhenOpened": "2024-11-30T21:02:53.877Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:02:53.877Z" }, { "$type": "Document", @@ -225,8 +216,7 @@ "RelativeToolTip": "dotnet9-crash-course\\src\\Infrastructure\\Context\\ProductDbContext.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-30T21:16:34.534Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:16:34.534Z" }, { "$type": "Document", @@ -238,8 +228,7 @@ "RelativeToolTip": "dotnet9-crash-course\\src\\Infrastructure\\Mapping\\MappingProfile.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAA2AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-30T21:11:54.398Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:11:54.398Z" }, { "$type": "Document", @@ -251,21 +240,19 @@ "RelativeToolTip": "dotnet9-crash-course\\src\\Domain\\Entities\\Product.cs", "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAZAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-11-30T21:04:17.242Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:04:17.242Z" }, { "$type": "Document", "DocumentIndex": 14, - "Title": "dotnet9-crash-course", + "Title": "dotnet9-crash-course.csproj", "DocumentMoniker": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\dotnet9-crash-course.csproj", "RelativeDocumentMoniker": "dotnet9-crash-course\\dotnet9-crash-course.csproj", "ToolTip": "D:\\YouTube_blog_Codes\\CliffTechYouTube\\dotnet9-crash-course\\dotnet9-crash-course\\dotnet9-crash-course.csproj", "RelativeToolTip": "dotnet9-crash-course\\dotnet9-crash-course.csproj", "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", - "WhenOpened": "2024-11-30T21:00:40.013Z", - "EditorCaption": "" + "WhenOpened": "2024-11-30T21:00:40.013Z" } ] } diff --git a/dotnet9-crash-course/dotnet9-crash-course/obj/Debug/net9.0/dotnet9-crash-course.AssemblyInfo.cs b/dotnet9-crash-course/dotnet9-crash-course/obj/Debug/net9.0/dotnet9-crash-course.AssemblyInfo.cs index d3613b6..8687451 100644 --- a/dotnet9-crash-course/dotnet9-crash-course/obj/Debug/net9.0/dotnet9-crash-course.AssemblyInfo.cs +++ b/dotnet9-crash-course/dotnet9-crash-course/obj/Debug/net9.0/dotnet9-crash-course.AssemblyInfo.cs @@ -14,7 +14,7 @@ [assembly: System.Reflection.AssemblyCompanyAttribute("dotnet9-crash-course")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7da3890b85e78ec7fed99b1b12a8e7c0cc739385")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1c6fb48ef143289185c504f9d6a727d50a87bcda")] [assembly: System.Reflection.AssemblyProductAttribute("dotnet9-crash-course")] [assembly: System.Reflection.AssemblyTitleAttribute("dotnet9-crash-course")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/dotnet9-crash-course/dotnet9-crash-course/obj/Debug/net9.0/dotnet9-crash-course.AssemblyInfoInputs.cache b/dotnet9-crash-course/dotnet9-crash-course/obj/Debug/net9.0/dotnet9-crash-course.AssemblyInfoInputs.cache index ecd5807..a260aa2 100644 --- a/dotnet9-crash-course/dotnet9-crash-course/obj/Debug/net9.0/dotnet9-crash-course.AssemblyInfoInputs.cache +++ b/dotnet9-crash-course/dotnet9-crash-course/obj/Debug/net9.0/dotnet9-crash-course.AssemblyInfoInputs.cache @@ -1 +1 @@ -2036230e7d9ee8f52bd5efe8b3d1acec1ca9b8091f383805f2a8ccf5663d6d51 +8c02b8144d78d6bdb4e126dd1af9370eada6155fe8258b1e60539c10eb2eae1c