Skip to content
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

Zrušení SigningRules, zjednodušení logiky #124

Merged
merged 7 commits into from
Apr 9, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -259,3 +259,4 @@ Web/.vscode/launch.json
.vscode
/WebAPI/App_Data
.DS_Store
/Web.Server/appsettings.WebServer.local.json
8 changes: 4 additions & 4 deletions Contracts/Contracts.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="FluentValidation" Version="11.5.2" />
<PackageReference Include="Havit.Blazor.Grpc.Core" Version="1.3.3" />
<PackageReference Include="Havit.Core" Version="2.0.26" />
<PackageReference Include="protobuf-net" Version="3.2.16" />
<PackageReference Include="FluentValidation" Version="11.9.0" />
<PackageReference Include="Havit.Blazor.Grpc.Core" Version="1.5.5" />
<PackageReference Include="Havit.Core" Version="2.0.29" />
<PackageReference Include="protobuf-net" Version="3.2.30" />
<PackageReference Include="protobuf-net.Grpc" Version="1.1.1" />
</ItemGroup>

Expand Down
14 changes: 0 additions & 14 deletions Contracts/ISigningRuleFacade.cs

This file was deleted.

7 changes: 5 additions & 2 deletions Contracts/IStudentSubjectRegistrationFacade.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
namespace MensaGymnazium.IntranetGen3.Contracts;
using MensaGymnazium.IntranetGen3.Contracts.Security;

namespace MensaGymnazium.IntranetGen3.Contracts;

[ApiContract]
public interface IStudentSubjectRegistrationFacade
{
Task<DataFragmentResult<StudentSubjectRegistrationDto>> GetStudentSubjectRegistrationListAsync(DataFragmentRequest<StudentSubjectRegistrationListQueryFilter> studentSubjectRegistrationListRequest, CancellationToken cancellationToken = default);
Task<Dto<int>> CreateRegistrationAsync(StudentSubjectRegistrationDto registrationDto, CancellationToken cancellationToken = default);
Task UpdateRegistrationAsync(StudentSubjectRegistrationDto registrationDto, CancellationToken cancellationToken = default);
Task DeleteRegistrationAsync(Dto<int> registrationIdDto, CancellationToken cancellationToken = default);
Task<DataFragmentResult<StudentSubjectRegistrationDto>> GetStudentSubjectRegistrationListAsync(DataFragmentRequest<StudentSubjectRegistrationListQueryFilter> studentSubjectRegistrationListRequest, CancellationToken cancellationToken = default);
Task<List<StudentSubjectRegistrationDto>> GetAllRegistrationsOfCurrentStudent(); // Xopa: Todo? Change to query? It was too entangled with signing rules, but now it could be done?
}
11 changes: 8 additions & 3 deletions Contracts/ISubjectRegistrationsManagerFacade.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,14 @@
[ApiContract]
public interface ISubjectRegistrationsManagerFacade
{
Task<List<SigningRuleWithRegistrationsDto>> GetCurrentUserSigningRulesWithRegistrationsAsync(Dto<int?> onlySubjectId, CancellationToken cancellationToken = default);
Task<List<SigningRuleStudentRegistrationsDto>> GetCurrentUserSubjectSigningRulesForRegistrationAsync(Dto<int> subjectId, CancellationToken cancellationToken = default);
/// <summary>
/// Returns the users registration for a subject
/// // TODO: Change to query that can be cached inside data store
/// </summary>
/// <param name="subjectId"></param>
/// <param name="cancellationToken"></param>
/// <returns>Always returns a registration. If there is no registration, it returns the DTO with no data set</returns>
Task<StudentSubjectRegistrationDto> GetCurrentUserRegistrationForSubject(Dto<int> subjectId, CancellationToken cancellationToken = default);
Task CancelRegistrationAsync(Dto<int> studentSubjectRegistrationId, CancellationToken cancellationToken = default);
Task CreateRegistrationAsync(StudentSubjectRegistrationCreateDto studentSubjectRegistrationCreateDto, CancellationToken cancellationToken = default);
Task<DataFragmentResult<StudentWithSigningRuleListItemDto>> GetStudentWithSigningRuleListAsync(DataFragmentRequest<StudentWithSigningRuleListQueryFilter> facadeRequest, CancellationToken cancellationToken);
}
13 changes: 0 additions & 13 deletions Contracts/SigningRuleDto.cs

This file was deleted.

6 changes: 0 additions & 6 deletions Contracts/SigningRuleListQueryFilter.cs

This file was deleted.

10 changes: 0 additions & 10 deletions Contracts/SigningRuleReferenceDto.cs

This file was deleted.

6 changes: 0 additions & 6 deletions Contracts/SigningRuleWithRegistrationsDto.cs

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
namespace MensaGymnazium.IntranetGen3.Contracts;

public record SigningRuleStudentRegistrationsDto
public record StudentRegistrationsDto
{
public int Id { get; set; }
public string Name { get; set; }
Expand Down
3 changes: 0 additions & 3 deletions Contracts/StudentSubjectRegistrationCreateDto.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@ namespace MensaGymnazium.IntranetGen3.Contracts;
public record StudentSubjectRegistrationCreateDto
{
public int? SubjectId { get; set; }
public int? SigningRuleId { get; set; }
public StudentRegistrationType? RegistrationType { get; set; }

public virtual void UpdateFrom(StudentSubjectRegistrationDto model)
{
this.SubjectId = model.SubjectId;
this.SigningRuleId = model.SigningRuleId;
this.RegistrationType = model.RegistrationType;
}

Expand All @@ -21,7 +19,6 @@ public class StudentSubjectRegistrationCreateDtoValidator : AbstractValidator<St
public StudentSubjectRegistrationCreateDtoValidator()
{
RuleFor(x => x.SubjectId).NotNull();
RuleFor(x => x.SigningRuleId).NotNull();
RuleFor(x => x.RegistrationType).NotNull();
}
}
Expand Down
1 change: 0 additions & 1 deletion Contracts/StudentSubjectRegistrationDto.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ public class StudentSubjectRegistrationDtoValidator : AbstractValidator<StudentS
public StudentSubjectRegistrationDtoValidator()
{
RuleFor(x => x.SubjectId).NotNull().WithName("Předmět");
RuleFor(x => x.SigningRuleId).NotNull().WithName("Zápisové pravidlo");
RuleFor(x => x.RegistrationType).NotNull().WithName("Typ zápisu");
RuleFor(x => x.StudentId).NotNull().WithName("Student");
}
Expand Down
1 change: 0 additions & 1 deletion Contracts/StudentSubjectRegistrationListQueryFilter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ public record StudentSubjectRegistrationListQueryFilter
{
public int? SubjectId { get; set; }
public int? GradeId { get; set; }
public int? SigningRuleId { get; set; }
public int? StudentId { get; set; }
public StudentRegistrationType? RegistrationType { get; set; }
}
9 changes: 0 additions & 9 deletions Contracts/StudentWithSigningRuleListItemDto.cs

This file was deleted.

10 changes: 0 additions & 10 deletions Contracts/StudentWithSigningRuleListQueryFilter.cs

This file was deleted.

1 change: 0 additions & 1 deletion Contracts/SubjectListQueryFilter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,4 @@ public record SubjectListQueryFilter
public int? SubjectTypeId { get; set; }
public int? SubjectCategoryId { get; set; }
public int? TeacherId { get; set; }
public int? SigningRuleId { get; set; }
}
16 changes: 0 additions & 16 deletions Contracts/_generated/ModelMetadata/SigningRuleMetadata.cs

This file was deleted.

1 change: 1 addition & 0 deletions DataLayer.Tests/DataLayer.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Havit.Core" Version="2.0.29" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.0.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.0.2" />
Expand Down
1 change: 1 addition & 0 deletions DataLayer/DataLayer.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Havit.Core" Version="2.0.29" />
<PackageReference Include="Havit.Data.EntityFrameworkCore.CodeGenerator" Version="2.7.1" />
<PackageReference Include="Havit.Data.EntityFrameworkCore.Patterns" Version="2.7.3" />
<PackageReference Include="Havit.Extensions.DependencyInjection.Abstractions" Version="2.0.5" />
Expand Down
10 changes: 0 additions & 10 deletions DataLayer/Queries/ISigningRuleListQuery.cs

This file was deleted.

10 changes: 0 additions & 10 deletions DataLayer/Queries/IStudentSigningRulesWithRegistrationsQuery.cs

This file was deleted.

11 changes: 0 additions & 11 deletions DataLayer/Queries/IStudentWithSigningRuleListQuery.cs

This file was deleted.

43 changes: 0 additions & 43 deletions DataLayer/Queries/SigningRuleListQuery.cs

This file was deleted.

65 changes: 65 additions & 0 deletions DataLayer/Queries/StudentRegistrationsQuery.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
//using Havit.Data.Patterns.DataLoaders;
//using MensaGymnazium.IntranetGen3.Contracts;
//using MensaGymnazium.IntranetGen3.DataLayer.DataSources;
//using MensaGymnazium.IntranetGen3.Model;
//using MensaGymnazium.IntranetGen3.Model.Security;
//using MensaGymnazium.IntranetGen3.Primitives;

//namespace MensaGymnazium.IntranetGen3.DataLayer.Queries;

//[Service]
//public class StudentRegistrationsQuery : QueryBase<RegistrationsDto>, IStudentRegistrationsQuery
//{
// protected Student Student { get; set; }
// protected Subject SubjectFilter { get; set; }

// protected override IQueryable<RegistrationsDto> Query()
// {
// Contract.Requires<ArgumentException>(Student is not null);

// //var studentNextGrade = ((GradeEntry)this.Student.GradeId).NextGrade();

// //var signingRulesData = signingRuleDataSource.Data
// //.Where(x => x.GradeId == (int)studentNextGrade);

// //if (this.SubjectFilter is not null)
// //{
// // signingRulesData = signingRulesData.Where(sr => this.SubjectFilter.GradeRelations.Select(gr => gr.GradeId).Contains(sr.GradeId));
// // signingRulesData = signingRulesData.Where(sr => sr.SubjectTypeRelations.Any(str => this.SubjectFilter.TypeRelations.Select(tr => tr.SubjectTypeId).Contains(str.SubjectTypeId)));
// // signingRulesData = signingRulesData.Where(sr => sr.SubjectCategoryRelations.Any(scr => scr.SubjectCategoryId == this.SubjectFilter.CategoryId));
// //}



// return signingRulesData.Select(sr => new RegistrationsDto()
// {
// Id = sr.Id,
// GradeId = (GradeEntry)sr.GradeId,
// Name = sr.Name,
// Quantity = sr.Quantity,
// SubjectCategoryIds = sr.SubjectCategoryRelations.Select(scr => scr.SubjectCategoryId).ToList(),
// SubjectTypeIds = sr.SubjectTypeRelations.Select(str => str.SubjectTypeId).ToList(),
// Registrations = sr.RegistrationsWithDeleted.Where(r => (r.StudentId == this.Student.Id) && (r.Deleted == null))
// .Select(ssr => new StudentSubjectRegistrationDto()
// {
// Id = ssr.Id,
// StudentId = ssr.StudentId,
// SigningRuleId = ssr.UsedSigningRuleId,
// SubjectId = ssr.SubjectId,
// RegistrationType = ssr.RegistrationType,
// Created = ssr.Created,
// })
// .ToList()
// });
// }

// public Task<List<RegistrationsDto>> GetDataAsync(Student student, Subject subjectFilter = null, CancellationToken cancellationToken = default)
// {
// Contract.Requires<ArgumentException>(student is not null);

// this.Student = student;
// this.SubjectFilter = subjectFilter;

// return this.SelectAsync(cancellationToken);
// }
//}
Loading
Loading